Статьи

PVS-Studio: статичний аналізатор коду для C, C ++, C # і Java

  1. Швидкий старт в Windows, Linux і macOS
  2. використовувані технології

PVS-Studio - це інструмент для виявлення помилок і потенційних вразливостей в вихідному коді програм, написаних на мовах С, C ++, C # і Java. Працює в 64-бітних системах на Windows, Linux і macOS і може аналізувати код, призначений для 32-бітових, 64-бітних і вбудованих ARM платформ.

PVS-Studio виконує статичний аналіз коду і генерує звіт, що допомагає програмісту знаходити і усувати помилки. PVS-Studio виконує широкий спектр перевірок коду, але найбільш сильний в пошуках помилок і наслідків невдалого Copy-Paste. Показові приклади таких помилок: V501 , V517 , V522 , V523 , V3001 .

Основна цінність статичного аналізу полягає в його регулярному використанні, завдяки чому багато помилок можуть бути виявлені і усунені на самих ранніх етапах. Немає сенсу витрачати 50 годин на пошук помилки, яку можна знайти завдяки аналізу коду. Але ще раз підкреслимо. Основна користь статичного аналізу не в тому, щоб знайти одну заховану помилку в день перед релізом. А регулярно усувати десятки звичайних помилок день за днем.

Аналізатор може запускатися вночі на сервері і повідомляти про підозрілих місцях в новому коді. В ідеалі помилки взагалі можуть бути виявлені і виправлені ще до потрапляння в систему контролю версій. PVS-Studio може автоматично запускатися відразу після компілятора на тільки що модифікованих файлах. Це працює і в Windows, Linux і macOS.

Швидкий старт в Windows, Linux і macOS

PVS-Studio вміє інтегруватися в середовище розробки Visual Studio 2010-2019. Якщо ви використовуєте цю середу розробки, то швидше за все вам буде досить зайти в меню плагіна PVS-Studio і вибрати команду "перевірити проект".

Часто все йде складніше і може знадобитися інтеграція PVS-Studio в складальну систему, в тому числі і екзотичну. Тема інтеграції занадто велика тема, щоб описати її тут. Всю необхідну інформацію ви можете почерпнути з докладною документації .

Відзначимо тільки, що в PVS-Studio для Windows і Linux передбачені спеціальні утиліти, які збирають інформацію про запуски компілятора. Ці інструменти дозволяють швидко виконати аналіз проекту, що збирається будь-яким способом. Ви можете швидко познайомитися з можливостями аналізатора, не витрачаючи час на його інтеграцію з makefile або складальним скриптом. Див. Опис утиліти C and C ++ Compiler Monitoring (Windows) і pvs-studio-analyzer (Linux / macOS).

використовувані технології

  • Зіставлення з шаблоном (pattern-based analysis) на основі абстрактного синтаксичного дерева застосовується для пошуку місць у вихідному коді, які схожі на відомі шаблони коду з помилкою.
  • Висновок типів (type inference) на основі семантичної моделі програми дозволяє аналізатору мати повну інформацію про всіх змінних і виразах, що зустрічаються в коді.
  • Символьне виконання (symbolic execution) дозволяє обчислювати значення змінних, які можуть призводити до помилок, проводити перевірку діапазонів (range checking) значень.
  • Аналіз потоку даних (data-flow analysis) використовується для обчислення обмежень, що накладаються на значення змінних при обробці різних конструкцій мови. Наприклад, які значення може приймати змінна всередині блоків if / else.
  • Анотація методів (method annotations) надає більше інформації про використовувані методи, ніж може бути отримано шляхом аналізу тільки їх сигнатури.

Особливості PVS-Studio

  • Автоматичний аналіз окремих файлів після їх перекомпіляції.
  • Зручна і проста інтеграція з Visual Studio 2010-2019.
  • Зручна online-довідка по всім діагностики, яка доступна і з програми, і на сайті, а також документація в .pdf одним файлом. Понад 600 друкованих сторінок документації!
  • Збереження і завантаження результатів аналізу: можна вночі перевірити код, зберегти результати, а вранці завантажити їх і дивитися.
  • Можливість зберегти результати аналізу в форматі HTML з повною навігацією за кодом.
  • Запуск з командного рядка для перевірки всього рішення: дозволяє інтегрувати PVS-Studio в нічні збірки, щоб вранці у всіх був свіжий лог.
  • Відмінна масштабованість! Підтримка багатоядерних і багатопроцесорних систем з налаштуванням кількості використовуваних ядер; підтримка IncrediBuild.
  • Mark as False Alarm - розмітка в коді, щоб не лаятися конкретної діагностикою в конкретному фрагменті файлу.
  • Інтерактивна фільтрація результатів аналізу (балки) у вікні PVS-Studio: за кодом діагностики, по імені файлу, по включенню слова в текст діагностики.
  • Утиліта BlameNotifier. Інструмент дозволяє розсилати листи розробникам про помилки, які PVS-Studio знайшов під час нічного прогону.
  • Велика кількість варіантів інтеграції в проекти, що розробляються під Linux і macOS.
  • Mass Suppression - дозволяє придушити всі старі повідомлення, щоб аналізатор видавав 0 спрацьовувань. До пригніченим повідомленнями завжди можна повернутися пізніше. Можливість безболісно впровадити PVS-Studio в існуючий процес розробки і сфокусуватися на помилках тільки в новому коді.
  • Статистика помилок в Excel - можна подивитися темпи правки помилок, кількість помилок в часі і т.п.
  • Автоматична перевірка на наявність нових версій PVS-Studio (як при роботі в IDE, так і при нічних збірках).
  • Використання відносних шляхів в файлах звіту для можливості перенесення звіту на іншу машину.
  • Відстеження компіляції (Compiler Monitoring) - перевірка проектів, у яких немає файлів Visual Studio (.sln / .vcxproj), без необхідності проводити інтеграцію з складальної системою; при необхідності, можна провести пряму інтеграцію аналізатора в будь-яку складальну систему.
  • pvs-studio-analyzer - утиліта для відстеження компіляції (Compiler Monitoring) на Linux.
  • Можливість виключити з аналізу файли по імені, папці або масці; можливість перевіряти файли, модифіковані за останні N днів.
  • Інтеграція з SonarQube. Це відкрита платформа для забезпечення безперервного контролю якості вихідного коду.

Мови і компілятори

  • Windows. Visual Studio 2010-2019 C, C ++, C ++ / CLI, C ++ / CX (WinRT), C #
  • Windows. IAR Embedded Workbench, C / C ++ Compiler for ARM C, C ++
  • Windows / Linux. Keil μVision, DS-MDK, ARM Compiler 5/6 C, C ++
  • Windows / Linux. Texas Instruments Code Composer Studio, ARM Code Generation Tools C, C ++
  • Windows / Linux / macOS. GNU Arm Embedded Toolchain, Arm Embedded GCC compiler, C, C ++
  • Windows / Linux / macOS. Clang C, C ++
  • Linux / macOS. GCC C, C ++
  • Windows. MinGW C, C ++
  • Windows / Linux / macOS. Java

Клієнти PVS-Studio

Зацікавилися? Ось що далі:

  1. PVS-Studio - це інструмент для виявлення помилок і потенційних вразливостей в вихідному коді програм, написаних на мовах С, C ++, C # і Java скачайте PVS-Studio.
  2. Перевірте свій проект.
  3. Випишіть цікаві помилки, підготуйте презентацію.
  4. Покажіть колегам і начальству.

Новости


 PHILIP LAURENCE   Pioneer   Антистресс   Аромалампы   Бизнес   Игры   Косметика   Оружие   Панно   Романтика   Спорт   Фен-Шуй   Фен-Шуй Аромалампы   Часы   ЭКСТРИМ   ЭМОЦИИ   Экскурсии   визитницы   подарки для деловых людей   фотоальбомы  
— сайт сделан на студии « Kontora #2 »
E-mail: [email protected]



  • Карта сайта