Новая версия cppcheck 2.6 уже вышла и это ее новости

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

Предоставляется набор плагинов, с помощью которых обеспечивается интеграция cppcheck с различными системами разработки, непрерывной интеграции и тестирования, а также такие функции, как проверка соответствия кода стилю кодирования.

Чтобы проанализировать код, вы можете использовать как собственный парсер, так и внешний парсер Clang. Он также включает скрипт donate-cpu.py для предоставления локальных ресурсов для совместной работы над кодом для пакетов Debian.

Развитие cppcheck фокусируется на выявлении проблем, связанных с неопределенным поведением и использование конструкций, опасных с точки зрения безопасности.

Также цель состоит в том, чтобы свести к минимуму ложные срабатывания.. Среди выявленных проблем: указатели на несуществующие объекты, деление на ноль, целочисленные переполнения, неправильные операции битового сдвига, неправильные преобразования, проблемы с памятью, неправильное использование STL, разыменование нулевых указателей, применение проверок после реального доступа к буферу, выход за пределы буфера с использованием неинициализированных переменных.

Основные новые возможности cppcheck 2.6

В этой новой версии sМы добавили различные проверки в ядро ​​парсера, среди которых выделяется проверка отсутствия декларации возврата в теле функции, а также проверка перекрывающихся записей данных, неопределенных определений поведения, а также проверка сравниваемого значения вне диапазона представления значение типа.

Еще одна выделяющаяся новинка - это оптимизация копирования не применяется к return std :: move (local);, плюс была добавлена ​​поддержка отображения диагностических сообщений разными цветами для платформ Unix и что тег библиотеки теперь может содержать тег для умных указателей с уникальным свойством. Для этого типа интеллектуальных указателей теперь выдается предупреждение о зависшей ссылке.

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

Из других изменений, которые выделяются этой новой версии:

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

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

Как установить 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. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.