Comments 15
Благодарю за хорошую статью
+2
Да, интересные моменты были найдены. Спасибо за статью.
+1
Если проект разрабатывается Google, Microsoft или другими именитыми разработчиками, то его проверка и обнаружение ошибок – это, своего рода, вызов. К тому же, думаю, многим людям интересно, как ошибаются (или не ошибаются) разработчики из именитых корпораций.
Я наш статический анализ гоняю на коде AndroidStudio, потому что он под рукой. И как-то не в восторге от качества кода. Очень странная "индусятина" попадается. А ведь тоже гугл пишет. По-моему, качество кода наших ребят из JetBrains заметно лучше. Ну и плюс, видимо, процессы не на высоте. Вот улучшил dataflow-анализ, он теперь стал выдавать, что некоторое нетривиальное условие всегда ложно и тело if не выполняется. Глазами можно не увидеть, согласен. Но это значит, что не написан тест, который покрывает эту ветку, на покрытие тестами всем плевать и ревьюверы не заметили (если вообще ревью этого кода делалось).
+1
То есть, если подозрительное место окажется в макросе, и он используется в 1000 мест, то будет выдано 1000 предупреждений вместо одного? Если вы указываете исходные строки в предупреждении, то неужели так трудно проверить цепочку раскрытия макросов?
+2
Трудно. Мы используем внешний препроцессор и не контролируем процесс раскрытия. Но даже если бы контролировали, это не сильно что-то даст. Допустим мы видим где и как раскрывается макрос. Что дальше? Один раз макрос раскрылся в одном файле. Один раз в другом и так далее. Нужно ещё как-то понять взаимосвязь. Да и вообще, а кто сказал, что в макросе не может быть ошибки, которая к ужасу ещё и размножена?
+2
Подозрительное место не в макросе, а в результате его раскрытия. Контрольный вопрос — если раскрытие макроса даёт ошибку в 1 случае из 1000, то выдавать ошибку в макросе или же в месте его раскрытия?
0
В месте раскрытия. Макросы могут раскрываться по разному (и иногда это дает ошибку, а иногда нет).
0
Я стесняюсь спросить, а вы найденные недостатки собираетесь оформить в виде баг репортов на github?
-1
Как насчёт проверки OpenCV?
0
Хм. Ну лет 5 мы уже не проверяли этот проект. Можно попробовать. Добавьте, пожалуйста, проект в список на GitHub, чтобы мы не забыли.
0
Sign up to leave a comment.
Война машин: PVS-Studio vs TensorFlow