Пользователи




Ресурсы для разработчиков

Блог

05.02.2010 Ключ /Wp64 и ошибка с обработкой шаблонов
Занимаясь продвижением анализатора Viva64 (из состава PVS-Studio) мы часто комментируем ключ /Wp64 из Microsoft Visual C++.»

03.02.2010 Параллельные заметки №1 – технология OpenMP
В ближайшие несколько постов мы расскажем о практическом использовании многоядерных процессоров.»

29.01.2010 64-битные технологии - еще одно направление в современном программном обеспечении
В блогах и форумах довольно много говорится о многоядерных процессорах, как очевидном этапе развития компьютерных систем.»

Blog RSS

Новости

2.02.2010 На нашем сайте стали доступны "Уроки разработки 64-битных приложений на языке Си/Си++".»

1.02.2010 Выпущена новая версия PVS-Studio 3.45!»

21.01.2010 Выпущена новая версия PVS-Studio 3.44!»

Новости RSS

Статьи

10.12.2009 Вопросы и ответы по PVS-Studio (PVS-Studio FAQ)
В документе собраны некоторые вопросы и ответы по анализатору кода PVS-Studio компании ООО "СиПроВер".»

09.12.2009 Вопросы и ответы по библиотеке VivaCore (VivaCore FAQ)
В документе собраны некоторые вопросы и ответы по библиотеке анализа Си/Си++ кода VivaCore компании ООО "СиПроВер".»

23.11.2009 PVS-Studio: использование функции "Mark as False Alarm"
В статье приведены описание и пример использования новой функции PVS-Studio 3.40 "Mark as False Alarm" ("Пометить как ложное срабатывание").»

Статьи RSS

Bookmark and Share

Статический анализ кода

Статический анализ кода. Методология выявления ошибок в программном коде, основанная на просмотре кода программистом (code review), помеченного статическим анализатором там, где потенциально может находиться ошибка. Другими словам инструмент для статического анализа определяет в тексте программы места, содержащие или потенциально содержащие ошибки, предрасположенные к ошибкам или имеющие плохое форматирование. Такие участки кода предоставляются программисту для изучения, и он может принять решение о модификации данного участка программы.

Статические анализаторы могут быть как общего назначения (например, Microsoft PREFast, Gimpel PC-Lint, Parasoft C++Test), так и специализированными для поиска определенных классов ошибок (например, Chord для верификации параллельных Java программ). Обычно инструменты статического анализа достаточно дороги, требуют знаний о методологии их использования, имеют достаточно сложные подсистемы настройки и подавления ложных сообщений. По этой причине статические анализаторы обычно используются в компаниях с высокой культурой разработки и зрелыми процессами разработки программного обеспечения. Взамен на сложность в использовании, статические анализаторы кода позволяют выявить большое количество ошибок на самых ранних этапах разработки программного кода. Использование методологии статического анализа также дисциплинирует программистов и помогает контролировать работу молодых сотрудников.

Основное преимущество использования статических анализаторов кода состоит в возможности существенной снижении стоимости устранения дефектов в программе. Чем раньше ошибка выялена, тем меньше стоимость ее исправления. Так согласно данным приведенным в книге Макконнелла "Совершенный Код", исправление ошибки на этапе тестирования обойдется в десять раз дороже, чем на этапе конструирования (кодирования):


Рисунок 1. Средняя стоимость исправления дефектов в зависимости от времени их внесения и обнаружения (данные для таблицы взяты из книги С. Макконнелла "Совершеннй Код").

Инструменты статического анализа позволяют выявить большое количество ошибок этапа конструирования, что существенно снижает стоимость разработки всего проекта.

Наша компания "Системы программной верификации" занимается созданием решений в области тестирования и статического анализа кода. Основной продукт нашей компании PVS-Studio представляет собой статический анализатор кода для проверки современных и ресурсоемких приложений. Анализатор позволяет диагностировать ошибки, специфичные для 64-битных и параллельных решений, помочь в оптимизации приложений и повысить их безопасность.

Также наша компания на основе имеющегося опыта и разработок в области анализа кода представляет следующие услуги:

  • создание специализированных анализаторов кода;
  • перенос приложений на 64-битные системы;
  • оптимизация и распараллеливание кода;
  • аудит качества программного кода.

Более подробно с возможными вариантами сотрудничества вы можете познакомиться в разделе "Услуги компании".

Библиографический список

  1. Википедия. "Статический анализ кода"
  2. Википедия. "Список инструментов для статического анализа кода"
  3. Макконнелл С. Совершенный код. Мастер-класс / Пер. с англ. - М. : Издательско-торговый дом "Русская редакция"; СПб.: Питер, 2005. - 896 стр.: ил. ISBN 5-7502-0064-7.

Powered by RSDN Authoring Pack