Випуск 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

Додати коментар або відгук