The OpenNET Project / Index page

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



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

"Выпуск новой версии статического анализатора кода для языков C++ и С cppcheck 2.6"  +/
Сообщение от opennews (ok), 07-Окт-21, 15:38 
Вышла новая версия статического анализатора кода cppcheck 2.6, позволяющего выявлять различные классы ошибок в коде на языках Си и Си++, в том числе при использовании нестандартного синтаксиса, типичного для встраиваемых систем. Предоставляется коллекция плагинов, через которые обеспечена интеграция cppcheck  с различными системами разработки, непрерывной интеграции и тестирования, а также предоставлены такие возможности как проверка соответствия кода стилю оформления кода. Для разбора кода может применяться как собственный парсер, так и внешний парсер от Clang. В состав также входит скрипт donate-cpu.py для предоставления локальных ресурсов для выполнения работы по совместной проверке кода пакетов Debian. Исходные тексты проекта распространяются под лицензией GPLv3...

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

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

Оглавление

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

1. Сообщение от leibniz (ok), 07-Окт-21, 15:38   +/
лучший анализатор кода -- мозг программиста
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #38, #46, #47, #54, #55, #56, #66

3. Сообщение от lockywolf (ok), 07-Окт-21, 15:47   +3 +/
A study at the TU Delft, by Cathal Boogerd and Leon Moonen, empirically assesses the value of MISRA C:2004. It comes to similar results:[29]

    From the data obtained, we can make the following key observations. First, there are 9 out of 72 rules for which violations were observed that perform significantly better (α = 0.05) than a random predictor at locating fault-related lines. The true positive rates for these rules range from 24-100%. Second, we observed a negative correlation between MISRA rule violations and observed faults. In addition, 29 out of 72 rules had a zero true positive rate. Taken together with Adams' observation that all modifications have a non-zero probability of introducing a fault, this makes it possible that adherence to the MISRA standard as a whole would have made the software less reliable.


https://en.m.wikipedia.org/wiki/MISRA_C

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #7, #67

5. Сообщение от QwertyReg (ok), 07-Окт-21, 15:49   –22 +/
Какими анализаторами Сишку не обмазывай, как её костыльками не подпирай, язык всё равно останется архитектурно слабым и всё равно будет порождать уязвимости и краши. Уж в 2k21-то пора бы перестать насиловать труп и переходить на что-то не из прошлого тысячелетия.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #6, #11, #14, #17

6. Сообщение от Аноним (6), 07-Окт-21, 15:53   +7 +/
Какими анализаторами молоток не обмазывай, как его костыльками не подпирай, инструмент всё равно останется архитектурно слабым и всё равно будет порождать загнутые гвозди и отбитые пальцы. Уж в 2k21-то пора бы перестать насиловать труп и переходить на что-то не из древности.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5 Ответы: #9

7. Сообщение от Неуклюжий танцор (?), 07-Окт-21, 15:53   +/
Благодарю, добрый человек! Никогда бы не подумал, что так может быть!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3

9. Сообщение от Аноним (9), 07-Окт-21, 16:00   –6 +/
Хорошая аналогия. Подавляющая часть строительных работ производится без обыкновенного ручного молотка, он нужен в конце для всякой мелочевки, но сам дом спокойно строится без него
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6 Ответы: #12

11. Сообщение от Аноним (12), 07-Окт-21, 16:08   +7 +/
Пишите, пожалуйста, 2k21 в начале комментария, это сэкономит время на чтение, спасибо.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5

12. Сообщение от Аноним (12), 07-Окт-21, 16:10   +/
Не, ну если вы хотите жить в панельном доме, то дело ваше...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9 Ответы: #15, #31

13. Сообщение от Аноним (14), 07-Окт-21, 16:13   +/
Где A4?
Ответить | Правка | Наверх | Cообщить модератору

14. Сообщение от Аноним (14), 07-Окт-21, 16:15   +/
Каким инструментом не пользуйся если ты плохой программист ты и на срасте напишешь дыру и на пхп. Уязвимости не в языке они в программисте.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5 Ответы: #50

15. Сообщение от Аноним (9), 07-Окт-21, 16:30   –2 +/
> в панельном доме

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12 Ответы: #21, #37, #48

17. Сообщение от Аноним (17), 07-Окт-21, 16:32   +/
Уже в 2k21 в Инет можно ходить не только прон смотреть, но и узнать что-то полезное, выучить что-то
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5

21. Сообщение от QwertyReg (ok), 07-Окт-21, 16:37   –2 +/
Не мечите бисер перед линуксоидами, они даже не знают, что в 21-ом веке в строительстве вместо молотков используют пневматический гвоздезабиватель, а молотки остались в прошлом тысячелетии.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15 Ответы: #25, #36

25. Сообщение от Урри (ok), 07-Окт-21, 16:58   +2 +/
... написал QwertyReg с помощью прямого нейроинтерфейса, а не какой-то глупой дубовой клавиатуры.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21 Ответы: #33

31. Сообщение от Сатья Наделла (?), 07-Окт-21, 17:36   –1 +/
Я тоже попробовал ZorinOS и решил пока на ней остаться. Понравились некоторые фишки и я решил их добавить в свой небольшой проект.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12

33. Сообщение от lockywolf (ok), 07-Окт-21, 17:59   +/
> ... написал QwertyReg с помощью прямого нейроинтерфейса, а не какой-то глупой дубовой
> клавиатуры.

У него экранная клавиатура, и тач-скрин

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #25 Ответы: #34

34. Сообщение от Урри (ok), 07-Окт-21, 18:04   +/
Еще хуже. Надо дополнительно зрением контролировать то, что нажимаешь.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #33

36. Сообщение от Аноним (36), 07-Окт-21, 18:07   +1 +/
> 21-ом веке в строительстве вместо молотков используют пневматический гвоздезабиватель, а молотки остались в прошлом тысячелетии.

Только если тебе в лоб забивать, прицельно. А строители используют классический молоток там, куда пнематику не дотянули и/или она не нужна и вредна. Еще молотком можно как вспомогательным инструментом работать.
Вот уж белоручка детектед.

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

37. Сообщение от Аноним (36), 07-Окт-21, 18:10   –1 +/
Еще одна белоручка.
Лед, жесть. Пламя потухло.
Страшно жить, господа.
Подумай, что в доме есть еще сантехника, электрика, отопление, канализация, водоснабжение...

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15 Ответы: #40

38. Сообщение от Аноним (38), 07-Окт-21, 18:13   +8 +/
Уже много десятилетий, как нет.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #41

40. Сообщение от QwertyReg (ok), 07-Окт-21, 18:37   –1 +/
> Еще одна белоручка.
> Лед, жесть. Пламя потухло.
> Страшно жить, господа.
> Подумай, что в доме есть еще сантехника, электрика, отопление, канализация, водоснабжение...

Вызываешь специально обученную обезьянку и забываешь о проблеме.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #37 Ответы: #43, #45

41. Сообщение от Злюка (?), 07-Окт-21, 18:47   +11 +/
Не правда. У некоторых еще есть.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #38 Ответы: #42, #53

42. Сообщение от ы (?), 07-Окт-21, 18:51   +2 +/
Вам бы, сударь, синтаксический анализатор не помешало бы. Такие дела.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #41 Ответы: #63

43. Сообщение от Аноним (-), 07-Окт-21, 19:02   +/
> Какими анализаторами Сишку не обмазывай, как её костыльками не подпирай, язык всё равно останется архитектурно слабым и всё равно будет порождать уязвимости и краши. Уж в 2k21-то пора бы перестать насиловать труп и переходить на что-то не из прошлого тысячелетия.

Так он же не программист! Зачем программировать на трупе (да и вообще программировать, если и так все нужные программы есть), если можно нанять специально обученную обезьянку, которая сделает всё за тебя.

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

45. Сообщение от Дэвид РокфеллерМладший (?), 07-Окт-21, 19:25   +/
Обезьянка берет с тебя деньги, делает так, что произойдет запланированная поломка и придет вновь.
Наивный чукотский вьюнох.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #40

46. Сообщение от InuYasha (??), 07-Окт-21, 19:29   +/
нет, потому что очень устаёт X(
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1

47. Сообщение от Аноним (47), 07-Окт-21, 19:30   +11 +/
Да! Но при условии что этот программист больше не человек и не способен ошибиться.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #60

48. Сообщение от Дэвид РокфеллерМладший (?), 07-Окт-21, 19:33   +1 +/
>Даже двускатная крыша не нуждается в ручном молотке при построении особо.

Стропильную систему как крепить буш?


>В доме, построенном исключительно при помощи молотка я тоже жить не хочу, скорее всего он будет деревянный, дерево во времени чувствует себя сильно хуже кирпича

Хороший деревянный дом строят без гвоздей. Молоток там только в паз дослать бревно.

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

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

49. Сообщение от InuYasha (??), 07-Окт-21, 19:33   –1 +/
> Записи незаписывающихся данных, определения неопределённого поведения, сравнения несравнимых величин, вызова невызываемого кода, выхода из безвыходных ситуаций... wait, oh, shi-

%)

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

50. Сообщение от МояВенда (ok), 07-Окт-21, 19:53   –1 +/
У сишника горит в одном месте. Надо же, можно просто взять математически доказанный язык, и написать безопасный код, который не будет падать на каждый чих. И все это без десятилетий изучения тайных знаний и молитв на талмуде под названием "Стандарт".
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #14

53. Сообщение от Аноним (53), 07-Окт-21, 20:55   +2 +/
>У некоторых еще есть.

вот именно, что у некоторых, и именно что еще.

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

54. Сообщение от Ульянка (?), 07-Окт-21, 21:39   +2 +/
у тебя всегда все лучшее, бессмысленный комментатор
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1

55. Сообщение от Умпа (?), 07-Окт-21, 21:48   –5 +/
>> лучший анализатор кода -- мозг программиста

Сам ты, то есть, не программист ни разу?
А зачем ты рот тут тогда открываешь?

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

56. Сообщение от Аноним (56), 07-Окт-21, 23:09   +2 +/
Для си smatch больше проблем находил. Только из гита собирать ннада. Мозг программиста такая вещь, он ожидает, что код будет работать, а потом оказывается, не везде и не всегда.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1

58. Сообщение от Аноньимъ (ok), 08-Окт-21, 04:35   –1 +/
Что это за безобразие Берремор?

Это сишка, сэр!

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #49 Ответы: #59

59. Сообщение от МарьВанна (?), 08-Окт-21, 06:00   +/
"Берримор".

Пишите без ошибок.

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

60. Сообщение от Vkni (ok), 08-Окт-21, 06:57   +2 +/
Это, как раз, ни о чём. Статические анализаторы имеют право на ошибку - ложноположительное срабатывание. Иначе бы их проверки были включены в компилятор и имели статус Error, а не Warning.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #47 Ответы: #62, #72

62. Сообщение от Дмитрий (??), 08-Окт-21, 09:40   –3 +/
Нельзя просто так взять и поменять Warning на Error. В первую очередь из-за сохранения обратной совместимости
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #60 Ответы: #78

63. Сообщение от n00by (ok), 08-Окт-21, 10:30   +1 +/
Семантический.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #42

65. Сообщение от Аноним (-), 08-Окт-21, 13:00   –1 +/
А нету такого же, но только для ASM-а?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #68, #70

66. Сообщение от acroobat (??), 08-Окт-21, 15:18   +/
Если программист - робот, то да.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1

67. Сообщение от Аноним (-), 08-Окт-21, 15:46   +/
Ничего не понял. Если ты запостил на аглицком, то и переведи с аглицкого.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3 Ответы: #73

68. Сообщение от Совершенно другой аноним (?), 08-Окт-21, 16:22   +/
Языки ассемблера у всех сильно разные. Вот есть проект https://github.com/gaul/x86lint, но как я понял - он немного не про это.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #65 Ответы: #69

69. Сообщение от n00by (ok), 08-Окт-21, 17:12   +/
Он вообще не про это. Проверяет опкоды на "оптимальность" по размеру. Надо понимать, что многобайтные NOP намеренно используют для выравнивания целей переходов по границам кеш-линий. Для этих же целей компиляторы могут генерировать "неоптимальные" большие команды.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #68

70. Сообщение от Ordu (ok), 08-Окт-21, 17:18   +1 +/
Нет, и быть не может. Чтобы асм разбирать, что там сделано намеренно, а что случайно, статическому анализатору как-то по машинным инструкциям надо будет угадать задумку программиста, а это за пределами возможностей существующих AI. Единственный способ с этим бороться -- потребовать от программиста аннотациями декларировать свои намерения. Но требуя это, ты требуешь от него, чтобы он писал на высокоуровневом языке аннотаций. И нахрен тогда ассемблер? Дедуктивный вывод даётся программам проще индуктивного. Поэтому программы гораздо лучше из аннотаций могут сгенерить ассемблерный код, чем из ассемблерного кода аннотации.

Может быть, когда-нибудь, в будуем... Может даже не столь отдалённом... Но раньше чем через десять лет ждать не стоит.

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

71. Сообщение от Аноним (72), 08-Окт-21, 18:58   +/
Молодцы. Удачи проекту.
Ответить | Правка | Наверх | Cообщить модератору

72. Сообщение от Аноним (72), 08-Окт-21, 20:04   +/
Сейчас к тебе придут наркоманы и расскажут про компилятор и софт не имеющий ошибок.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #60

73. Сообщение от Аноним (73), 08-Окт-21, 20:12   +3 +/
Продолжайте программировать на своём 1С, пожалуйста.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #67

74. Сообщение от Аноним (74), 08-Окт-21, 22:49   +/
я вас предупредил warning
both of the PVS and cppcheck can't detect the copying from the structure member pointer instead of the member pointer contains
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #77

77. Сообщение от Аноним (77), 09-Окт-21, 10:58   +/
Потому что это далеко не всегда ошибка.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #74

78. Сообщение от Vkni (ok), 09-Окт-21, 22:18   +1 +/
Ну хорошо, в предупреждения компилятора засунуть все эти cppcheck/PVS Studio.

В любом случае, у нас есть простое правило - компилятор не имеет права на ложно-положительное срабатывание, а стат. анализатор имеет. Иначе вот всё это должно быть просто всунуто в компилятор.

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

79. Сообщение от Andrey_Karpov (ok), 15-Ноя-21, 15:45   +/
Для информации. Вышел инструмент под названием Cppcheck Premium. Он включает в себя открытый инструмент Cppcheck, а также премиальный компонент. https://habr.com/ru/news/t/589247/
Ответить | Правка | Наверх | Cообщить модератору


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

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




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

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