|
|
|
4.42, ы (?), 18:51, 07/10/2021 [^] [^^] [^^^] [ответить]
| +2 +/– |
Вам бы, сударь, синтаксический анализатор не помешало бы. Такие дела.
| |
4.53, Аноним (53), 20:55, 07/10/2021 [^] [^^] [^^^] [ответить]
| +2 +/– |
>У некоторых еще есть.
вот именно, что у некоторых, и именно что еще.
| |
|
|
2.47, Аноним (47), 19:30, 07/10/2021 [^] [^^] [^^^] [ответить]
| +11 +/– |
Да! Но при условии что этот программист больше не человек и не способен ошибиться.
| |
|
3.60, Vkni (ok), 06:57, 08/10/2021 [^] [^^] [^^^] [ответить]
| +2 +/– |
Это, как раз, ни о чём. Статические анализаторы имеют право на ошибку - ложноположительное срабатывание. Иначе бы их проверки были включены в компилятор и имели статус Error, а не Warning.
| |
|
4.62, Дмитрий (??), 09:40, 08/10/2021 [^] [^^] [^^^] [ответить]
| –3 +/– |
Нельзя просто так взять и поменять Warning на Error. В первую очередь из-за сохранения обратной совместимости
| |
|
5.78, Vkni (ok), 22:18, 09/10/2021 [^] [^^] [^^^] [ответить]
| +1 +/– |
Ну хорошо, в предупреждения компилятора засунуть все эти cppcheck/PVS Studio.
В любом случае, у нас есть простое правило - компилятор не имеет права на ложно-положительное срабатывание, а стат. анализатор имеет. Иначе вот всё это должно быть просто всунуто в компилятор.
| |
|
4.72, Аноним (72), 20:04, 08/10/2021 [^] [^^] [^^^] [ответить]
| +/– |
Сейчас к тебе придут наркоманы и расскажут про компилятор и софт не имеющий ошибок.
| |
|
|
2.55, Умпа (?), 21:48, 07/10/2021 [^] [^^] [^^^] [ответить]
| –5 +/– |
>> лучший анализатор кода -- мозг программиста
Сам ты, то есть, не программист ни разу?
А зачем ты рот тут тогда открываешь?
| |
2.56, Аноним (56), 23:09, 07/10/2021 [^] [^^] [^^^] [ответить]
| +2 +/– |
Для си smatch больше проблем находил. Только из гита собирать ннада. Мозг программиста такая вещь, он ожидает, что код будет работать, а потом оказывается, не везде и не всегда.
| |
|
1.3, lockywolf (ok), 15:47, 07/10/2021 [ответить] [﹢﹢﹢] [ · · · ]
| +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
| |
|
2.67, Аноним (-), 15:46, 08/10/2021 [^] [^^] [^^^] [ответить]
| +/– |
Ничего не понял. Если ты запостил на аглицком, то и переведи с аглицкого.
| |
|
|
|
|
|
Часть нити удалена модератором |
5.31, Сатья Наделла (?), 17:36, 07/10/2021 [^] [^^] [^^^] [ответить]
| –1 +/– |
Я тоже попробовал ZorinOS и решил пока на ней остаться. Понравились некоторые фишки и я решил их добавить в свой небольшой проект.
| |
|
|
|
|
1.49, InuYasha (??), 19:33, 07/10/2021 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
> Записи незаписывающихся данных, определения неопределённого поведения, сравнения несравнимых величин, вызова невызываемого кода, выхода из безвыходных ситуаций... wait, oh, shi-
%)
| |
|
|
3.69, n00by (ok), 17:12, 08/10/2021 [^] [^^] [^^^] [ответить]
| +/– |
Он вообще не про это. Проверяет опкоды на "оптимальность" по размеру. Надо понимать, что многобайтные NOP намеренно используют для выравнивания целей переходов по границам кеш-линий. Для этих же целей компиляторы могут генерировать "неоптимальные" большие команды.
| |
|
2.70, Ordu (ok), 17:18, 08/10/2021 [^] [^^] [^^^] [ответить]
| +1 +/– |
Нет, и быть не может. Чтобы асм разбирать, что там сделано намеренно, а что случайно, статическому анализатору как-то по машинным инструкциям надо будет угадать задумку программиста, а это за пределами возможностей существующих AI. Единственный способ с этим бороться -- потребовать от программиста аннотациями декларировать свои намерения. Но требуя это, ты требуешь от него, чтобы он писал на высокоуровневом языке аннотаций. И нахрен тогда ассемблер? Дедуктивный вывод даётся программам проще индуктивного. Поэтому программы гораздо лучше из аннотаций могут сгенерить ассемблерный код, чем из ассемблерного кода аннотации.
Может быть, когда-нибудь, в будуем... Может даже не столь отдалённом... Но раньше чем через десять лет ждать не стоит.
| |
|
1.74, Аноним (74), 22:49, 08/10/2021 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
я вас предупредил warning
both of the PVS and cppcheck can't detect the copying from the structure member pointer instead of the member pointer contains
| |
|