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

15 ноября 2016 года

Разработчики коммерческого статического анализатора 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 рекомендации, которые помогут избежать ошибок при программировании и повысить качество кода. Каждая рекомендация сопровождается практическим примером.

Источники

править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Отчёт о разработке Linux-версии PVS-Studio и результаты проверки LLVM (реклама)», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.