The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Выпуск cppcheck 2.11, статического анализатора кода для языков C++ и С, opennews (??), 29-Июн-23, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


1. "Выпуск cppcheck 2.11, статического анализатора кода для язык..."  –17 +/
Сообщение от Аноним (1), 29-Июн-23, 11:31 
Видеть упоминания си всегда смешно, smatch всегда круче был и в сабже поддержка какая-то для галочки максимум. Правда чёт он там устарел и современный модный си наверно не очень поддерживает. С другой стороны, что там вообще анализировать -- если что не так,только проверки в рантайме спалят. Вот и не пользуется спросом эти полумеры видимо.
Ответить | Правка | Наверх | Cообщить модератору

5. "Выпуск cppcheck 2.11, статического анализатора кода для язык..."  +7 +/
Сообщение от Анонимович (?), 29-Июн-23, 11:39 
Полумеры или не полумеры, а если проверка при сборке что то выявила, то это экономия времени на тестировании.
Ответить | Правка | Наверх | Cообщить модератору

6. "Выпуск cppcheck 2.11, статического анализатора кода для язык..."  –8 +/
Сообщение от Аноним (1), 29-Июн-23, 11:49 
При сборке другие проверки. Сабж это про подсветку "подозрительных" конструкций в IDE, по факту только отвлекает от более важных вещей.
Ответить | Правка | Наверх | Cообщить модератору

9. "Выпуск cppcheck 2.11, статического анализатора кода для язык..."  +1 +/
Сообщение от Совершенно другой аноним (?), 29-Июн-23, 12:06 
При сборке эти проверки. Некоторые его даже прикручивали к системам контроля версий, чтобы контролировать коммиты на корректность и не пропускать в репозиторий. Ловит некоторые проблемы, которые на данный момент не могут выловить штатные компиляторы. Плюс умеет контроль исходников по правилам MISRA C.
Ответить | Правка | Наверх | Cообщить модератору

10. "Выпуск cppcheck 2.11, статического анализатора кода для язык..."  –2 +/
Сообщение от Аноним (1), 29-Июн-23, 12:11 
Да, тут стоило бы конкретизировать, _при сборке каким компилятором_ эти проверки. Из интереса прикручивал к сишным проектам и сабж абсолютно бесполезен -- даже если компилятор уже жалуется, он ничего не увидит.
Ответить | Правка | Наверх | Cообщить модератору

12. "Выпуск cppcheck 2.11, статического анализатора кода для язык..."  +/
Сообщение от Совершенно другой аноним (?), 29-Июн-23, 12:21 
> Да, тут стоило бы конкретизировать, _при сборке каким компилятором_ эти проверки.

Если про конкретные случае - у нас используется для программирования встроенных систем GCC 4.8.1 - cppcheck что-то находил из того, что не находил штатный компилятор.

Ответить | Правка | Наверх | Cообщить модератору

39. "Выпуск cppcheck 2.11, статического анализатора кода для язык..."  –2 +/
Сообщение от unknown (??), 29-Июн-23, 23:57 
Разумеется если пользоваться этим куском старого десятилетнего говна, то ничего и не найдете.
Ответить | Правка | Наверх | Cообщить модератору

69. "Выпуск cppcheck 2.11, статического анализатора кода для язык..."  +1 +/
Сообщение от Аноним (69), 01-Июл-23, 04:34 
> Разумеется если пользоваться этим куском старого десятилетнего говна, то ничего и не
> найдете.

Я пользовался GCC 8 и 10 и даже -Wall -Wextra, pedantic, -Wconversion (этот особенно злой) и проч. А на некоторые платформы свежего GCC может и не быть. Скажем для AVR гцц в дистрах обычно застыл на уровне 5.4 и что-то более новые не релизят, может какие проблемы есть с той платформой, мало ли.

И еще - есть баги компилера. Если gc 4.8 генерил правильный код во всех ситуациях, то что более новый генерит не хуже, во всех ситуациях - отдельный квест по валидации и чертова куча тестов того что получилось заново. Баги в компилерах и на стыке все же бывают.

Ответить | Правка | Наверх | Cообщить модератору

68. "Выпуск cppcheck 2.11, статического анализатора кода для язык..."  +1 +/
Сообщение от Аноним (69), 01-Июл-23, 04:28 
> Да, тут стоило бы конкретизировать, _при сборке каким компилятором_ эти проверки.
> Из интереса прикручивал к сишным проектам и сабж абсолютно бесполезен --
> даже если компилятор уже жалуется, он ничего не увидит.

А у меня весьма недурно ловил спорные моменты. И это в сишной фирваре где antbug coding был от души. А все равно пару моментов нащупал и я согласен с ним что в принципе так лучше было не делать. С чего это он "бесполезный"?

Просто его пускать надо как-то типа cppcheck --enable=all --bug-hunting <what>. Bug-hunting может дать ложные срабатывания но все равно полезен.

Ответить | Правка | К родителю #10 | Наверх | Cообщить модератору

17. "Выпуск cppcheck 2.11, статического анализатора кода для язык..."  +/
Сообщение от Анонимович (?), 29-Июн-23, 12:38 
> по факту только отвлекает от более важных вещей.

Глянул. Да, без фильтрации "спама" ненужными сообщениями, только отвлекает.
В cpplint хотя бы можно указать, что конкретно проверять, а не заниматься бесполезной генерацией спама.

Ответить | Правка | К родителю #6 | Наверх | Cообщить модератору

42. Скрыто модератором  –1 +/
Сообщение от Аноним (-), 30-Июн-23, 04:40 
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

53. "Выпуск cppcheck 2.11, статического анализатора кода для язык..."  –1 +/
Сообщение от Аноним (69), 30-Июн-23, 11:17 
> Видеть упоминания си всегда смешно, smatch всегда круче был и в сабже
> поддержка какая-то для галочки максимум.

Вот не скажите, весьма недурно на сишных проектах работает и словил эн багов. Плюсы по сути superset сей, как при этом можно не уметь в анализ кода на си - загадка :)

> что там вообще анализировать -- если что не так,только проверки в рантайме спалят

Очень круто когда у вас фирмварь вдруг раз - и рантайм еррор. А теперь прикиньте если это в ECU вашего авто было?! Представляете там сишка - и статический анализ как раз вполне хорошая идея. MISRA подтвердит.

Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

55. "Выпуск cppcheck 2.11, статического анализатора кода для язык..."  +/
Сообщение от Аноним (1), 30-Июн-23, 11:25 
А очень просто, никаких загадок. Анализа "легаси" конструкций не производится. Си и его компиляторы слишком непредсказуемые на сколько-нибудь сложной логике, в таких вопросах намного безопаснее ассемблер. Какой-нибудь compcert ещё можно в ракеты запихнуть.
Ответить | Правка | Наверх | Cообщить модератору

62. "Выпуск cppcheck 2.11, статического анализатора кода для язык..."  +/
Сообщение от Аноним (62), 30-Июн-23, 14:22 
Прелесть ассемблера в том, что там нет никаких UB и фантазий компилятора. Если что-то пошло не так — претензии можно предъявлять только себе.
Ответить | Правка | Наверх | Cообщить модератору

70. "Выпуск cppcheck 2.11, статического анализатора кода для язык..."  +/
Сообщение от Аноним (69), 01-Июл-23, 04:45 
> А очень просто, никаких загадок. Анализа "легаси" конструкций не производится.

Что значит - легаси? Почти все сишные конструкции валидны и в си++ и не объявлены deprecated даже в самой последней версии стандарта. Так что без их рюхания и анализ плюсов не получится.

> Си и его компиляторы слишком непредсказуемые на сколько-нибудь сложной логике,

Нормальные, если уметь их готовить. И сабж тому пример, вполне себе нашел пару мест которые мне не нравятся в моих фирмварях. Хоть они и деланы для надежной работы без багов. Сабж подхайлайтил пару мест которые работали - но стоило все же переписать, если вон то было целью.

> в таких вопросах намного безопаснее ассемблер.

Угу, щас. Там вообще ни аннотации намерений кодера нет, ни структурирования данных нормального (e.g. struct), ни типизации, ни нормального визуального структурирования программы. А уж проверить что функцию нормально вызвали автоматически - да сейчас.

> Какой-нибудь compcert ещё можно в ракеты запихнуть.

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

Ответить | Правка | К родителю #55 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру