﻿# PVS\-Studio как SAST\-решение


> PVS\\\-Studio включён в отчёт "\[Now Tech: Static Application Security Testing, Q3 2020\]\(https://www\.forrester\.com/report/Now\+Tech\+Static\+Application\+Security\+Testing\+Q3\+2020/\-/E\-RES161475\)" как SAST\\\-специализированный инструмент\\\. Использование методологии статического тестирования защищённости приложений \\\(Static Application Security Testing, SAST\\\) позволяет улучшить безопасность тестируемого приложения и смягчить влияние дефектов безопасности на его жизненный цикл\\\. Forrester Research является одним из ведущих исследователей влияния развития инновационных технологий на бизнес\\\. Отчёт об исследовании доступен для покупки подписчикам и клиентам Forrester Research\\\.




> Инструментальное средство PVS\\\-Studio разрабатывается с учётом требований, предъявляемых к статическим анализаторам в \[ГОСТ Р 71207–2024\]\(https://pvs\-studio\.ru/ru/pvs\-studio/gost\-71207/\)\\\. PVS\\\-Studio выявляет критические ошибки и может использоваться при разработке безопасного программного обеспечения\\\.



PVS\-Studio помогает улучшать код по трём направлениям: качество, надёжность и защищённость \(безопасность\)\.

**Качество**

Неважно, какое ПО вы разрабатываете, код должен быть качественным\. Тогда клиенты будут реже сталкиваться с проблемами, а поддерживать проект будет проще и дешевле\.

Искать проблемы с качеством кода помогают диагностики общего назначения\. С их помощью можно выявлять: 

* выход за границу массива;
* разыменование нулевого указателя;
* неправильный вызов функции; 
* проблемы синхронизации;
* и другие ошибки\. 

Список диагностик общего назначения можно найти [здесь](https://pvs-studio.ru/ru/docs/warnings/)\.

**Надёжность**

Надёжность особенно важна в тех сферах, где дефекты ПО критичны \(например, в космической или медицинской отрасли, машиностроении\)\. Ошибки в приложениях с высокими требованиями к надёжности могут привести к потерям миллионов долларов или даже человеческим жертвам\.

Для написания надёжного кода разработчики используют специальные стандарты \(например, MISRA C, MISRA C\+\+, AUTOSAR Coding Guidelines\)\. 

PVS\-Studio помогает искать отклонения от этих стандартов\. Таблицы соответствия диагностик PVS\-Studio:

* [MISRA C и MISRA C\+\+ Coding Standards](https://pvs-studio.ru/ru/pvs-studio/sast/misra/)
* [AUTOSAR C\+\+14 Coding Guidelines](https://pvs-studio.ru/ru/pvs-studio/sast/autosar/)

**MISRA Compliance**

MISRA Compliance – это стандарт, который позволяет понять, соответствует ли проект стандарту MISRA C и/или MISRA C\+\+ с учетом всех отклонений и рекатегоризаций\. MISRA Compliance применим ко всем стандартам ассоциации MISRA\. 

При работе со стандартами MISRA будет полезен отчёт MISRA Compliance\. Его можно сгенерировать при помощи утилит из состава PVS\-Studio\. Подробнее – [здесь](https://pvs-studio.ru/ru/docs/manual/6966/)\.

**Защищённость**

Защищённый код устойчив к атакам злоумышленников: SQL\-инъекциям, XSS, XXE и не только\. Защищённость особенно важна в приложениях, которые работают с пользовательскими данными \(в банковском ПО, веб\-приложениях и т\. д\.\)\.

Чтобы приложения были защищёнными, команды выстраивают цикл безопасной разработки \(SSDLC\)\. Один из его этапов – поиск проблем безопасности с помощью SAST \(static application security testing\)\.

PVS\-Studio – SAST\-решение, которое ищет дефекты безопасности и помогает повысить защищённость кода\.

Таблицы соответствия диагностик PVS\-Studio списку потенциальных уязвимостей и стандартам безопасной разработки:

* [Common Weakness Enumeration \(CWE\)](https://pvs-studio.ru/ru/pvs-studio/sast/cwe/)
* [OWASP ASVS \(Application Security Verification Standard\)](https://pvs-studio.ru/ru/pvs-studio/sast/owasp/)
* [SEI CERT Coding Standards](https://pvs-studio.ru/ru/pvs-studio/sast/cert/)

Среди всех дефектов безопасности выделяют наиболее опасные и распространённые\. Узнать о том, как PVS\-Studio помогает в борьбе с ними, можно здесь:

* [OWASP Top 10 Web Application Security Risks](https://pvs-studio.ru/ru/pvs-studio/sast/owasptopten/)
* [CWE Top 25 Most Dangerous Software Weaknesses](https://pvs-studio.ru/ru/pvs-studio/sast/cwetop25/)

**Бенчмарки для сравнения анализаторов кода**

Чтобы оценить эффективность работы статических анализаторов, используются специальные бенчмарки\. Они состоят из набора фрагментов кода и помогают оценить, хорошо ли анализатор находит проблемы и не выдаёт ли ложных предупреждений\.

Покрытие различных бенчмарков анализатором PVS\-Studio:

* Toyota ITC Benchmarks: 49%\. Методика расчёта – [здесь](https://pvs-studio.ru/ru/blog/posts/cpp/0931/)\.