Спасибо за интерес к нашему продукту и пожеланиям.
По поводу автоматических правок. Таких планов нет. Автоматическими изменениями кода занимаются инструменты, осуществляющие рефакторинг или форматирование кода. Мы не развиваем инструмент в этом направлении. Мы сосредоточены именно на поиске потенциальных ошибок и потенциальных уязвимостей.
Говоря о правке ошибок, это возможно только для очень простых случаев. В результате, эта функциональность будет столь ограничена, что лучше вообще её не делать. Тем более всё равно слишком велик риск неправильного изменения кода и человек обязан участвовать в этом процессе.
По опыту работы с подобными инструментами, есть ощущение, что польза от подробной выдачи очень быстро превращается в минус. Мозг взрывается от количества информации, которая во многом тривиальна и только мешает изучать код с ошибкой. Мы пошли по пути минимализма, выдавая только самое необходимое. Например, из какой функции в другую функцию передан нулевой указатель, который разыменовывается. Мы почти не встречаем в поддержке вопросов про непонятность предупреждений. Так что видимо нам удалось достичь нужный баланс.
Эээ... это какое-то Ваше восприятие статьи :). Это не жалоба. Это фиксация примера, что открытость проекта сама по себе почти ничего не значит и борьба с вредным мифом. Личная обида? Вообще мимо. Я ржал, когда я понял, что за уведомление я получил :). Но раз испытал лёгкий шок, решил его зафиксировать в виде заметки.
Не так уж много, но проверяли. Подробности не расскажу в силу NDA. Ощущение: качество кода также варьируется, как и качество открытых проектов. Пруфов не будет, сорри. Вывод тот-же: от открытости почти ничего не зависит.
Кстати. В PVS-Studio 7.16 на 80% поддержан стандарт обеспечения безопасности и надёжности MISRA C. При этом полностью покрыта категория предупреждений Mandatory, а также большая часть категории Required.
См. PVS-Studio 7.16, взятие рубежей: MISRA C, Visual Studio 2022, .NET 6.
По поводу автоматических правок. Таких планов нет. Автоматическими изменениями кода занимаются инструменты, осуществляющие рефакторинг или форматирование кода. Мы не развиваем инструмент в этом направлении. Мы сосредоточены именно на поиске потенциальных ошибок и потенциальных уязвимостей.
Говоря о правке ошибок, это возможно только для очень простых случаев. В результате, эта функциональность будет столь ограничена, что лучше вообще её не делать. Тем более всё равно слишком велик риск неправильного изменения кода и человек обязан участвовать в этом процессе.
Подробнее эта тема раскрыта в статье "Почему PVS-Studio не предлагает автоматические правки кода".
А вашей команде спасибо за содействие при написании статьи и интерес к нашему продукту.
И действительно, что это я. Потенциальная уязвимость CWE ведь может стать уязвимостью CVE, а может ведь и не стать. Так что пофиг. :)
Только не надо тогда ля-ля про качество открытого кода.
Это мнение и фантазии, не более того.
Спасибо
Эээ... это какое-то Ваше восприятие статьи :). Это не жалоба. Это фиксация примера, что открытость проекта сама по себе почти ничего не значит и борьба с вредным мифом. Личная обида? Вообще мимо. Я ржал, когда я понял, что за уведомление я получил :). Но раз испытал лёгкий шок, решил его зафиксировать в виде заметки.
Для этого: Перезаписывать память – зачем?
Ох. У V525 и так тяжёлая судьба :)
См. PVS-Studio 7.16, взятие рубежей: MISRA C, Visual Studio 2022, .NET 6.
Проверка Chromium спустя три года. Ну и как оно?
Подумаем.
Я так и не дождался этой обещанной статьи, поэтому написал собственную :)
Вызов виртуальных функций в конструкторах и деструкторах (C++)
Мы посмотрели на этот ControlFlag, думали может по него какую-то статью обзорную написать. Но там писать не про что. Для кода анализатора PVS-Studio (C++ ядро) выдал всего два бессмысленных сообщения вида:
Ему подозрительно, что 2 соседних if'а имеют return true, а посередине return false. Хм…
Для сравнения, от того-же ASan, на практике гораздо больше прока: Зачем нужен динамический анализ кода, на примере проекта PVS-Studio.