|
|
|||
![]() PVS-Studio, статический анализатор кода для 64-битного и параллельного программирования на Си/Си++
|
|||
![]() ![]() ![]() ![]() ![]()
28.06.2010
Почему в PVS-Studio в окне Error List иногда не показывается номер строки, в которой обнаружена проблема? Иногда анализатор кода PVS-Studio якобы обнаруживает проблему в коде, выдает сообщение, указывает имя файла, но не показывает номер проблемной строки как показано на рисунке.»
07.06.2010
Общение разработчиков с пользователями программ При разработке программных продуктов разработчикам очень важно иметь обратную связь с пользователями их программ.» ![]()
22.07.2010
Использование PVS-Studio вместе с системами continuous integration В статье показаны приемы организации работы анализатора кода PVS-Studio вместе с системами непрерывной интеграции (continuous integration).»
06.07.2010
Сравнение возможностей PVS-Studio и Visual Studio 2010 по выявлению дефектов в 64-битных программах В статье сравниваются три механизма анализа кода с точки зрения выявления 64-битных ошибок: компилятор Visual C++2010, компонент Code Analysis for C/C++ входящий в состав Visual Studio 2010 Premium/Ultimate и анализатор Viva64 входящий в состав PVS-Studio 3.60. »
29.06.2010
Коллекция примеров 64-битных ошибок в реальных программах
Статья представляет собой наиболее полную коллекцию примеров 64-битных ошибок на языках Си и Си++. » ![]() |
Терминология![]() Статический анализ кодаСтатический анализ кода. Методология выявления ошибок в программном коде, основанная на просмотре кода программистом (code review), помеченного статическим анализатором там, где потенциально может находиться ошибка. Другими словам инструмент для статического анализа определяет в тексте программы места, содержащие или потенциально содержащие ошибки, предрасположенные к ошибкам или имеющие плохое форматирование. Такие участки кода предоставляются программисту для изучения, и он может принять решение о модификации данного участка программы. Статические анализаторы могут быть как общего назначения (например, Microsoft PREFast, Gimpel PC-Lint, Parasoft C++Test), так и специализированными для поиска определенных классов ошибок (например, Chord для верификации параллельных Java программ). Обычно инструменты статического анализа достаточно дороги, требуют знаний о методологии их использования, имеют достаточно сложные подсистемы настройки и подавления ложных сообщений. По этой причине статические анализаторы обычно используются в компаниях с высокой культурой разработки и зрелыми процессами разработки программного обеспечения. Взамен на сложность в использовании, статические анализаторы кода позволяют выявить большое количество ошибок на самых ранних этапах разработки программного кода. Использование методологии статического анализа также дисциплинирует программистов и помогает контролировать работу молодых сотрудников. Основное преимущество использования статических анализаторов кода состоит в возможности существенной снижении стоимости устранения дефектов в программе. Чем раньше ошибка выялена, тем меньше стоимость ее исправления. Так согласно данным приведенным в книге Макконнелла "Совершенный Код", исправление ошибки на этапе тестирования обойдется в десять раз дороже, чем на этапе конструирования (кодирования): Рисунок 1. Средняя стоимость исправления дефектов в зависимости от времени их внесения и обнаружения (данные для таблицы взяты из книги С. Макконнелла <Совершенный Код>). Инструменты статического анализа позволяют выявить большое количество ошибок этапа конструирования, что существенно снижает стоимость разработки всего проекта. Наша компания "Системы программной верификации" занимается созданием решений в области тестирования и статического анализа кода. Основной продукт нашей компании PVS-Studio представляет собой статический анализатор кода для проверки современных и ресурсоемких приложений. Анализатор позволяет диагностировать ошибки, специфичные для 64-битных и параллельных решений, помочь в оптимизации приложений и повысить их безопасность. Также наша компания на основе имеющегося опыта и разработок в области анализа кода представляет следующие услуги:
Более подробно с возможными вариантами сотрудничества вы можете познакомиться в разделе "Услуги компании". Библиографический список
| ||