В этот раз интересные примеры ошибок нам преподнёс микромир. Мы проверили с помощью анализатора кода PVS-Studio открытый проект μManager. Это программный пакет для автоматизированного получения изображения с микроскопа.
Читать полностью »
Рубрика «обзор кода» - 3
Единорог заинтересовался микромиром
2014-03-18 в 6:01, admin, рубрики: bugs, c++, open source, pvs-studio, Блог компании PVS-Studio, обзор кода, ошибки в коде, метки: bugs, c++, open source, pvs-studio, обзор кода, ошибки в коде, СиПобочный результат: проверяем 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.
Читать полностью »
LibRaw, Coverity SCAN, PVS-Studio
2014-02-07 в 6:02, admin, рубрики: c++, open source, pvs-studio, Блог компании PVS-Studio, обзор кода, статический анализ кода, метки: c++, pvs-studio, обзор кода, Си, статический анализ кода
Прочитал заметку о проверке маленького проекта LibRaw с помощью Coverity SCAN. Из статьи следует, что ничего интересного не нашлось. Решил попробовать, сможет ли найти что-то анализатор PVS-Studio.
Читать полностью »
Анализ проекта Source SDK
2014-01-16 в 8:37, admin, рубрики: bugs, c++, cppcat, game development, pvs-studio, Блог компании PVS-Studio, обзор кода, ошибки в коде, разработка игр, метки: bugs, c++, cppcat, pvs-studio, обзор кода, ошибки в коде, разработка игр Source SDK — набор утилит для создания модификаций на движке Source, разработанный корпорацией Valve. Исходные коды проекта были скачены и проверены ещё в конце 2013 года. На новогодних праздниках я планировал написать статью о результатах проверок. Но лень победила творчество, и я приступил к написанию статьи только когда вернулся на работу. Впрочем, я думаю, вряд ли за этот период что-то успело измениться в исходных кодах. Предлагаю вашему вниманию ознакомиться с подозрительными местами, которые я нашёл с помощью анализатора кода PVS-Studio.
Читать полностью »
Альтернатива PVS-Studio за $250
2014-01-14 в 5:29, admin, рубрики: c language, c++, cppcat, pvs-studio, visual c++, Visual Studio, Блог компании PVS-Studio, обзор кода, ошибки программистов, Си, статический анализ кода, метки: c language, c++, cppcat, pvs-studio, visual c++, обзор кода, ошибки программистов, Си, статический анализ кода
Вас приветствуют разработчики статического анализатора кода PVS-Studio. Мы разработали новый программный продукт — CppCat. Разработан он так. Мы представили, что у нас нет PVS-Studio, но есть опыт в разработке инструментов статического анализа для языка Си/Си++. И мы с чистой головой разработали новый статический анализатор таким, каким бы хотели его видеть. Мы сделали инструмент простым и лёгким. И что многих обрадует, он будет стоить $250 за одну инсталляцию.
Читать полностью »
WTF?
2013-10-01 в 7:36, admin, рубрики: c++, code review, open source, pvs-studio, wtf, Блог компании PVS-Studio, обзор кода, ошибки в программе, Программирование, С++, метки: code review, open source, pvs-studio, wtf, обзор кода, ошибки в программе, С++, Си
Меня не покидает когнитивный диссонанс. На форумах обсуждаются возвышенные идеи о написании сверх надежных классов, кто-то рассказывает, что его проект собирается с ключами -Wall -Wextra -pedantic -Weffc++. Господи, где все эти достижения науки и техники? Почему я вижу кругом глупейшие ошибки? Может быть, со мной что-то не так?
Заземлённые указатели
2013-08-28 в 7:44, admin, рубрики: c++, code review, Cpp, cppcheck, Блог компании PVS-Studio, методологии разработки, обзор кода, разработка, разработка программного обеспечения, С++, указатели, метки: code review, Cpp, cppcheck, методологии разработки, обзор кода, разработка программного обеспечения, С++, указатели
Не так давно, один из сотрудников покинул наш коллектив и присоединился к компании, занимающийся разработкой программного обеспечения, связанного с встраиваемыми системами. Ничего особенного в этом нет, всегда и везде, кто-то уходит, а кто-то приходит. Всё зависит от количества плюшек, удобства и предпочтений. Интересно другое. Человек искренне переживает за состояние кода на новом месте работы, что в результате и вылилось в эту совместную статью. Тяжело, «просто программировать», когда знаешь, что такое статический анализ кода.
Читать полностью »
Третья проверка кода проекта Chromium с помощью анализатора PVS-Studio
2013-08-13 в 6:02, admin, рубрики: c/c++, c++, chromium, Google Chrome, pvs-studio, Блог компании PVS-Studio, обзор кода, ошибки в коде, ошибки программистов, метки: c/c++, c++, chromium, pvs-studio, обзор кода, ошибки в коде, ошибки программистов Браузер Chromium очень быстро развивается. Например, когда в 2011 году мы впервые проверили этот проект (solution), он состоял из 473 проектов. Сейчас, он состоит уже из 1169 проектов. Нам было интересно, смогли ли разработчики Google сохранить высочайшее качество кода, при такой скорости развития Chromium. Да, смогли.
Читать полностью »
Марсианский код: лекция о том, как программировали Curiosity
2012-12-02 в 14:29, admin, рубрики: curiosity, контроль качества, марс, наса, обзор кода, разработка, Совершенный код, статический анализ кода, тестирование, метки: curiosity, контроль качества, марс, наса, обзор кода, статический анализ кодаНа конференции HotDep 2012 Джерард Хольцман из Лаборатории реактивного движения НАСА прочёл лекцию о том, как обеспечивалась надёжность и корректность кода для марсохода Curiosity. Часовая лекция рассказывает, какие методики, стандарты кодирования и инструменты разработки применялись программистами НАСА, чтобы написать три с половиной миллиона строк сверхнадёжного кода, который в автономном режиме посадил Curiosity на поверхность Марса и обеспечивает работу всех его систем и приборов.
Лекцию можно посмотреть онлайн на сайте usenix.org, или Читать полностью »
Сравнение методик обзора кода
2012-09-13 в 19:02, admin, рубрики: code review, обзор кода, Программирование, разработка, Совершенный код, метки: code review, обзор кода Думаю, многие разработки знакомы с понятием code review или обзор кода по-русски (также данный термин переводят как просмотр кода, инспектирование кода или рецензирование кода – далее, для единообразия, будет использоваться вариант «обзор кода»). Недавно я столкнулся с необходимостью «разложить по полочкам» и классифицировать знания по этой теме. Результат – данная статья. Надеюсь, она окажется полезной, а также поможет внедрить обзоры кода в свой производственный процесс тем, кто только об этом задумывается.
Обзор кода является одним из наиболее эффективных методов поиска и устранения дефектов программы. Обзоры проводятся человеком, что позволяет находить широкий класс ошибок, в том числе с трудом детектируемых или вообще не детектируемых автоматическими средствами. Безусловно, обзор кода, не отменяет использование анализаторов кода или других методик обнаружения ошибок, например, unit-тестирования. К сожалению, не существует метода, который один обеспечил бы обнаружение всех дефектов программы (в исследованиях эффективность обзора кода обычно оценивается как 30-50% обнаруженных ошибок в приложении).
Читать полностью »