Нова версія cppcheck 2.6 вже вийшла, і це її новини

Випуск версія аналізатора статичного коду cppcheck 2.6Що дозволяє виявляти різного роду помилки в коді C та C ++навіть при використанні нестандартного синтаксису, характерного для вбудованих систем.

Забезпечується колекція плагінів, за допомогою яких забезпечується інтеграція cppcheck з різними системами розробки, безперервної інтеграції та систем тестування, а також такі функції, як перевірка відповідності коду стилю кодування.

Щоб проаналізувати код, Ви можете використовувати як власний синтаксичний аналізатор, так і зовнішній синтаксичний аналізатор Clang. Він також містить скрипт donate-cpu.py для надання локальних ресурсів для спільної роботи з перегляду коду для пакетів Debian.

Розвиток cppcheck зосереджується на виявленні проблем, пов'язаних з невизначеною поведінкою а також використання конструкцій, небезпечних з точки зору безпеки.

Метою є також мінімізація хибнопозитивних результатів. Серед ідентифікованих проблем: вказівники на неіснуючі об’єкти, поділ на нуль, переповнення цілих чисел, неправильні операції зсуву бітів, неправильне перетворення, проблеми з пам’яттю, неправильне використання STL, розмежування нульових покажчиків, застосування перевірок після реального доступу до буфера , переповнюючи межі буфера, використовуючи неініціалізовані змінні.

Основні нові можливості cppcheck 2.6

У цій новій версії sми додали різні перевірки до ядра синтаксичного аналізатора, серед яких виділяється перевірка відсутності декларації повернення в тілі функції, а також перекриття записів даних, невизначених визначень поведінки, а також перевірка порівняного значення поза діапазоном представлення значення типу.

Ще одна новинка, яка виділяється, - це оптимізація копіювання не застосовується до повернення std :: move (local);, а також додано підтримку для відображення діагностичних повідомлень різними кольорами для платформ Unix та тегу бібліотеки тепер може містити тег для розумних покажчиків, які мають унікальні властивості. Тепер для таких типів розумних покажчиків видається попередження про висячі посилання.

Крім того, Елементи управління Misra C 2012 були повністю впроваджені, включаючи поправку 1 та поправку 2, за винятком правил 1.1, 1.2 та 17.3. Компілятор повинен виконувати перевірки 1.1 та 1.2. Компілятор типу GCC може перевірити 17.3.

З інших змін, що виділяються цієї нової версії:

  • Файл не можна відкрити одночасно для читання та запису в різних потоках;
  • Додано символічний аналіз для ValueFlow. При обчисленні різниці між двома невідомими змінними використовується проста дельта;
  • Правила, що використовуються для списку маркерів "define", також можуть відповідати #include;
  • Тег бібліотеки тепер може містити тег і, отже, безкоштовні функції, які можуть приймати такі контейнери, як std :: size, std :: empty, std :: begin, std :: end тощо. ви можете вказати виклик або дію для контейнерів;
  • Виправлені проблеми з обробкою параметра –cppcheck-build-dir;
    htmlreport тепер може друкувати інформацію про автора (за допомогою git обвинувачення);
  • Розширене видавання попереджень щодо змінних, які не є постійними, але можуть стати постійними;
  • Виправлено накопичені помилки та недоліки аналізатора.

Нарешті, якщо вам цікаво дізнатися більше про цю нову версію, ви можете проконсультуватися деталі у наступному посиланні.

Як встановити cppcheck на Linux?

Для тих, хто зацікавлений у можливості встановити cppcheck на свій дистрибутив Linux, вони можуть слідувати інструкціям, якими ми поділимось нижче.

Якщо ви є користувачем Debian або будь -яким іншим дистрибутивом, заснованим або отриманим з нього, таким як Deepin або Ubuntu, ви можете встановити безпосередньо з терміналу, ввівши таку команду:

sudo apt-get install cppcheck

Тепер для тих, хто є користувачами Fedora, і тих, хто з нього походить, вони можуть виконати інсталяцію, ввівши таку команду:

sudo yum instalar cppcheck

Або для тих, хто є користувачем Arch Linux або будь -якого іншого похідного від нього, вони можуть встановити за допомогою такої команди:

sudo pacman -S cppcheck


Зміст статті відповідає нашим принципам редакційна етика. Щоб повідомити про помилку, натисніть тут.

Будьте першим, щоб коментувати

Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: Мігель Анхель Гатон
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.