🗊Презентация Статический анализатор кода PVS-Studio

Нажмите для полного просмотра!
Статический анализатор кода PVS-Studio, слайд №1Статический анализатор кода PVS-Studio, слайд №2Статический анализатор кода PVS-Studio, слайд №3Статический анализатор кода PVS-Studio, слайд №4Статический анализатор кода PVS-Studio, слайд №5Статический анализатор кода PVS-Studio, слайд №6Статический анализатор кода PVS-Studio, слайд №7Статический анализатор кода PVS-Studio, слайд №8Статический анализатор кода PVS-Studio, слайд №9Статический анализатор кода PVS-Studio, слайд №10Статический анализатор кода PVS-Studio, слайд №11Статический анализатор кода PVS-Studio, слайд №12Статический анализатор кода PVS-Studio, слайд №13Статический анализатор кода PVS-Studio, слайд №14Статический анализатор кода PVS-Studio, слайд №15Статический анализатор кода PVS-Studio, слайд №16Статический анализатор кода PVS-Studio, слайд №17Статический анализатор кода PVS-Studio, слайд №18Статический анализатор кода PVS-Studio, слайд №19Статический анализатор кода PVS-Studio, слайд №20Статический анализатор кода PVS-Studio, слайд №21Статический анализатор кода PVS-Studio, слайд №22Статический анализатор кода PVS-Studio, слайд №23Статический анализатор кода PVS-Studio, слайд №24Статический анализатор кода PVS-Studio, слайд №25Статический анализатор кода PVS-Studio, слайд №26Статический анализатор кода PVS-Studio, слайд №27Статический анализатор кода PVS-Studio, слайд №28Статический анализатор кода PVS-Studio, слайд №29Статический анализатор кода PVS-Studio, слайд №30Статический анализатор кода PVS-Studio, слайд №31Статический анализатор кода PVS-Studio, слайд №32Статический анализатор кода PVS-Studio, слайд №33Статический анализатор кода PVS-Studio, слайд №34Статический анализатор кода PVS-Studio, слайд №35Статический анализатор кода PVS-Studio, слайд №36Статический анализатор кода PVS-Studio, слайд №37Статический анализатор кода PVS-Studio, слайд №38Статический анализатор кода PVS-Studio, слайд №39Статический анализатор кода PVS-Studio, слайд №40Статический анализатор кода PVS-Studio, слайд №41Статический анализатор кода PVS-Studio, слайд №42Статический анализатор кода PVS-Studio, слайд №43Статический анализатор кода PVS-Studio, слайд №44Статический анализатор кода PVS-Studio, слайд №45Статический анализатор кода PVS-Studio, слайд №46Статический анализатор кода PVS-Studio, слайд №47Статический анализатор кода PVS-Studio, слайд №48Статический анализатор кода PVS-Studio, слайд №49Статический анализатор кода PVS-Studio, слайд №50Статический анализатор кода PVS-Studio, слайд №51Статический анализатор кода PVS-Studio, слайд №52Статический анализатор кода PVS-Studio, слайд №53Статический анализатор кода PVS-Studio, слайд №54Статический анализатор кода PVS-Studio, слайд №55Статический анализатор кода PVS-Studio, слайд №56Статический анализатор кода PVS-Studio, слайд №57Статический анализатор кода PVS-Studio, слайд №58Статический анализатор кода PVS-Studio, слайд №59Статический анализатор кода PVS-Studio, слайд №60Статический анализатор кода PVS-Studio, слайд №61Статический анализатор кода PVS-Studio, слайд №62Статический анализатор кода PVS-Studio, слайд №63Статический анализатор кода PVS-Studio, слайд №64Статический анализатор кода PVS-Studio, слайд №65Статический анализатор кода PVS-Studio, слайд №66Статический анализатор кода PVS-Studio, слайд №67Статический анализатор кода PVS-Studio, слайд №68Статический анализатор кода PVS-Studio, слайд №69Статический анализатор кода PVS-Studio, слайд №70Статический анализатор кода PVS-Studio, слайд №71Статический анализатор кода PVS-Studio, слайд №72Статический анализатор кода PVS-Studio, слайд №73Статический анализатор кода PVS-Studio, слайд №74Статический анализатор кода PVS-Studio, слайд №75Статический анализатор кода PVS-Studio, слайд №76Статический анализатор кода PVS-Studio, слайд №77Статический анализатор кода PVS-Studio, слайд №78Статический анализатор кода PVS-Studio, слайд №79Статический анализатор кода PVS-Studio, слайд №80Статический анализатор кода PVS-Studio, слайд №81Статический анализатор кода PVS-Studio, слайд №82Статический анализатор кода PVS-Studio, слайд №83Статический анализатор кода PVS-Studio, слайд №84Статический анализатор кода PVS-Studio, слайд №85

Содержание

Вы можете ознакомиться и скачать презентацию на тему Статический анализатор кода PVS-Studio. Доклад-сообщение содержит 85 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





PVS-Studio
ООО «СиПроВер»
Сайт: www.viva64.com
Контакты: support@viva64.com
Описание слайда:
PVS-Studio ООО «СиПроВер» Сайт: www.viva64.com Контакты: support@viva64.com

Слайд 2





Статический анализатор кода PVS-Studio
Выполняет анализ кода на языках: C, C++, C++/CLI, C++/CX, C#
Поддерживаются проекты, разрабатываемые с помощью:
Windows: 	Visual C++, Clang, MinGW, Visual C#
Linux: 		Clang, GCC
Plugin для Visual Studio 2010-2015
Интеграция с SonarQube, QtCreator, CLion, Eclipse CDT, Anjuta DevStudio и т.д.
Утилита Standalone
Описание слайда:
Статический анализатор кода PVS-Studio Выполняет анализ кода на языках: C, C++, C++/CLI, C++/CX, C# Поддерживаются проекты, разрабатываемые с помощью: Windows: Visual C++, Clang, MinGW, Visual C# Linux: Clang, GCC Plugin для Visual Studio 2010-2015 Интеграция с SonarQube, QtCreator, CLion, Eclipse CDT, Anjuta DevStudio и т.д. Утилита Standalone

Слайд 3





На начало 2017 года в PVS-Studio реализовано
C, C++ диагностик:	349
C# диагностик: 		130
Подробная on-line документация на русском и английском языке
PDF
Описание слайда:
На начало 2017 года в PVS-Studio реализовано C, C++ диагностик: 349 C# диагностик: 130 Подробная on-line документация на русском и английском языке PDF

Слайд 4





Основные возможности
Быстрый старт (мониторинг компиляции)
Windows утилита: 	 CLMonitoring
Linux утилита:		 pvs-studio-analyzer
Прямая интеграция анализатора в системы автоматизации сборки и утилита BlameNotifier (рассылка писем)
Режим автоматического анализа изменённых файлов
Отличная масштабируемость
Работа с ложными срабатываниями
Описание слайда:
Основные возможности Быстрый старт (мониторинг компиляции) Windows утилита: CLMonitoring Linux утилита: pvs-studio-analyzer Прямая интеграция анализатора в системы автоматизации сборки и утилита BlameNotifier (рассылка писем) Режим автоматического анализа изменённых файлов Отличная масштабируемость Работа с ложными срабатываниями

Слайд 5





Почему нужны анализаторы кода?

Почему команда PVS-Studio выбрала
C, C++ и C#?
Описание слайда:
Почему нужны анализаторы кода? Почему команда PVS-Studio выбрала C, C++ и C#?

Слайд 6





Почему C и C++?
Эффективные, но сложные языки, в которых легко допустить ошибку
Причём, так дело обстоит десятилетиями и вряд ли изменится
Давайте проверим с помощью PVS-Studio первую версию компилятора Cfront, вышедшую в свет в 1985.

“К тридцатилетию первого C++ компилятора: ищем ошибки в Cfront”
http://www.viva64.com/ru/b/0355/
Описание слайда:
Почему C и C++? Эффективные, но сложные языки, в которых легко допустить ошибку Причём, так дело обстоит десятилетиями и вряд ли изменится Давайте проверим с помощью PVS-Studio первую версию компилятора Cfront, вышедшую в свет в 1985. “К тридцатилетию первого C++ компилятора: ищем ошибки в Cfront” http://www.viva64.com/ru/b/0355/

Слайд 7





Ошибка в компиляторе Cfront (1985)
Описание слайда:
Ошибка в компиляторе Cfront (1985)

Слайд 8





Прошло 30 лет
Ничего не изменилось. Язык C++ всё так же сложен и опасен.
Размер кодовой базы растёт, и все важнее использовать инструменты статического анализа
Давайте проверим с помощью PVS-Studio код современного компилятора Clang

2016 год. “Находим ошибки в коде проекта LLVM с помощью анализатора PVS-Studio”
http://www.viva64.com/ru/b/0446/
Описание слайда:
Прошло 30 лет Ничего не изменилось. Язык C++ всё так же сложен и опасен. Размер кодовой базы растёт, и все важнее использовать инструменты статического анализа Давайте проверим с помощью PVS-Studio код современного компилятора Clang 2016 год. “Находим ошибки в коде проекта LLVM с помощью анализатора PVS-Studio” http://www.viva64.com/ru/b/0446/

Слайд 9





Clang (ошибка найдена в октябре 2016)
Описание слайда:
Clang (ошибка найдена в октябре 2016)

Слайд 10





Почему C#?
Быть может с C# ситуация лучше?
Некоторые типы ошибок в C# невозможны
Поэтому лучше, но не сильно
На месте остаются опечатки, логические ошибки и т.д.
Да и от того, что указатели назвали ссылками лучше не стало
Мы видим всё ту же ошибку с нулевой ссылкой
Давайте проверим, например, проект Microsoft PowerShell: http://www.viva64.com/ru/b/0447/
Описание слайда:
Почему C#? Быть может с C# ситуация лучше? Некоторые типы ошибок в C# невозможны Поэтому лучше, но не сильно На месте остаются опечатки, логические ошибки и т.д. Да и от того, что указатели назвали ссылками лучше не стало Мы видим всё ту же ошибку с нулевой ссылкой Давайте проверим, например, проект Microsoft PowerShell: http://www.viva64.com/ru/b/0447/

Слайд 11





Такие ошибки актуальны и для C#
Описание слайда:
Такие ошибки актуальны и для C#

Слайд 12





Мы можем очень долго демонстрировать подобные примеры
Анализатор PVS-Studio легко находит ошибки в известных проектах:

Linux kernel - http://www.viva64.com/ru/b/0460/
GCC - http://www.viva64.com/ru/b/0425/
MSBuild - http://www.viva64.com/ru/b/0424/
Qt - http://www.viva64.com/ru/b/0424/
И так далее - http://www.viva64.com/ru/inspections/
Это говорит о востребованности статического анализа кода
Давайте посмотрим какие ошибки умеет искать PVS-Studio
Описание слайда:
Мы можем очень долго демонстрировать подобные примеры Анализатор PVS-Studio легко находит ошибки в известных проектах: Linux kernel - http://www.viva64.com/ru/b/0460/ GCC - http://www.viva64.com/ru/b/0425/ MSBuild - http://www.viva64.com/ru/b/0424/ Qt - http://www.viva64.com/ru/b/0424/ И так далее - http://www.viva64.com/ru/inspections/ Это говорит о востребованности статического анализа кода Давайте посмотрим какие ошибки умеет искать PVS-Studio

Слайд 13





Диагностические возможности PVS-Studio
Описание слайда:
Диагностические возможности PVS-Studio

Слайд 14





Ошибки при переносе кода на 64-битные платформы
Описание слайда:
Ошибки при переносе кода на 64-битные платформы

Слайд 15





Адрес локальной переменной возвращается из функции по ссылке
Описание слайда:
Адрес локальной переменной возвращается из функции по ссылке

Слайд 16





Арифметическое переполнение, потеря значимости
Описание слайда:
Арифметическое переполнение, потеря значимости

Слайд 17





Выход за границу массива
Описание слайда:
Выход за границу массива

Слайд 18





Мёртвый код
Описание слайда:
Мёртвый код

Слайд 19





Недостижимый код
Описание слайда:
Недостижимый код

Слайд 20





Неинициализированные переменные
Описание слайда:
Неинициализированные переменные

Слайд 21





Неиспользуемые переменные и аргументы
Описание слайда:
Неиспользуемые переменные и аргументы

Слайд 22





Некорректные операции сдвига
Описание слайда:
Некорректные операции сдвига

Слайд 23





Неопределенное поведение
Описание слайда:
Неопределенное поведение

Слайд 24





Неправильная работа с типами
Описание слайда:
Неправильная работа с типами

Слайд 25





Неправильное представление о работе функции/класса
Описание слайда:
Неправильное представление о работе функции/класса

Слайд 26





Отсутствие виртуального деструктора
Описание слайда:
Отсутствие виртуального деструктора

Слайд 27





Оформление кода не совпадает с логикой его работы
Описание слайда:
Оформление кода не совпадает с логикой его работы

Слайд 28





Ошибки при работе с исключениями
Описание слайда:
Ошибки при работе с исключениями

Слайд 29





Переполнение буфера
Описание слайда:
Переполнение буфера

Слайд 30





Проблемы безопасности
Описание слайда:
Проблемы безопасности

Слайд 31





Путаница с приоритетом операций
Описание слайда:
Путаница с приоритетом операций

Слайд 32





Разыменование нулевого указателя / нулевой ссылки
Описание слайда:
Разыменование нулевого указателя / нулевой ссылки

Слайд 33





Ошибки синхронизации
Описание слайда:
Ошибки синхронизации

Слайд 34





Целочисленное деление на 0
Описание слайда:
Целочисленное деление на 0

Слайд 35





Опечатки и Copy-Paste
Анализатор PVS-Studio эффективно выявляет опечатки и последствия неудачного Copy-Paste
В анализаторе реализовано много диагностик для выявления ошибок этого рода
Остановимся на них чуть подробнее и рассмотрим несколько примеров ошибок этого типа
Дополнительно рекомендуем для чтения интересную статью
“Эффект последней строки” - http://www.viva64.com/ru/b/0260/
Описание слайда:
Опечатки и Copy-Paste Анализатор PVS-Studio эффективно выявляет опечатки и последствия неудачного Copy-Paste В анализаторе реализовано много диагностик для выявления ошибок этого рода Остановимся на них чуть подробнее и рассмотрим несколько примеров ошибок этого типа Дополнительно рекомендуем для чтения интересную статью “Эффект последней строки” - http://www.viva64.com/ru/b/0260/

Слайд 36





Опечатки и Copy-Paste (пример N1)
Описание слайда:
Опечатки и Copy-Paste (пример N1)

Слайд 37





Опечатки и Copy-Paste (пример N2)
Описание слайда:
Опечатки и Copy-Paste (пример N2)

Слайд 38





Опечатки и Copy-Paste (пример N3)
Описание слайда:
Опечатки и Copy-Paste (пример N3)

Слайд 39





Опечатки и Copy-Paste (пример N4)
Описание слайда:
Опечатки и Copy-Paste (пример N4)

Слайд 40





Опечатки и Copy-Paste (пример N5)
Описание слайда:
Опечатки и Copy-Paste (пример N5)

Слайд 41





Опечатки и Copy-Paste (пример N6)
Описание слайда:
Опечатки и Copy-Paste (пример N6)

Слайд 42





Мы показали вам малую часть того, что может находить анализатор PVS-Studio
Подробная таблица диагностических возможностей:
http://www.viva64.com/ru/w/
Там же вы найдете подробное описание всех диагностик
Описание слайда:
Мы показали вам малую часть того, что может находить анализатор PVS-Studio Подробная таблица диагностических возможностей: http://www.viva64.com/ru/w/ Там же вы найдете подробное описание всех диагностик

Слайд 43





Демонстрация возможностей PVS-Studio
Для демонстрации возможностей анализатора мы проверяем открытые проекты. На начало 2017 года нами проверено 280 проектов.
Побочный результат: в этих проектах нашей командой было найдено 10700 ошибок
Это именно 10700 ошибок, а не количество сообщений, выданных анализатором
Описание слайда:
Демонстрация возможностей PVS-Studio Для демонстрации возможностей анализатора мы проверяем открытые проекты. На начало 2017 года нами проверено 280 проектов. Побочный результат: в этих проектах нашей командой было найдено 10700 ошибок Это именно 10700 ошибок, а не количество сообщений, выданных анализатором

Слайд 44





Демонстрация возможностей PVS-Studio
Благодаря нашей команде и анализатору PVS-Studio, в открытых проектах исправили более 10000 ошибок
Вы можете увидеть все эти ошибки здесь: http://www.viva64.com/ru/examples/
База ошибок постоянно пополнятся и её можно использовать при написании статей о качестве кода и составлении стандартов кодирования
Описание слайда:
Демонстрация возможностей PVS-Studio Благодаря нашей команде и анализатору PVS-Studio, в открытых проектах исправили более 10000 ошибок Вы можете увидеть все эти ошибки здесь: http://www.viva64.com/ru/examples/ База ошибок постоянно пополнятся и её можно использовать при написании статей о качестве кода и составлении стандартов кодирования

Слайд 45





Демонстрация возможностей PVS-Studio
В среднем, в одном открытом проекте мы нашли 10700 / 280 = 38 ошибок
38 ошибок на проект - это мало
Поэтому важно подчеркнуть, что это - побочный эффект
У нас нет цели найти как можно больше ошибок. Часто мы останавливаемся, когда нашли достаточное количество дефектов в проекте для написания статьи.
Описание слайда:
Демонстрация возможностей PVS-Studio В среднем, в одном открытом проекте мы нашли 10700 / 280 = 38 ошибок 38 ошибок на проект - это мало Поэтому важно подчеркнуть, что это - побочный эффект У нас нет цели найти как можно больше ошибок. Часто мы останавливаемся, когда нашли достаточное количество дефектов в проекте для написания статьи.

Слайд 46





Демонстрация возможностей PVS-Studio
Мы добились колоссальных результатов в устранении ошибок в мире open-source проектов, не ставя такую цель
В этом нам помогли:
мощные диагностические возможности PVS-Studio
возможность быстрого анализа даже незнакомых проектов
Описание слайда:
Демонстрация возможностей PVS-Studio Мы добились колоссальных результатов в устранении ошибок в мире open-source проектов, не ставя такую цель В этом нам помогли: мощные диагностические возможности PVS-Studio возможность быстрого анализа даже незнакомых проектов

Слайд 47





Правильный сценарий использования
Конечно, интересно и полезно запустить анализатор PVS-Studio и найти ошибку, которую до этого безуспешно искали 50 часов
http://www.viva64.com/ru/b/0221/

Хорошо проверять проекты и описывать найденные ошибки, как делаем это мы в рекламных целях
http://www.viva64.com/ru/inspections/
Но следует помнить, что разовые проверки - это неправильный способ использования анализаторов кода!
Описание слайда:
Правильный сценарий использования Конечно, интересно и полезно запустить анализатор PVS-Studio и найти ошибку, которую до этого безуспешно искали 50 часов http://www.viva64.com/ru/b/0221/ Хорошо проверять проекты и описывать найденные ошибки, как делаем это мы в рекламных целях http://www.viva64.com/ru/inspections/ Но следует помнить, что разовые проверки - это неправильный способ использования анализаторов кода!

Слайд 48





Правильный сценарий использования
Статический анализатор приносит пользу, когда он используется регулярно
Два основных варианта:
Автоматический анализ изменённого кода
Ночные проверки
Подробнее эти режимы рассмотрены в документации
Описание слайда:
Правильный сценарий использования Статический анализатор приносит пользу, когда он используется регулярно Два основных варианта: Автоматический анализ изменённого кода Ночные проверки Подробнее эти режимы рассмотрены в документации

Слайд 49





Кратко о внутреннем устройстве PVS-Studio
Описание слайда:
Кратко о внутреннем устройстве PVS-Studio

Слайд 50





Используемые технологии
На примерах было продемонстрировано, что PVS-Studio эффективно выявляет разнообразные типы ошибок
Кратко перечислим технологии, которые положены в основу анализатора
Подробнее эта тема раскрыта в статье
“Как PVS-Studio ищет ошибки: методики и технологии”
http://www.viva64.com/ru/b/0466/
Описание слайда:
Используемые технологии На примерах было продемонстрировано, что PVS-Studio эффективно выявляет разнообразные типы ошибок Кратко перечислим технологии, которые положены в основу анализатора Подробнее эта тема раскрыта в статье “Как PVS-Studio ищет ошибки: методики и технологии” http://www.viva64.com/ru/b/0466/

Слайд 51





Используемые технологии
Сопоставление с шаблоном (pattern-based analysis) на основе абстрактного синтаксического дерева применяется для поиска мест в исходном коде, которые похожи на известные шаблоны кода с ошибкой.
Описание слайда:
Используемые технологии Сопоставление с шаблоном (pattern-based analysis) на основе абстрактного синтаксического дерева применяется для поиска мест в исходном коде, которые похожи на известные шаблоны кода с ошибкой.

Слайд 52





Используемые технологии
Вывод типов (type inference) на основе семантической модели программы позволяет анализатору иметь полную информацию о всех переменных и выражениях, встречающихся в коде.
Описание слайда:
Используемые технологии Вывод типов (type inference) на основе семантической модели программы позволяет анализатору иметь полную информацию о всех переменных и выражениях, встречающихся в коде.

Слайд 53





Используемые технологии
Символьное выполнение (symbolic execution) позволяет вычислять значения переменных, которые могут приводить к ошибкам, производить проверку диапазонов (range checking) значений
Анализ потока данных (data-flow analysis) используется для вычисления ограничений, накладываемых на значения переменных при обработке различных конструкций языка. Например, какие значения может принимать переменная внутри блоков if/else.
Описание слайда:
Используемые технологии Символьное выполнение (symbolic execution) позволяет вычислять значения переменных, которые могут приводить к ошибкам, производить проверку диапазонов (range checking) значений Анализ потока данных (data-flow analysis) используется для вычисления ограничений, накладываемых на значения переменных при обработке различных конструкций языка. Например, какие значения может принимать переменная внутри блоков if/else.

Слайд 54





Используемые технологии
Аннотированние методов (method annotations) предоставляет больше информации об используемых методах, чем может быть получено путём анализа только их сигнатуры.
C/C++. На данный момент проаннотировано 6570 функций (стандартные библиотеки C и C++, POSIX, MFC, Qt, ZLib и так далее).
C#. На данный момент проаннотировано 920 функций.
Описание слайда:
Используемые технологии Аннотированние методов (method annotations) предоставляет больше информации об используемых методах, чем может быть получено путём анализа только их сигнатуры. C/C++. На данный момент проаннотировано 6570 функций (стандартные библиотеки C и C++, POSIX, MFC, Qt, ZLib и так далее). C#. На данный момент проаннотировано 920 функций.

Слайд 55





Используемые технологии
Для разработки эффективных диагностик наша команда использует большой набор регрессионных тестов
Написан специальный инструментарий для работы с тестовой базой открытых проектов
Описание слайда:
Используемые технологии Для разработки эффективных диагностик наша команда использует большой набор регрессионных тестов Написан специальный инструментарий для работы с тестовой базой открытых проектов

Слайд 56





Используемые технологии
Тестовая база:
C++ Windows (Visual C++): 120 проектов
C++ Linux (GCC): ещё 34 проекта
C# Windows: 54 проекта
Всего мы используем 7 методик тестирования нашего проекта
См. раздел “Тестирование PVS-Studio” http://www.viva64.com/ru/b/0466/
Описание слайда:
Используемые технологии Тестовая база: C++ Windows (Visual C++): 120 проектов C++ Linux (GCC): ещё 34 проекта C# Windows: 54 проекта Всего мы используем 7 методик тестирования нашего проекта См. раздел “Тестирование PVS-Studio” http://www.viva64.com/ru/b/0466/

Слайд 57





Использование PVS-Studio
Описание слайда:
Использование PVS-Studio

Слайд 58





Думаю, вы уже устали, поэтому минутка юмора
Думаю, вы уже устали, поэтому минутка юмора
Кратко суть статического анализа кода сводится к следующему:
Описание слайда:
Думаю, вы уже устали, поэтому минутка юмора Думаю, вы уже устали, поэтому минутка юмора Кратко суть статического анализа кода сводится к следующему:

Слайд 59





Использование PVS-Studio: внедрение
Бывает непросто начать использовать статический анализ в большом проекте
Непонятно, что делать с сообщениями в старом коде…
Мы предлагаем решение: база разметки
Подробнее: http://www.viva64.com/ru/b/0364/
Описание слайда:
Использование PVS-Studio: внедрение Бывает непросто начать использовать статический анализ в большом проекте Непонятно, что делать с сообщениями в старом коде… Мы предлагаем решение: база разметки Подробнее: http://www.viva64.com/ru/b/0364/

Слайд 60





Использование PVS-Studio: подавление ложных срабатываний
Различные способы подавить ложные срабатывания в конкретных строках кода
Подавление ложных срабатываний в макросах
Подавление ложных предупреждений с помощью файлов конфигурации диагностик pvsconfig
Подробнее: http://www.viva64.com/ru/m/0017/
Описание слайда:
Использование PVS-Studio: подавление ложных срабатываний Различные способы подавить ложные срабатывания в конкретных строках кода Подавление ложных срабатываний в макросах Подавление ложных предупреждений с помощью файлов конфигурации диагностик pvsconfig Подробнее: http://www.viva64.com/ru/m/0017/

Слайд 61





Использование PVS-Studio: исключение из анализа
Возможность исключить из анализа файлы по имени, папке или маске
Интерактивная фильтрация результатов анализа (лога) в окне PVS-Studio:
по коду диагностики
по имени файла
по включению слова в текст диагностики
Описание слайда:
Использование PVS-Studio: исключение из анализа Возможность исключить из анализа файлы по имени, папке или маске Интерактивная фильтрация результатов анализа (лога) в окне PVS-Studio: по коду диагностики по имени файла по включению слова в текст диагностики

Слайд 62





Использование PVS-Studio: автоматический анализ файлов после их перекомпиляции
Наиболее эффективно исправить ошибку сразу после того, как она появилась в коде
Описание слайда:
Использование PVS-Studio: автоматический анализ файлов после их перекомпиляции Наиболее эффективно исправить ошибку сразу после того, как она появилась в коде

Слайд 63





Использование PVS-Studio: масштабируемость
Поддержка многоядерных и многопроцессорных систем с настройкой количества используемых ядер
Поддержка IncrediBuild
Описание слайда:
Использование PVS-Studio: масштабируемость Поддержка многоядерных и многопроцессорных систем с настройкой количества используемых ядер Поддержка IncrediBuild

Слайд 64





Использование PVS-Studio: непрерывная интеграция
Запуск из командной строки для проверки всего решения: позволяет интегрировать PVS-Studio в ночные сборки, чтобы утром у всех был свежий лог
Сохранение и загрузка результатов анализа: можно ночью проверить код, сохранить результаты, а утром загрузить их и смотреть
Утилита BlameNotifier: инструмент позволяет рассылать письма разработчикам об ошибках, которые PVS-Studio нашел во время ночного прогона
Использование относительных путей в файлах отчета
Описание слайда:
Использование PVS-Studio: непрерывная интеграция Запуск из командной строки для проверки всего решения: позволяет интегрировать PVS-Studio в ночные сборки, чтобы утром у всех был свежий лог Сохранение и загрузка результатов анализа: можно ночью проверить код, сохранить результаты, а утром загрузить их и смотреть Утилита BlameNotifier: инструмент позволяет рассылать письма разработчикам об ошибках, которые PVS-Studio нашел во время ночного прогона Использование относительных путей в файлах отчета

Слайд 65





Использование PVS-Studio: прочее
Удобная online-справка по всем диагностикам, которая доступна и из программы, и на сайте, а также документация в .pdf одним файлом
Интерактивная фильтрация результатов анализа (лога) в окне PVS-Studio
Статистика ошибок в Excel
Автоматическая проверка на наличие новых версий PVS-Studio
Описание слайда:
Использование PVS-Studio: прочее Удобная online-справка по всем диагностикам, которая доступна и из программы, и на сайте, а также документация в .pdf одним файлом Интерактивная фильтрация результатов анализа (лога) в окне PVS-Studio Статистика ошибок в Excel Автоматическая проверка на наличие новых версий PVS-Studio

Слайд 66





Использование PVS-Studio: Linux
С PVS-Studio легко работать в Linux
Но, чтобы не гадать с настройками и ключами запуска, просим познакомиться с инструкцией
Как запустить PVS-Studio в Linux: http://www.viva64.com/ru/m/0036/
Я знаю, что мы все не любим читать инструкции. Но поверьте, этот тот случай, когда всё просто, кратко и экономит ваше время!
Описание слайда:
Использование PVS-Studio: Linux С PVS-Studio легко работать в Linux Но, чтобы не гадать с настройками и ключами запуска, просим познакомиться с инструкцией Как запустить PVS-Studio в Linux: http://www.viva64.com/ru/m/0036/ Я знаю, что мы все не любим читать инструкции. Но поверьте, этот тот случай, когда всё просто, кратко и экономит ваше время!

Слайд 67





Использование PVS-Studio: быстрый старт
Отдельного внимания заслуживает возможность быстро попробовать PVS-Studio на любом проекте
Для этого можно отследить запуски компилятора и собрать всю необходимую для анализа информацию
Windows:
Утилита Standalone
Инструкция: http://www.viva64.com/ru/m/0033/
Linux
Утилита pvs-studio-analyzer
Инструкция: см. «Быстрый старт» в документе http://www.viva64.com/ru/m/0036/
Описание слайда:
Использование PVS-Studio: быстрый старт Отдельного внимания заслуживает возможность быстро попробовать PVS-Studio на любом проекте Для этого можно отследить запуски компилятора и собрать всю необходимую для анализа информацию Windows: Утилита Standalone Инструкция: http://www.viva64.com/ru/m/0033/ Linux Утилита pvs-studio-analyzer Инструкция: см. «Быстрый старт» в документе http://www.viva64.com/ru/m/0036/

Слайд 68





Использование PVS-Studio: SonarQube 
Для импорта результатов анализа в SonarQube мы разработали плагин sonar-pvs-studio-plugin
Использование плагина позволяет добавлять сообщения, найденные анализатором PVS-Studio, в базу сообщений сервера SonarQube
Описание слайда:
Использование PVS-Studio: SonarQube Для импорта результатов анализа в SonarQube мы разработали плагин sonar-pvs-studio-plugin Использование плагина позволяет добавлять сообщения, найденные анализатором PVS-Studio, в базу сообщений сервера SonarQube

Слайд 69





Использование PVS-Studio: SonarQube 
Подробности изложены в статье
«Контролируем качество кода с помощью платформы SonarQube»
http://www.viva64.com/ru/b/0452/
Описание слайда:
Использование PVS-Studio: SonarQube Подробности изложены в статье «Контролируем качество кода с помощью платформы SonarQube» http://www.viva64.com/ru/b/0452/

Слайд 70





Скачать и попробовать PVS-Studio
Описание слайда:
Скачать и попробовать PVS-Studio

Слайд 71





Скачать и попробовать PVS-Studio
Можно скачать и попробовать демонстрационную версию
Windows:	http://www.viva64.com/ru/pvs-studio-download/
Linux:		http://www.viva64.com/ru/pvs-studio-download-linux/
Про ограничения демонстрационной версии: http://www.viva64.com/ru/m/0009/
Вы можете написать нам и получить на время полную версию: support@viva64.com
Описание слайда:
Скачать и попробовать PVS-Studio Можно скачать и попробовать демонстрационную версию Windows: http://www.viva64.com/ru/pvs-studio-download/ Linux: http://www.viva64.com/ru/pvs-studio-download-linux/ Про ограничения демонстрационной версии: http://www.viva64.com/ru/m/0009/ Вы можете написать нам и получить на время полную версию: support@viva64.com

Слайд 72





Клиенты
Описание слайда:
Клиенты

Слайд 73





Клиенты:
Описание слайда:
Клиенты:

Слайд 74





Клиенты:
Описание слайда:
Клиенты:

Слайд 75





Купить PVS-Studio
Описание слайда:
Купить PVS-Studio

Слайд 76





Типы лицензий
Описание слайда:
Типы лицензий

Слайд 77





Индивидуальные лицензии
Мы позиционируем свой продукт как B2B решение и у нас нет индивидуальных лицензий
Почему так получилось: http://www.viva64.com/ru/b/0320/
Индивидуальные разработчики могут воспользоваться вариантом бесплатного лицензирования
Как использовать PVS-Studio бесплатно: http://www.viva64.com/ru/b/0457/
Описание слайда:
Индивидуальные лицензии Мы позиционируем свой продукт как B2B решение и у нас нет индивидуальных лицензий Почему так получилось: http://www.viva64.com/ru/b/0320/ Индивидуальные разработчики могут воспользоваться вариантом бесплатного лицензирования Как использовать PVS-Studio бесплатно: http://www.viva64.com/ru/b/0457/

Слайд 78





Купить PVS-Studio
Для заказа лицензии и получения информации о ценах, пожалуйста, напишите нам: support@viva64.com
Описание слайда:
Купить PVS-Studio Для заказа лицензии и получения информации о ценах, пожалуйста, напишите нам: support@viva64.com

Слайд 79





Помимо приобретения лицензии на статический анализатор кода PVS-Studio возможны другие варианты сотрудничества
Описание слайда:
Помимо приобретения лицензии на статический анализатор кода PVS-Studio возможны другие варианты сотрудничества

Слайд 80





Сотрудничество: аудит
Выполнение аудита кода и правка ошибок
Примеры сотрудничества подобного типа:
Как команда PVS-Studio улучшила код Unreal Engine: http://www.viva64.com/ru/b/0330/
Как перенести проект размером в 9 млн строк кода на 64-битную платформу: http://www.viva64.com/ru/b/0342/
Мы можем на регулярной основе контролировать качество кода и вносить в него правки
Имеем опыт работ в этом направлении, но эта информация попадает под NDA
Описание слайда:
Сотрудничество: аудит Выполнение аудита кода и правка ошибок Примеры сотрудничества подобного типа: Как команда PVS-Studio улучшила код Unreal Engine: http://www.viva64.com/ru/b/0330/ Как перенести проект размером в 9 млн строк кода на 64-битную платформу: http://www.viva64.com/ru/b/0342/ Мы можем на регулярной основе контролировать качество кода и вносить в него правки Имеем опыт работ в этом направлении, но эта информация попадает под NDA

Слайд 81





Сотрудничество
На базе нашего анализатора мы можем разработать на заказ специализированное решение
Мы также готовы обсуждать сотрудничество, кто готов за процент с продаж привести к нам клиентов
По этим и другим вопросам: support@viva64.com
Описание слайда:
Сотрудничество На базе нашего анализатора мы можем разработать на заказ специализированное решение Мы также готовы обсуждать сотрудничество, кто готов за процент с продаж привести к нам клиентов По этим и другим вопросам: support@viva64.com

Слайд 82





Презентация подходит к концу
Спасибо всем, кто добрался сюда
Описание слайда:
Презентация подходит к концу Спасибо всем, кто добрался сюда

Слайд 83





Полезные ссылки
Расскажем о некоторых интересных и полезных материалах, которые можно найти на сайте компании
Электронная книга «Главный вопрос программирования, рефакторинга и всего такого» - http://www.viva64.com/ru/b/0391/
Электронная книга «Разработки 64-битных приложений на языке Си/Си++» - http://www.viva64.com/ru/l/full/
Описание слайда:
Полезные ссылки Расскажем о некоторых интересных и полезных материалах, которые можно найти на сайте компании Электронная книга «Главный вопрос программирования, рефакторинга и всего такого» - http://www.viva64.com/ru/b/0391/ Электронная книга «Разработки 64-битных приложений на языке Си/Си++» - http://www.viva64.com/ru/l/full/

Слайд 84





Полезные ссылки
Как 10 лет назад начинался проект PVS-Studio: http://www.viva64.com/ru/b/0465/
Контролируем качество кода с помощью платформы SonarQube: http://www.viva64.com/ru/b/0452/
Руководство по разработке модулей расширений на C# для Visual Studio 2005-2012 и Atmel Studio: http://www.viva64.com/ru/a/0082/
Описание слайда:
Полезные ссылки Как 10 лет назад начинался проект PVS-Studio: http://www.viva64.com/ru/b/0465/ Контролируем качество кода с помощью платформы SonarQube: http://www.viva64.com/ru/b/0452/ Руководство по разработке модулей расширений на C# для Visual Studio 2005-2012 и Atmel Studio: http://www.viva64.com/ru/a/0082/

Слайд 85





Всем спасибо! До свидания
Написать письмо: support@viva64.com
Подписаться на твиттер: @Code_Analysis
Скачать PVS-Studio для Windows:
http://www.viva64.com/ru/pvs-studio/
Скачать PVS-Studio для Linux:
http://www.viva64.com/ru/pvs-studio-download-linux/
Описание слайда:
Всем спасибо! До свидания Написать письмо: support@viva64.com Подписаться на твиттер: @Code_Analysis Скачать PVS-Studio для Windows: http://www.viva64.com/ru/pvs-studio/ Скачать PVS-Studio для Linux: http://www.viva64.com/ru/pvs-studio-download-linux/



Похожие презентации
Mypresentation.ru
Загрузить презентацию