Презентация Статический анализатор кода PVS-Studio онлайн
На нашем сайте вы можете скачать и просмотреть онлайн доклад-презентацию на тему Статический анализатор кода PVS-Studio абсолютно бесплатно. Урок-презентация на эту тему содержит всего 85 слайдов. Все материалы созданы в программе PowerPoint и имеют формат ppt или же pptx. Материалы и темы для презентаций взяты из открытых источников и загружены их авторами, за качество и достоверность информации в них администрация сайта не отвечает, все права принадлежат их создателям. Если вы нашли то, что искали, отблагодарите авторов - поделитесь ссылкой в социальных сетях, а наш сайт добавьте в закладки.
Презентации » Устройства и комплектующие » Статический анализатор кода PVS-Studio
Оцените!
Оцените презентацию от 1 до 5 баллов!
- Тип файла:ppt / pptx (powerpoint)
- Всего слайдов:85 слайдов
- Для класса:1,2,3,4,5,6,7,8,9,10,11
- Размер файла:3.61 MB
- Просмотров:67
- Скачиваний:0
- Автор:неизвестен
Слайды и текст к этой презентации:
№2 слайд
![Статический анализатор кода](/documents_6/559616000e3ecc4af5e5a379920fc355/img1.jpg)
Содержание слайда: Статический анализатор кода 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
№4 слайд
![Основные возможности Быстрый](/documents_6/559616000e3ecc4af5e5a379920fc355/img3.jpg)
Содержание слайда: Основные возможности
Быстрый старт (мониторинг компиляции)
Windows утилита: CLMonitoring
Linux утилита: pvs-studio-analyzer
Прямая интеграция анализатора в системы автоматизации сборки и утилита BlameNotifier (рассылка писем)
Режим автоматического анализа изменённых файлов
Отличная масштабируемость
Работа с ложными срабатываниями
№6 слайд
![Почему C и C ? Эффективные,](/documents_6/559616000e3ecc4af5e5a379920fc355/img5.jpg)
Содержание слайда: Почему C и C++?
Эффективные, но сложные языки, в которых легко допустить ошибку
Причём, так дело обстоит десятилетиями и вряд ли изменится
Давайте проверим с помощью PVS-Studio первую версию компилятора Cfront, вышедшую в свет в 1985.
“К тридцатилетию первого C++ компилятора: ищем ошибки в Cfront”
http://www.viva64.com/ru/b/0355/
№8 слайд
![Прошло лет Ничего не](/documents_6/559616000e3ecc4af5e5a379920fc355/img7.jpg)
Содержание слайда: Прошло 30 лет
Ничего не изменилось. Язык C++ всё так же сложен и опасен.
Размер кодовой базы растёт, и все важнее использовать инструменты статического анализа
Давайте проверим с помощью PVS-Studio код современного компилятора Clang
2016 год. “Находим ошибки в коде проекта LLVM с помощью анализатора PVS-Studio”
http://www.viva64.com/ru/b/0446/
№10 слайд
![Почему C ? Быть может с C](/documents_6/559616000e3ecc4af5e5a379920fc355/img9.jpg)
Содержание слайда: Почему C#?
Быть может с C# ситуация лучше?
Некоторые типы ошибок в C# невозможны
Поэтому лучше, но не сильно
На месте остаются опечатки, логические ошибки и т.д.
Да и от того, что указатели назвали ссылками лучше не стало
Мы видим всё ту же ошибку с нулевой ссылкой
Давайте проверим, например, проект Microsoft PowerShell: http://www.viva64.com/ru/b/0447/
№12 слайд
![Мы можем очень долго](/documents_6/559616000e3ecc4af5e5a379920fc355/img11.jpg)
Содержание слайда: Мы можем очень долго демонстрировать подобные примеры
Анализатор 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
№35 слайд
![Опечатки и Copy-Paste](/documents_6/559616000e3ecc4af5e5a379920fc355/img34.jpg)
Содержание слайда: Опечатки и Copy-Paste
Анализатор PVS-Studio эффективно выявляет опечатки и последствия неудачного Copy-Paste
В анализаторе реализовано много диагностик для выявления ошибок этого рода
Остановимся на них чуть подробнее и рассмотрим несколько примеров ошибок этого типа
Дополнительно рекомендуем для чтения интересную статью
“Эффект последней строки” - http://www.viva64.com/ru/b/0260/
№43 слайд
![Демонстрация возможностей](/documents_6/559616000e3ecc4af5e5a379920fc355/img42.jpg)
Содержание слайда: Демонстрация возможностей PVS-Studio
Для демонстрации возможностей анализатора мы проверяем открытые проекты. На начало 2017 года нами проверено 280 проектов.
Побочный результат: в этих проектах нашей командой было найдено 10700 ошибок
Это именно 10700 ошибок, а не количество сообщений, выданных анализатором
№44 слайд
![Демонстрация возможностей](/documents_6/559616000e3ecc4af5e5a379920fc355/img43.jpg)
Содержание слайда: Демонстрация возможностей PVS-Studio
Благодаря нашей команде и анализатору PVS-Studio, в открытых проектах исправили более 10000 ошибок
Вы можете увидеть все эти ошибки здесь: http://www.viva64.com/ru/examples/
База ошибок постоянно пополнятся и её можно использовать при написании статей о качестве кода и составлении стандартов кодирования
№45 слайд
![Демонстрация возможностей](/documents_6/559616000e3ecc4af5e5a379920fc355/img44.jpg)
Содержание слайда: Демонстрация возможностей PVS-Studio
В среднем, в одном открытом проекте мы нашли 10700 / 280 = 38 ошибок
38 ошибок на проект - это мало
Поэтому важно подчеркнуть, что это - побочный эффект
У нас нет цели найти как можно больше ошибок. Часто мы останавливаемся, когда нашли достаточное количество дефектов в проекте для написания статьи.
№47 слайд
![Правильный сценарий](/documents_6/559616000e3ecc4af5e5a379920fc355/img46.jpg)
Содержание слайда: Правильный сценарий использования
Конечно, интересно и полезно запустить анализатор PVS-Studio и найти ошибку, которую до этого безуспешно искали 50 часов
http://www.viva64.com/ru/b/0221/
Хорошо проверять проекты и описывать найденные ошибки, как делаем это мы в рекламных целях
http://www.viva64.com/ru/inspections/
Но следует помнить, что разовые проверки - это неправильный способ использования анализаторов кода!
№50 слайд
![Используемые технологии На](/documents_6/559616000e3ecc4af5e5a379920fc355/img49.jpg)
Содержание слайда: Используемые технологии
На примерах было продемонстрировано, что PVS-Studio эффективно выявляет разнообразные типы ошибок
Кратко перечислим технологии, которые положены в основу анализатора
Подробнее эта тема раскрыта в статье
“Как PVS-Studio ищет ошибки: методики и технологии”
http://www.viva64.com/ru/b/0466/
№53 слайд
![Используемые технологии](/documents_6/559616000e3ecc4af5e5a379920fc355/img52.jpg)
Содержание слайда: Используемые технологии
Символьное выполнение (symbolic execution) позволяет вычислять значения переменных, которые могут приводить к ошибкам, производить проверку диапазонов (range checking) значений
Анализ потока данных (data-flow analysis) используется для вычисления ограничений, накладываемых на значения переменных при обработке различных конструкций языка. Например, какие значения может принимать переменная внутри блоков if/else.
№54 слайд
![Используемые технологии](/documents_6/559616000e3ecc4af5e5a379920fc355/img53.jpg)
Содержание слайда: Используемые технологии
Аннотированние методов (method annotations) предоставляет больше информации об используемых методах, чем может быть получено путём анализа только их сигнатуры.
C/C++. На данный момент проаннотировано 6570 функций (стандартные библиотеки C и C++, POSIX, MFC, Qt, ZLib и так далее).
C#. На данный момент проаннотировано 920 функций.
№60 слайд
![Использование PVS-Studio](/documents_6/559616000e3ecc4af5e5a379920fc355/img59.jpg)
Содержание слайда: Использование PVS-Studio: подавление ложных срабатываний
Различные способы подавить ложные срабатывания в конкретных строках кода
Подавление ложных срабатываний в макросах
Подавление ложных предупреждений с помощью файлов конфигурации диагностик pvsconfig
Подробнее: http://www.viva64.com/ru/m/0017/
№64 слайд
![Использование PVS-Studio](/documents_6/559616000e3ecc4af5e5a379920fc355/img63.jpg)
Содержание слайда: Использование PVS-Studio: непрерывная интеграция
Запуск из командной строки для проверки всего решения: позволяет интегрировать PVS-Studio в ночные сборки, чтобы утром у всех был свежий лог
Сохранение и загрузка результатов анализа: можно ночью проверить код, сохранить результаты, а утром загрузить их и смотреть
Утилита BlameNotifier: инструмент позволяет рассылать письма разработчикам об ошибках, которые PVS-Studio нашел во время ночного прогона
Использование относительных путей в файлах отчета
№65 слайд
![Использование PVS-Studio](/documents_6/559616000e3ecc4af5e5a379920fc355/img64.jpg)
Содержание слайда: Использование PVS-Studio: прочее
Удобная online-справка по всем диагностикам, которая доступна и из программы, и на сайте, а также документация в .pdf одним файлом
Интерактивная фильтрация результатов анализа (лога) в окне PVS-Studio
Статистика ошибок в Excel
Автоматическая проверка на наличие новых версий PVS-Studio
№66 слайд
![Использование PVS-Studio](/documents_6/559616000e3ecc4af5e5a379920fc355/img65.jpg)
Содержание слайда: Использование PVS-Studio: Linux
С PVS-Studio легко работать в Linux
Но, чтобы не гадать с настройками и ключами запуска, просим познакомиться с инструкцией
Как запустить PVS-Studio в Linux: http://www.viva64.com/ru/m/0036/
Я знаю, что мы все не любим читать инструкции. Но поверьте, этот тот случай, когда всё просто, кратко и экономит ваше время!
№67 слайд
![Использование PVS-Studio](/documents_6/559616000e3ecc4af5e5a379920fc355/img66.jpg)
Содержание слайда: Использование PVS-Studio: быстрый старт
Отдельного внимания заслуживает возможность быстро попробовать PVS-Studio на любом проекте
Для этого можно отследить запуски компилятора и собрать всю необходимую для анализа информацию
Windows:
Утилита Standalone
Инструкция: http://www.viva64.com/ru/m/0033/
Linux
Утилита pvs-studio-analyzer
Инструкция: см. «Быстрый старт» в документе http://www.viva64.com/ru/m/0036/
№71 слайд
![Скачать и попробовать](/documents_6/559616000e3ecc4af5e5a379920fc355/img70.jpg)
Содержание слайда: Скачать и попробовать 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
№77 слайд
![Индивидуальные лицензии Мы](/documents_6/559616000e3ecc4af5e5a379920fc355/img76.jpg)
Содержание слайда: Индивидуальные лицензии
Мы позиционируем свой продукт как B2B решение и у нас нет индивидуальных лицензий
Почему так получилось: http://www.viva64.com/ru/b/0320/
Индивидуальные разработчики могут воспользоваться вариантом бесплатного лицензирования
Как использовать PVS-Studio бесплатно: http://www.viva64.com/ru/b/0457/
№80 слайд
![Сотрудничество аудит](/documents_6/559616000e3ecc4af5e5a379920fc355/img79.jpg)
Содержание слайда: Сотрудничество: аудит
Выполнение аудита кода и правка ошибок
Примеры сотрудничества подобного типа:
Как команда PVS-Studio улучшила код Unreal Engine: http://www.viva64.com/ru/b/0330/
Как перенести проект размером в 9 млн строк кода на 64-битную платформу: http://www.viva64.com/ru/b/0342/
Мы можем на регулярной основе контролировать качество кода и вносить в него правки
Имеем опыт работ в этом направлении, но эта информация попадает под NDA
№83 слайд
![Полезные ссылки Расскажем о](/documents_6/559616000e3ecc4af5e5a379920fc355/img82.jpg)
Содержание слайда: Полезные ссылки
Расскажем о некоторых интересных и полезных материалах, которые можно найти на сайте компании
Электронная книга «Главный вопрос программирования, рефакторинга и всего такого» - http://www.viva64.com/ru/b/0391/
Электронная книга «Разработки 64-битных приложений на языке Си/Си++» - http://www.viva64.com/ru/l/full/
№84 слайд
![Полезные ссылки Как лет назад](/documents_6/559616000e3ecc4af5e5a379920fc355/img83.jpg)
Содержание слайда: Полезные ссылки
Как 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/
Скачать все slide презентации Статический анализатор кода PVS-Studio одним архивом:
Похожие презентации
-
Об универсальном анализе кода или «Зачем нам ещё один анализатор, как его можно сделать и куда применять»
-
Visual Studio Coded UI Tests. Теория и практика применения в компании PVS-Studio
-
Установка Camtasia Studio 8
-
Программная реализация кода с повторением
-
Динамические и статические страницы. Лекция 1
-
Стандартны оформления программного кода
-
Проектирование приложений обработки матриц в среде MS Visual Studio
-
Среда Embarcadero RAD Studio. C Builder
-
Основы ООП «на пальцах» - без кода и компьютера
-
Интегрированная среда разработки программного обеспечения Microsoft Visual Studio. Платформа. NET. Среда Visual Studio. NET