URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 130860
[ Назад ]

Исходное сообщение
"Выпуск cppcheck 2.11, статического анализатора кода для языков C++ и С"

Отправлено opennews , 29-Июн-23 11:31 
Вышла новая версия статического анализатора кода cppcheck 2.11, позволяющего выявлять различные классы ошибок в коде на языках Си и Си++,...

Подробнее: https://www.opennet.ru/opennews/art.shtml?num=59355


Содержание

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

"Выпуск cppcheck 2.11, статического анализатора кода для язык..."
Отправлено Анонимович , 29-Июн-23 11:39 
Полумеры или не полумеры, а если проверка при сборке что то выявила, то это экономия времени на тестировании.

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

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

"Выпуск cppcheck 2.11, статического анализатора кода для язык..."
Отправлено Аноним , 29-Июн-23 12:11 
Да, тут стоило бы конкретизировать, _при сборке каким компилятором_ эти проверки. Из интереса прикручивал к сишным проектам и сабж абсолютно бесполезен -- даже если компилятор уже жалуется, он ничего не увидит.

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

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


"Выпуск cppcheck 2.11, статического анализатора кода для язык..."
Отправлено unknown , 29-Июн-23 23:57 
Разумеется если пользоваться этим куском старого десятилетнего говна, то ничего и не найдете.

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

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

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


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

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

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


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

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


"Выпуск cppcheck 2.11, статического анализатора кода для язык..."
Отправлено Аноним , 30-Июн-23 04:40 
> Видеть упоминания си всегда смешно, smatch всегда круче был и в сабже
> поддержка какая-то для галочки максимум.

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

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

Да чтоб у твоего гироскутера в рантайме фирмварь по проверкам брякнулась.


"Выпуск cppcheck 2.11, статического анализатора кода для язык..."
Отправлено Аноним , 30-Июн-23 11:17 
> Видеть упоминания си всегда смешно, smatch всегда круче был и в сабже
> поддержка какая-то для галочки максимум.

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

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

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


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

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

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

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

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

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

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

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

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

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


"Выпуск cppcheck 2.11, статического анализатора кода для язык..."
Отправлено анон , 29-Июн-23 11:34 
Убийца раста?

"Выпуск cppcheck 2.11, статического анализатора кода для язык..."
Отправлено Аноним , 29-Июн-23 11:36 
Нет. Пока это third-party плагин, макaки им пользоваться не будут, а мaкак больше, чем хороших программистов.

"Выпуск cppcheck 2.11, статического анализатора кода для язык..."
Отправлено Аноним , 29-Июн-23 13:27 
Вы перепутали убийцу и жертву. Rustcheck абсолютно излишен.

"Выпуск cppcheck 2.11, статического анализатора кода для язык..."
Отправлено warlock66613 , 29-Июн-23 16:20 
Ту вы вступаете на тонкую грань противопоставления статического анализатора и линтера. Да, команда `cargo check` занимается не поиском висячих ссылок, а проверкой стиля, но всё равно это статический анализ кода.

"Выпуск cppcheck 2.11, статического анализатора кода для язык..."
Отправлено Аноним , 03-Июл-23 12:20 
Я как-то не встречал уязвимостей, вызванных форматированием кода. Да, плохой стиль может быть причиной, почему уязвимость не заметили, но это другое

"Выпуск cppcheck 2.11, статического анализатора кода для язык..."
Отправлено Жироватт , 29-Июн-23 11:35 
Эх. Но с другой стороны хорошо, что тут не хабра и нету сектанто-маркетолухов pvs(gvn)-studio.

"Выпуск cppcheck 2.11, статического анализатора кода для язык..."
Отправлено llolik , 29-Июн-23 12:03 
Ну, пивас-студия неплохая, на самом деле. Но пиар-отдел у них, конечно, да. Видимо, на тринадцатую зарплату нарабатывает, не иначе.

"Выпуск cppcheck 2.11, статического анализатора кода для язык..."
Отправлено n00by , 29-Июн-23 12:23 
Если правильно помню и ни с кем не путаю, у них до той студии был другой какой-то проект. Автор пришёл порекламировать на wasm.ru, ему там подробно и совершенно бесплатно объяснили, почему не взлетит. Тогда проект был преобразован в нынешний. А пиар-отдел с тех пор провоцирует критиков на дельные советы.

"Выпуск cppcheck 2.11, статического анализатора кода для язык..."
Отправлено Аноним , 29-Июн-23 18:33 
У них был бесплатный проект. Он ожидаемо не взлетел.

"Выпуск cppcheck 2.11, статического анализатора кода для язык..."
Отправлено n00by , 30-Июн-23 09:19 
Поискал, назывался тот проект viva64 и предназначен был для отлова проблем при переносе 32-х разрядного кода в 64 в ОС Windows. То есть дело было в ограниченном применении, а не бесплатности (временной, на первом этапе).

"Выпуск cppcheck 2.11, статического анализатора кода для язык..."
Отправлено Аноним , 30-Июн-23 12:43 
Не, не то.
https://pvs-studio.ru/ru/cppcat/

"Выпуск cppcheck 2.11, статического анализатора кода для язык..."
Отправлено n00by , 30-Июн-23 14:11 
> Не, не то.
> https://pvs-studio.ru/ru/cppcat/

Что не то? Вот это по ссылке "который был запущен в начале 2014 года" -- кончено не то. wasm.ru тогда наверное уже и не было. viva64 вышел во второй половине нулевых, как показывает поиск.


"Выпуск cppcheck 2.11, статического анализатора кода для язык..."
Отправлено Аноним , 30-Июн-23 14:15 
Сначала был viva64. Потом появился PVS Studio. Потом запилили CppCat для бедных, который не взлетел. Как-то так.

"Выпуск cppcheck 2.11, статического анализатора кода для язык..."
Отправлено n00by , 01-Июл-23 11:44 
Вот я и пишу, что автор пришёл рекламировать viva64 на форум, а в результате критики отказался от начальных целей и преобразовал проект в другой, успешный. Потому пиар-отдел и повторяет то действие (рекламу) так усердно. Из 1000 ответов критиков 1 может оказаться дельным, вот ради этого всё и затевается.

"Выпуск cppcheck 2.11, статического анализатора кода для язык..."
Отправлено Капитан Очевидность , 29-Июн-23 12:17 
Да насколько я помню рекламщик этой фигни и здесь раньше кормился
Может Максим его выгнал, может с мишкой-карманником бабло не поделил, но последнее время не видно

"Выпуск cppcheck 2.11, статического анализатора кода для язык..."
Отправлено Аноним , 29-Июн-23 12:27 
Ну судя по плашке «(реклама)» у последней новости просто решил спросить с них бабосики и пвс мгновенно слились. https://www.opennet.ru/cgi-bin/opennet/ks.cgi?mask=pvs-studio

"Выпуск cppcheck 2.11, статического анализатора кода для язык..."
Отправлено Аноним , 29-Июн-23 12:29 
Чето я гоню там у всех плашка реклама, просто последняя была в 2018 году.

"Выпуск cppcheck 2.11, статического анализатора кода для язык..."
Отправлено Капитан Очевидность , 29-Июн-23 13:46 
> Ну судя по плашке «(реклама)» у последней новости просто решил спросить с
> них бабосики и пвс мгновенно слились. https://www.opennet.ru/cgi-bin/opennet/ks.cgi?mask=pvs-studio

Ну главное, что слились
При чем ничего не имею против коммерческого софта, если он востребован, ничего не имею против его рекламы
Но не так назойливо и в местах для этого предназначенных, пожалуйста!
На Хабре, да ради ЛММ! На профильных конфах, да сколько угодно, если разрешают организаторы

А на лоре или опеннете, ну не место пвсу, простите
Пока не будет новости "ПВС открыт под GNU GPLv3" или какой-то подобной не место им здесь, хоть застрелись


"Выпуск cppcheck 2.11, статического анализатора кода для язык..."
Отправлено Andrey_Karpov , 29-Июн-23 20:58 
Приятно видеть, что новость про Cppcheck, а обсуждают PVS-Studio :). Спасибо всем неравнодушным.

Приходите на бета-тест плагина PVS-Studio для Qt Creator и Visual Studio Code: https://habr.com/ru/companies/pvs-studio/news/743566/


"Выпуск cppcheck 2.11, статического анализатора кода для язык..."
Отправлено Капитан Очевидность , 29-Июн-23 22:40 
А на форумах кошатников в теме про то, что пришло лето обсуждают клещей и прочих паразитов...
Так себе радость

"Выпуск cppcheck 2.11, статического анализатора кода для язык..."
Отправлено Аноним , 30-Июн-23 07:09 
Здесь сразу пишут идеальный код на сишечке. И без дыр, надо заметить!

"Выпуск cppcheck 2.11, статического анализатора кода для язык..."
Отправлено Аноним , 29-Июн-23 14:47 
Настоящие программисты ошибок не допускают.

"Выпуск cppcheck 2.11, статического анализатора кода для язык..."
Отправлено Аноним , 29-Июн-23 16:19 
Все в мире совершают ошибка, а они нет. Опять методички от поборников безопастного языка.

"Выпуск cppcheck 2.11, статического анализатора кода для язык..."
Отправлено анон , 29-Июн-23 16:18 
Эльбрус много чего критически важного не поддерживает, например, закладочки анб и светодиодики на стойке. Пока без этого в крупные уважаемые конторы ему доступ закрыт.

"Выпуск cppcheck 2.11, статического анализатора кода для язык..."
Отправлено Anonymoustus , 29-Июн-23 16:26 
> No XP support

"Выпуск cppcheck 2.11, статического анализатора кода для язык..."
Отправлено анониммм , 30-Июн-23 10:16 
И что? Эта платформа устарела ещё в году 14ом.

"Выпуск cppcheck 2.11, статического анализатора кода для язык..."
Отправлено Аноним , 30-Июн-23 10:21 
В 2007.

"Выпуск cppcheck 2.11, статического анализатора кода для язык..."
Отправлено Аноним , 30-Июн-23 14:13 
Я даже приблизительно представить не могу, какая нужда может заставить заниматься разработкой на машине с XP.

"Выпуск cppcheck 2.11, статического анализатора кода для язык..."
Отправлено dannyD , 30-Июн-23 17:43 
два этажа научной установки и какой нить контроллер IEEE-488 заставит и ни такое себе представить )))))

"Выпуск cppcheck 2.11, статического анализатора кода для язык..."
Отправлено Аноним , 01-Июл-23 03:39 
Я не спорю, что в составе программно-аппаратных комплексов можно и MS-DOS найти. Но разработку-то на этой машине вести зачем?

"Выпуск cppcheck 2.11, статического анализатора кода для язык..."
Отправлено Совершенно другой аноним , 01-Июл-23 08:26 
> Но разработку-то на этой машине вести зачем?

ну, если для работы остального окружения нужны программы, работающие только в MS-DOS и не так приходится раскорячиваться, хотя, конечно, разные dosbox-ы и dosemu немного облегчают дело..


"Выпуск cppcheck 2.11, статического анализатора кода для язык..."
Отправлено Anonymoustus , 30-Июн-23 18:38 
Не отчаивайтесь, анонимы.

Для XP подходит эта версия:

https://github.com/danmar/cppcheck/releases/tag/1.69

https://sourceforge.net/projects/cppcheck/files/cppcheck/1.69

Для Висты:

https://github.com/danmar/cppcheck/releases/tag/1.83

https://sourceforge.net/projects/cppcheck/files/cppcheck/1.83


Проверил вчера свой хелловорлд -- ошибок нет. :-)


"Выпуск cppcheck 2.11, статического анализатора кода для язык..."
Отправлено Совершенно другой аноним , 01-Июл-23 08:50 
> Не отчаивайтесь, анонимы.
> Для XP подходит эта версия:
> https://github.com/danmar/cppcheck/releases/tag/1.69

с довольно обозримыми правками консольная версия собирается до 2.3, если не путаю. Дальше они перешли с потоков ОС на потоки стандарта C++, ещё чего-то поменяли, правок сильно слишком много и собирать дальше уже не получилось.


"Выпуск cppcheck 2.11, статического анализатора кода для язык..."
Отправлено Прохожий , 30-Июн-23 01:12 
Вместо того, чтобы похоронить уже этих динозавров (Си, Си++), продолжают наращивать мощь костылей. Теперь, типа, наши костыли ещё более костылястыми стали, хромать на обе ноги вы сможете ещё быстрее.

"Выпуск cppcheck 2.11, статического анализатора кода для язык..."
Отправлено Аноним , 30-Июн-23 06:45 
> Вместо того, чтобы похоронить уже этих динозавров (Си, Си++), продолжают наращивать мощь
> костылей. Теперь, типа, наши костыли ещё более костылястыми стали, хромать на
> обе ноги вы сможете ещё быстрее.

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


"Выпуск cppcheck 2.11, статического анализатора кода для язык..."
Отправлено анониммм , 30-Июн-23 10:17 
Слишком много на нем написано, чтобы хоронить.

"Выпуск cppcheck 2.11, статического анализатора кода для язык..."
Отправлено GraiT , 30-Июн-23 12:07 
Не нравится СИ и С++, не использую и программы можешь, написанные на этих языках, не запускать.