LINUX.ORG.RU

Проект Cppcheck собирает средства для реализации улучшений

 ,

Проект Cppcheck собирает средства для реализации улучшений

2

4

Разработчик Cppcheck (Daniel Marjamäki) собирается добавить возможность верификации ПО на C и C++ в свой статический анализатор.

Верификация ПО в Cppcheck

В режиме «верификации» Cppcheck будет выдавать предупреждение, если не удастся подтвердить, что код безопасный, однако это может приводить к шуму (множественным предупреждениям).

Планы реализации

Режим верификации будет реализован последовательно. На первом этапе работа будет сконцентрирована над проверкой «деление на ноль». Это относительно простая проверка. Каждая функция будет проверяться отдельно. При этом предполагается, что все входные данные могут иметь произвольное значение. Проверки других типов неопределённого поведения будут добавлены позже. Также планируется улучшить синтаксический анализ C и C++.

Ускорение разработки

Цель сбора средств на Kickstarter — ускорение разработки режима верификации. Планируется добавить данную возможность в любом случае, но работа может занять больше времени, если средства не будут собраны. Если же средства будут собраны то Даниель сможет взять отпуск на основной работе, чтобы полностью посвятить своё рабочее время проекту cppcheck.

Цели проекта

  • Устранение ложноотрицательных срабатываний тестов деления на ноль в Juliet и ITC.

  • Исправление ложноположительного срабатывания (см. BUG#9402).

  • Улучшение анализатора C++.

>>> Подробности на Kickstarter



Проверено: a1batross ()

Ответ на: комментарий от anonymous

Оно перебирает все возможные последовательности выполнения в рантайме.

бггг. это пять.

Рассмотрим простой пример:

char *str = foo();
if (str == '\0')

да, давайте рассмотрим простой пример. ты этот код в годболт скопипастил? и что получилось?

anonymous
()
Ответ на: комментарий от jtad

Он с самого начала требует телефон и мыло что не удивительно, ведь он использует данные твоей карты. <…> Так было всегда

Я тоже зарегистрирован в пейпале без телефона. Когда я регистрировался, телефон не требовался. Наверное, это случилось до твоего рождения?

debugger ★★★★★
()
Ответ на: комментарий от debugger

видимо в России по другому, такое наплевательское отношение к безопасности. Те кто имеет доступ к твему мылу может запросить изменение пароля

jtad
()
Ответ на: комментарий от anonymous

synchronized антипатрн еще где-то со времен перехода с 1.6 на 1.7, давненько вы в джава-огород не заглядывали, у вас там уже отличные грЕбцы подросли.

abcq ★★
()
Ответ на: комментарий от anonymous

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

abcq ★★
()

Гыгы. А динамический анализ есть? Ну, чтобы оно бинарник запустило, на все грабли само наступило

TooPar
()
Ответ на: комментарий от anonymous

Для многопоточного кода давно изобрели Job pool, ECS и модели акторов.

anonymous
()

Не читал сообщения ранее, но как по мне из открытых Clang-Tidy/Clang Static Analyzer выглядит намного перспективнее.

zamazan4ik ★★
()
Ответ на: комментарий от zamazan4ik

Они не взаимозаменяемы, хотя их функциональность существеннно пересекается.

cvv ★★★★★
()
9 января 2020 г.

На первом этапе работа будет сконцентрирована над проверкой «деление на ноль».

Проще говоря они научатся использовать AST?

Владимир

anonymous
()
Ответ на: комментарий от sluggard

Не переживай, ИНН они сами по паспорту могут получить.

grem ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.