Отчёт о разработке Linux-версии PVS-Studio и результаты проверки LLVM (реклама)

Разработчики коммерческого статического анализатора PVS-Studio опубликовали отчёт о разработке Linux-версии продукта и продолжили проверку открытых проектов. В статье рассказано, как после 10 лет выпуска продукта для Windows, было решено адаптировать его для Linux, и какие подводные камни пришлось обойти для решения этой задачи. Около трёх лет назад консольное ядро анализатора PVS-Studio было портировано на Linux за пару месяцев, но создание на его основе конечного программного продукта потребовало огромной работы, решения непредвиденных проблем и учёта различных нюансов, таких как поддержка расширений GCC и интеграция с различными сборочными инструментариями.

Что касается работы по выявлению ошибок в открытом ПО, то следом за проведённой в августе проверкой набора компиляторов GCC, анализ ошибок был проведён и для кодовой базы LLVM. Для проверки LLVM была использована Linux-версия PVS-Studio, а для отслеживания вызовов компилятора задействован формат JSON Compilation Database. Несмотря на то, что LLVM ранее уже проверялся в PVS-Studio в 2011 и 2012 годах, повторная проверка выявила порцию новых ошибок. В частности, обращается внимание на проблемы с использованием небитовых полей, досрочным завершением циклов, путаницей с указанием операторов »||» и »&&», опечатками в определении условий, возвратом функцией ссылки на временный локальный объект, повторным присваиванием, подозрительным переопределением указателей, путаницей при использовании release () и reset (), разыменованием нулевого указателя и т.п

Также можно отметить публикацию в свободном доступе электронной книги «Главный вопрос программирования, рефакторинга и всего такого», в которой Андрей Карпов, технический директор компании «СиПроВер», делится своим опытом разбора ошибок в программах на C/C++ и приводит 42 рекомендации, которые помогут избежать ошибок при программировании и повысить качество кода. Каждая рекомендация сопровождается практическим примером.

©  OpenNet