C++ және C тілдеріне арналған статикалық код анализаторы cppcheck 2.7 шығарылымы

Статикалық код анализаторының cppcheck 2.7 жаңа нұсқасы шығарылды, ол C және C++ тілдеріндегі кодтағы қателердің әртүрлі сыныптарын анықтауға мүмкіндік береді, соның ішінде ендірілген жүйелерге тән стандартты емес синтаксисті пайдалану кезінде. Плагиндер жинағы берілген, ол арқылы cppcheck әртүрлі әзірлеу, үздіксіз интеграция және тестілеу жүйелерімен біріктірілген, сонымен қатар код стиліне код сәйкестігін тексеру сияқты мүмкіндіктерді қамтамасыз етеді. Кодты талдау үшін өзіңіздің жеке талдауышыңызды немесе Clang бағдарламасынан сыртқы талдау құралын пайдалануға болады. Ол сондай-ақ Debian пакеттері үшін бірлескен кодты тексеру жұмысын орындау үшін жергілікті ресурстарды қамтамасыз ету үшін donate-cpu.py сценарийін қамтиды. Жобаның бастапқы коды GPLv3 лицензиясы бойынша таратылады.

cppcheck дамуы анықталмаған мінез-құлықпен және қауіпсіздік тұрғысынан қауіпті конструкцияларды пайдаланумен байланысты мәселелерді анықтауға бағытталған. Мақсат - жалған позитивтерді азайту. Анықталған мәселелердің ішінде: жоқ нысандарға көрсеткіштер, нөлге бөлу, бүтін сандардың асып кетуі, биттерді дұрыс емес ауыстыру операциялары, дұрыс емес түрлендірулер, жадпен жұмыс істеу кезіндегі мәселелер, STL дұрыс пайдаланбау, нөлдік көрсеткішті жою, нақты қол жеткізуден кейін тексерулерді пайдалану. буферге, буфердің асып кетуі, инициализацияланбаған айнымалыларды пайдалану.

Сонымен қатар, Cppcheck Solutions AB швед компаниясы шексіз циклдардың болуын талдауды, инициализацияланбаған айнымалыларды іздеуді жақсартуды және буфердің толып кетуін кеңейтілген талдауды қамтамасыз ететін Cppcheck Premium кеңейтілген нұсқасын әзірлеуде.

Жаңа нұсқада:

  • Контейнерлердің көріністеріне қолдау қосылды - сыныптың көрініс екенін көрсететін көрініс төлсипаты кітапхана тегіне қосылды. Өмірлік талдау коды салбырап тұрған контейнерлерді іздеу кезінде осы төлсипатты пайдалану үшін жаңартылды;
  • Жақсартылған тексерулер;
  • Жиналған қателер түзетіліп, анализатордағы кемшіліктер жойылды.

Ақпарат көзі: opennet.ru

пікір қалдыру