Недавно я решил вновь проверить физический движок Newton Game Dynamics. Код проекта качественный. Поэтому почти не было предупреждений, выявивших ошибки. Зато было несколько десятков ложных срабатываний. Вроде бы писать статью не о чем. Но мне пришла в голову мысль, что можно написать о том, как работать с ложными срабатываниями, и как сделать, чтобы их не было. Проект Newton Game Dynamics показался мне подходящим для этого кандидатом.
Читать полностью »
Рубрика «pvs-studio» - 38
Работа с ложными срабатываниями в PVS-Studio и CppCat
2014-06-20 в 18:00, admin, рубрики: c++, code review, cppcat, pvs-studio, static code analysis, Блог компании PVS-Studio, обзор кода, разработка, статический анализ кода, метки: c++, code review, cppcat, pvs-studio, static code analysis, обзор кода, Си, статический анализ кодаЛегко и просто проверяем Firefox с помощью PVS-Studio Standalone
2014-06-15 в 9:39, admin, рубрики: bugs, c++, code review, Firefox, open source, pvs-studio, static code analysis, Блог компании PVS-Studio, обзор кода, ошибки в программе, статический анализ кода, метки: bugs, c++, code review, firefox, pvs-studio, static code analysis, обзор кода, ошибки в программе, Си, статический анализ кода
Три года назад мы уже проверяли Mozilla Firefox с помощью анализатора PVS-Studio. Тогда это было неудобно и затруднительно. Для Firefox отсутствует проектный файл для Visual Studio. Сборка осуществляется с помощью make-файлов. Поэтому просто взять и проверить проект нельзя. Требовалось интегрировать PVS-Studio в систему сборки, что оказалось трудной задачей. В результате, как мне помнится, была проанализирована только часть проекта. Но всё поменялось, когда появился PVS-Studio Standalone. Теперь можно отследить все запуски компиляторов и легко проверить проект.
Читать полностью »
Математикам доверяй, но проверяй
2014-03-30 в 5:52, admin, рубрики: bugs, c++, error, pvs-studio, SciLab, Блог компании PVS-Studio, математический пакет, обзор кода, ошибки в коде, ошибки в программе, Си, статический анализ кода, метки: bugs, c++, error, pvs-studio, SciLab, математический пакет, обзор кода, ошибки в коде, ошибки в программе, Си, статический анализ кода
Я временами бываю озадачен, рассматривая ошибки в очередном программном проекте. Многие из этих ошибок живут в проектах годами. Смотришь на сотню ляпов в коде и удивляешься, как программа вообще работает. И ведь как-то работает. Ей даже пользуются. Причем, я говорю не о коде, рисующем покемона в игре. А, например, о математических библиотеках. Да, вы верно догадались. В этой статье пойдет речь о проверке кода математической библиотеки Scilab.
Читать полностью »
PVS-Studio теперь поддерживает любую сборочную систему на Windows и любой компилятор. Легко и «из коробки»
2014-03-28 в 5:19, admin, рубрики: pvs-studio, visual c++, Блог компании PVS-Studio, статический анализ кода, метки: pvs-studio, visual c++, статический анализ кода
Сейчас в PVS-Studio мы делаем бомбу!
В следующей версии PVS-Studio 5.15 сможет проверять проекты, которые собираются абсолютно в любой сборочной системе: Makefile, Visual Studio Project, собственная система сборки на основе Python, Bash или что там еще… Теперь мы можем просто «наблюдать» за вызовами компилятора. И собирать всю необходимую информацию для запуска анализа автоматически. Более того, это работает с любым (разумным) компилятором C/C++, который запускается в Windows. Хотите подробностей?
Единорог заинтересовался микромиром
2014-03-18 в 6:01, admin, рубрики: bugs, c++, open source, pvs-studio, Блог компании PVS-Studio, обзор кода, ошибки в коде, метки: bugs, c++, open source, pvs-studio, обзор кода, ошибки в коде, Си
В этот раз интересные примеры ошибок нам преподнёс микромир. Мы проверили с помощью анализатора кода PVS-Studio открытый проект μManager. Это программный пакет для автоматизированного получения изображения с микроскопа.
Читать полностью »
Сравнение анализаторов кода: CppCat, Cppcheck, PVS-Studio, Visual Studio
2014-03-12 в 5:49, admin, рубрики: c++, c++11, cppcat, cppcheck, pvs-studio, visual c++, Visual Studio, visual studio 2013, Блог компании PVS-Studio, Си, статический анализ кода, метки: c++, c++11, cppcat, cppcheck, pvs-studio, visual c++, Visual Studio, visual studio 2013, Си, статический анализ кодаАвторы: Евгений Рыжков (EvgeniyRyzhkov), Андрей Карпов (Andrey2008), Павел Еремеев (Paull), Святослав Размыслов (svyatoslavmc).
Мы провели подробное сравнение четырёх анализаторов Си/Си++ кода: CppCat, Cppcheck, PVS-Studio и статический анализатор, встроенный в Visual Studio 2013. Это серьезное исследование, на которое нами было потрачено около 170 человеко-часов и которое, на наш взгляд, хорошо отражает картину, существующую на данный момент.
Читать полностью »
Побочный результат: проверяем CryEngine 3 SDK с помощью CppCat
2014-03-10 в 14:11, admin, рубрики: bugs, c++, code review, cppcat, game development, pvs-studio, Блог компании PVS-Studio, ошибки в коде, ошибки в программе, метки: bugs, c++, code review, cppcat, pvs-studio, ошибки в коде, ошибки в программе, Си
Мы закончили сравнивать статические анализаторы кода CppCat, Cppcheck, PVS-Studio и анализатор встроенный в Visual Studio 2013. В ходе этого было проверено более 10 открытых проектов. И про некоторые из них можно написать статьи. Вот очередная такая статья о результатах проверки проекта CryEngine 3 SDK.
Читать полностью »
Сколько стоит одна ошибка в наших программах, или какие ошибки бывают в PVS-Studio и CppCat
2014-02-28 в 5:58, admin, рубрики: c++, cppcat, pvs-studio, Блог компании PVS-Studio, пятница, статический анализ кода, метки: cppcat, pvs-studio, пятница, статический анализ кодаВ списке вопросов, которые всегда задают нам после прочтения наших статей есть вопрос: «А вы проверяете код своего анализатора им самим?». И дается ответ в том ключе, что у нас всегда проверяется код во время написания с помощью режима инкрементального анализа (проверки файлов сразу после компиляции). А также запускаются ночные проверки для всего кода. И в связи с этим мы, к сожалению (ирония), никогда не сможем написать статью про ошибки в наших программных продуктах.
Однако сегодня – именно статья про одну нашу ошибку и про то, сколько она нам стоила. Заинтриговал?
Эксперимент по проверке библиотеки glibc
2014-02-26 в 11:22, admin, рубрики: glibc, linux, pvs-studio, Блог компании PVS-Studio, Си, статический анализ кода, метки: c++, glibc, pvs-studio, Си, статический анализ кода
Мы провели эксперимент по проверке библиотеки glibc с помощью PVS-Studio. Цель эксперимента посмотреть, насколько успешно анализатор может проверять Linux-проекты. Пока плохо может. Возникает огромное количество ложных срабатываний из-за использования нестандартных расширений. Однако, всё равно удалось найти кое что интересного.
Читать полностью »
Побочный результат: проверяем Firebird с помощью PVS-Studio
2014-02-21 в 8:32, admin, рубрики: c++, code review, firebird, Firebird/Interbase, pvs-studio, Блог компании PVS-Studio, инструменты разработчика, обзор кода, статический анализ кода, метки: c++, code review, firebird, pvs-studio, инструменты разработчика, обзор кода, Си, статический анализ кода
Сейчас мы заняты большой задачей. Мы хотим провести сравнение четырёх анализаторов кода: CppCat, Cppcheck, PVS-Studio и Visual Studio 2013 (встроенный анализатор кода). Для этого мы решили проверить не менее 10 открытых проектов и проанализировать отчёты, которые выдадут анализаторы. Это очень трудоёмкая задача и пока она не завершена. Но так как ряд проектов уже проверен, то про некоторые из них можно написать статьи. Чем я сейчас и займусь. Для начала опишу, что интересного удалось найти с помощью PVS-Studio в Firebird.
Читать полностью »