Выпуск cppcheck 2.7, статычнага аналізатара кода для моў C++ і З

Выйшла новая версія статычнага аналізатара кода cppcheck 2.7, які дазваляе выяўляць розныя класы памылак у кодзе на мовах Сі і Сі++, у тым ліку пры выкарыстанні нестандартнага сінтаксісу, тыповага для ўбудавальных сістэм. Прадастаўляецца калекцыя плагінаў, праз якія забяспечана інтэграцыя cppcheck з рознымі сістэмамі распрацоўкі, бесперапыннай інтэграцыі і тэсціравання, а таксама прадастаўлены такія магчымасці як праверка адпаведнасці кода стылю афармлення кода. Для разбору кода можа ўжывацца як уласны парсер, так і вонкавы парсер ад Clang. У склад таксама ўваходзіць скрыпт donate-cpu.py для падавання лакальных рэсурсаў для выканання працы па сумеснай праверцы кода пакетаў Debian. Зыходныя тэксты праекту распаўсюджваюцца пад ліцэнзіяй GPLv3.

Развіццё cppcheck засяроджана на выяўленні праблем, злучаных з нявызначанымі паводзінамі і ўжываннем канструкцый, небяспечных з пункта гледжання бяспекі. Мэтай таксама з'яўляецца мінімізацыя ілжывых спрацоўванняў. Сярод выяўленых праблем: паказальнікі на неіснуючыя аб'екты, дзяленні на нуль, цэлалікавыя перапаўненні, некарэктныя аперацыі бітавага зруху, некарэктныя пераўтварэнні, праблемы пры працы з памяццю, некарэктнае выкарыстанне STL, разнайменне нулявых паказальнікаў, ужыванне праверак пасля фактычнага звароту да буфера, выхад за межы буфераў , выкарыстанне неініцыялізаваных зменных.

Паралельна шведскай фірмай Cppcheck Solutions AB распрацоўваецца пашыраная версія Cppcheck Premium, якая забяспечвае аналіз наяўнасці бясконцых цыклаў, палепшаны пошук неініцыялізаваных зменных і пашыраны аналіз перапаўнення буфераў.

У новай версіі:

  • Дададзена падтрымка ўяўленняў (view) кантэйнераў - у тэг бібліятэкі дададзены атрыбут view, які паказвае, што клас з'яўляецца прадстаўленнем. Код аналізу часу жыцця абноўлены для выкарыстання дадзенага атрыбуту пры пошуку "вісячых" кантэйнераў;
  • Палепшаны праверкі;
  • Выпраўлены назапашаныя памылкі і ўхіленыя недапрацоўкі аналізатара.

Крыніца: opennet.ru

Дадаць каментар