SlideShare uma empresa Scribd logo
1 de 9
PVS-Studio - статический анализатор,
выявляющий ошибки в исходном коде
приложений на языке C/C++/C++11.
www.viva64.com
Возможности анализа кода
В составе анализатора можно выделить следующие наборы правил:
1. Диагностика общего назначения – более 200 правил, охватывающие как
распространённые, так и очень редкие ошибки;
2. Диагностика возможных оптимизаций - выявление участков кода в
программах, которые можно оптимизировать;
3. Диагностика 64-битных ошибок – незаменимый инструмент при
миграции программ с 32-битных систем на 64-битные.
Особенности PVS-Studio
1. Инкрементальный анализ – автоматизация запуска анализатора сразу же
после компиляции на машине разработчика;
2. Online/Offline-справки на русском и английском языке;
3. Сохранение и загрузка результатов анализа;
4. Работа на всех ядрах и процессорах;
5. Оценка сложности 64-битной миграции кода;
6. Интерактивные фильтры;
7. Удобная интеграция в командный процесс разработки;
8. Разметка текста программы для проверки только нового кода.
Возможности интеграции
Плагин для
MS Visual Studio
Запуск из
командной строки
Мониторинг
запуска
компиляторов
Интеграция с MS Visual Studio
Инструмент PVS-Studio интегрируется в среду Visual Studio 2013, 2012, 2010,
2008, 2005. При этом предоставляется удобный пользовательский интерфейс
для анализа файлов, навигации по коду, получения справочной информации.
Анализатор готов к работе сразу же после инсталляции.
PVS-Studio Standalone
PVS-Studio Standalone –утилита, которая
позволяет:
1. Просматривать результаты проверки c
навигацией по коду и справке без
использования MS Visual Studio;
2. Проверять проекты с помощью
мониторинга запуска компиляторов во
время сборки и независимо от
используемой сборочной системы;
3. Проверять уже сгенерированные
препроцессированные файлы, просто
указав путь к ним и исходным файлам.
Запуск из командной строки
Добавьте вызов анализатора в свой сборочный скрипт
и просматривайте лог проверки с помощью утилиты
PVS-Studio Standalone
...
.cpp.o:
$(CXX) $(CFLAGS) $(DFLAGS) $(INCLUDES) $< -o $@
PVS-Studio --cfg PVS-Studio.cfg --source-file $< --cl-params $(CFLAGS) $(DFLAGS) $(INCLUDES)
...
Проверка открытых проектов
На официальном сайте PVS-Studio вы можете найти множество реальных
ошибок, найденных в сотнях open-source проектов, даже в таких известных, как
Google Chromium, Qt, Unreal Engine, Oracle Virtual Box и других.
Обновляемый список: http://www.viva64.com/ru/a/0084/
www.viva64.com
OOO "Program Verification Systems"
Что мы делаем?
• Мы разрабатываем статический анализатор кода PVS-Studio, обнаруживающий
ошибки в программах на C, C++, C++11.
• Заказная разработка. Обладая знаниями, как делать надёжный C++ и C# код, мы
предлагаем свои услуги по удалённой разработке и доработке проектов.
www.viva64.com
support@viva64.com

Mais conteúdo relacionado

Mais de Andrey Karpov

Mais de Andrey Karpov (20)

60 антипаттернов для С++ программиста
60 антипаттернов для С++ программиста60 антипаттернов для С++ программиста
60 антипаттернов для С++ программиста
 
60 terrible tips for a C++ developer
60 terrible tips for a C++ developer60 terrible tips for a C++ developer
60 terrible tips for a C++ developer
 
Ошибки, которые сложно заметить на code review, но которые находятся статичес...
Ошибки, которые сложно заметить на code review, но которые находятся статичес...Ошибки, которые сложно заметить на code review, но которые находятся статичес...
Ошибки, которые сложно заметить на code review, но которые находятся статичес...
 
PVS-Studio in 2021 - Error Examples
PVS-Studio in 2021 - Error ExamplesPVS-Studio in 2021 - Error Examples
PVS-Studio in 2021 - Error Examples
 
PVS-Studio in 2021 - Feature Overview
PVS-Studio in 2021 - Feature OverviewPVS-Studio in 2021 - Feature Overview
PVS-Studio in 2021 - Feature Overview
 
PVS-Studio в 2021 - Примеры ошибок
PVS-Studio в 2021 - Примеры ошибокPVS-Studio в 2021 - Примеры ошибок
PVS-Studio в 2021 - Примеры ошибок
 
PVS-Studio в 2021
PVS-Studio в 2021PVS-Studio в 2021
PVS-Studio в 2021
 
Make Your and Other Programmer’s Life Easier with Static Analysis (Unreal Eng...
Make Your and Other Programmer’s Life Easier with Static Analysis (Unreal Eng...Make Your and Other Programmer’s Life Easier with Static Analysis (Unreal Eng...
Make Your and Other Programmer’s Life Easier with Static Analysis (Unreal Eng...
 
Best Bugs from Games: Fellow Programmers' Mistakes
Best Bugs from Games: Fellow Programmers' MistakesBest Bugs from Games: Fellow Programmers' Mistakes
Best Bugs from Games: Fellow Programmers' Mistakes
 
Does static analysis need machine learning?
Does static analysis need machine learning?Does static analysis need machine learning?
Does static analysis need machine learning?
 
Typical errors in code on the example of C++, C#, and Java
Typical errors in code on the example of C++, C#, and JavaTypical errors in code on the example of C++, C#, and Java
Typical errors in code on the example of C++, C#, and Java
 
How to Fix Hundreds of Bugs in Legacy Code and Not Die (Unreal Engine 4)
How to Fix Hundreds of Bugs in Legacy Code and Not Die (Unreal Engine 4)How to Fix Hundreds of Bugs in Legacy Code and Not Die (Unreal Engine 4)
How to Fix Hundreds of Bugs in Legacy Code and Not Die (Unreal Engine 4)
 
Game Engine Code Quality: Is Everything Really That Bad?
Game Engine Code Quality: Is Everything Really That Bad?Game Engine Code Quality: Is Everything Really That Bad?
Game Engine Code Quality: Is Everything Really That Bad?
 
C++ Code as Seen by a Hypercritical Reviewer
C++ Code as Seen by a Hypercritical ReviewerC++ Code as Seen by a Hypercritical Reviewer
C++ Code as Seen by a Hypercritical Reviewer
 
The Use of Static Code Analysis When Teaching or Developing Open-Source Software
The Use of Static Code Analysis When Teaching or Developing Open-Source SoftwareThe Use of Static Code Analysis When Teaching or Developing Open-Source Software
The Use of Static Code Analysis When Teaching or Developing Open-Source Software
 
Static Code Analysis for Projects, Built on Unreal Engine
Static Code Analysis for Projects, Built on Unreal EngineStatic Code Analysis for Projects, Built on Unreal Engine
Static Code Analysis for Projects, Built on Unreal Engine
 
Safety on the Max: How to Write Reliable C/C++ Code for Embedded Systems
Safety on the Max: How to Write Reliable C/C++ Code for Embedded SystemsSafety on the Max: How to Write Reliable C/C++ Code for Embedded Systems
Safety on the Max: How to Write Reliable C/C++ Code for Embedded Systems
 
The Great and Mighty C++
The Great and Mighty C++The Great and Mighty C++
The Great and Mighty C++
 
Static code analysis: what? how? why?
Static code analysis: what? how? why?Static code analysis: what? how? why?
Static code analysis: what? how? why?
 
Zero, one, two, Freddy's coming for you
Zero, one, two, Freddy's coming for youZero, one, two, Freddy's coming for you
Zero, one, two, Freddy's coming for you
 

PVS-Studio - статический анализатор, выявляющий ошибки в исходном коде приложений на языке C/C++/C++11

  • 1. PVS-Studio - статический анализатор, выявляющий ошибки в исходном коде приложений на языке C/C++/C++11. www.viva64.com
  • 2. Возможности анализа кода В составе анализатора можно выделить следующие наборы правил: 1. Диагностика общего назначения – более 200 правил, охватывающие как распространённые, так и очень редкие ошибки; 2. Диагностика возможных оптимизаций - выявление участков кода в программах, которые можно оптимизировать; 3. Диагностика 64-битных ошибок – незаменимый инструмент при миграции программ с 32-битных систем на 64-битные.
  • 3. Особенности PVS-Studio 1. Инкрементальный анализ – автоматизация запуска анализатора сразу же после компиляции на машине разработчика; 2. Online/Offline-справки на русском и английском языке; 3. Сохранение и загрузка результатов анализа; 4. Работа на всех ядрах и процессорах; 5. Оценка сложности 64-битной миграции кода; 6. Интерактивные фильтры; 7. Удобная интеграция в командный процесс разработки; 8. Разметка текста программы для проверки только нового кода.
  • 4. Возможности интеграции Плагин для MS Visual Studio Запуск из командной строки Мониторинг запуска компиляторов
  • 5. Интеграция с MS Visual Studio Инструмент PVS-Studio интегрируется в среду Visual Studio 2013, 2012, 2010, 2008, 2005. При этом предоставляется удобный пользовательский интерфейс для анализа файлов, навигации по коду, получения справочной информации. Анализатор готов к работе сразу же после инсталляции.
  • 6. PVS-Studio Standalone PVS-Studio Standalone –утилита, которая позволяет: 1. Просматривать результаты проверки c навигацией по коду и справке без использования MS Visual Studio; 2. Проверять проекты с помощью мониторинга запуска компиляторов во время сборки и независимо от используемой сборочной системы; 3. Проверять уже сгенерированные препроцессированные файлы, просто указав путь к ним и исходным файлам.
  • 7. Запуск из командной строки Добавьте вызов анализатора в свой сборочный скрипт и просматривайте лог проверки с помощью утилиты PVS-Studio Standalone ... .cpp.o: $(CXX) $(CFLAGS) $(DFLAGS) $(INCLUDES) $< -o $@ PVS-Studio --cfg PVS-Studio.cfg --source-file $< --cl-params $(CFLAGS) $(DFLAGS) $(INCLUDES) ...
  • 8. Проверка открытых проектов На официальном сайте PVS-Studio вы можете найти множество реальных ошибок, найденных в сотнях open-source проектов, даже в таких известных, как Google Chromium, Qt, Unreal Engine, Oracle Virtual Box и других. Обновляемый список: http://www.viva64.com/ru/a/0084/ www.viva64.com
  • 9. OOO "Program Verification Systems" Что мы делаем? • Мы разрабатываем статический анализатор кода PVS-Studio, обнаруживающий ошибки в программах на C, C++, C++11. • Заказная разработка. Обладая знаниями, как делать надёжный C++ и C# код, мы предлагаем свои услуги по удалённой разработке и доработке проектов. www.viva64.com support@viva64.com