﻿# PVS\-Studio в 2023

За окном январь 2024 года, а это значит, пора подвести итоги за 2023 год\! В этой статье мы не только рассмотрим всё новое, что появилось за 2023 год, но и освежим память по основным функциональным возможностям статического анализатора PVS\-Studio\.

![1096_pvs_studio_2023_ru/image1.png](https://import.viva64.com/docx/blog/1096_pvs_studio_2023_ru/image1.png)

<details>
   <summary>Если вы наткнулись на статью случайно и не знаете, что такое PVS\\\-Studio</summary>

PVS\-Studio — это статический анализатор, выявляющий ошибки и потенциальные уязвимости в коде программ на C, C\+\+, C\# и Java\. Инструмент помогает контролировать качество кода и улучшать его\. 

Больше информации — на [странице продукта](https://pvs-studio.ru/ru/pvs-studio/)\.


</details>



> Загрузить актуальную версию PVS\\\-Studio можно \[здесь\]\(https://pvs\-studio\.ru/ru/pvs\-studio/try\-free/\)\\\.



## Новые возможности интеграции PVS\-Studio

Мы всегда стремимся увеличить список интеграций плагина PVS\-Studio в сторонние инструменты и улучшить уже существующие\. Новые плагины дают ещё больше вариантов кроссплатформенной работы\!

### Плагины для Visual Studio Code и Qt Creator

В начале прошлого года появились две масштабные интеграции с известными IDE — Visual Studio Code и Qt Creator\.

Сейчас плагины PVS\-Studio есть для следующих IDE:

* Visual Studio;
* Visual Studio Code;
* Qt Creator;
* Rider;
* CLion;
* IntelliJ IDEA\.

За это время была проделана большая работа над новыми плагинами: с простого просмотра отчёта в IDE до полной поддержки, включая анализ проектов, подавление предупреждений и многое другое\.

Помимо этого, теперь плагины поддерживают возможность массового подавления предупреждений, используя suppress\-файлы\. Это упростит работу с предупреждениями анализатора в legacy\-коде, позволяя работать только с новыми предупреждениями, что облегчит внедрение анализатора в проект\. 


> Подробнее об упрощении внедрения PVS\\\-Studio в проект читайте в статье "\[Как внедрить статический анализатор кода в legacy проект и не демотивировать команду\]\(https://pvs\-studio\.ru/ru/blog/posts/0743/\)"\\\.



**Visual Studio Code**

Плагин PVS\-Studio для Visual Studio Code в середине года получил возможность анализировать проекты на C и C\+\+, а теперь ещё и \.NET проектов\.


> \*\*Примечание\\\.\*\* Кстати, в 2024 году мы планируем поддержать анализ Java кода в Visual Studio Code, но об этом позже\\\.



Функционал включает в себя:

* Запуск анализа и просмотр отчёта;
* Подавление предупреждений с помощью suppress\-файлов;
* Поддержку pvsconfig файлов;
* Другие функции, описанные в соответствующем разделе [документации](https://pvs-studio.ru/ru/docs/manual/6646/)\.

Так выглядит интерфейс плагина для Visual Studio Code:

![1096_pvs_studio_2023_ru/image2.png](https://import.viva64.com/docx/blog/1096_pvs_studio_2023_ru/image2.png)

**Qt Creator**

Текущая версия плагина PVS\-Studio для Qt Creator, помимо полной функциональности анализа, позволяет проверять проекты, ориентированные на QMake, CMake или Qbs\.

Стало возможно использовать плагин PVS\-Studio для Qt Creator не только под Windows и Linux, но и под macOS на архитектуре x86\-64\.

Так выглядит интерфейс плагина для Qt Creator:

![1096_pvs_studio_2023_ru/image3.png](https://import.viva64.com/docx/blog/1096_pvs_studio_2023_ru/image3.png)

Подробнее об использовании PVS\-Studio в Qt Creator можно узнать в [документации](https://pvs-studio.ru/ru/docs/manual/6648/)\. 

### Улучшения плагина для Rider

В одной из последних версий Rider появилась возможность прямого открытия проектов Unreal Engine\. Плагин PVS\-Studio теперь поддерживает запуск анализа в этом режиме\. Подробности можно узнать в [документации](https://pvs-studio.ru/ru/docs/manual/0052/)\.

Так выглядит интерфейс плагина для Rider:

![1096_pvs_studio_2023_ru/image4.png](https://import.viva64.com/docx/blog/1096_pvs_studio_2023_ru/image4.png)

### Интеграция с DefectDojo

Результаты анализа PVS\-Studio можно конвертировать в форматы, используемые в других инструментах\. Теперь результаты анализа PVS\-Studio можно использовать и в DefectDojo\.

DefectDojo — это DevSecOps\-платформа для работы с инструментами обеспечения безопасности\. Подробности интеграции описаны в [документации](https://pvs-studio.ru/ru/docs/manual/6686/)\.

Так выглядит отчёт плагина в DefectDojo:

![1096_pvs_studio_2023_ru/image5.png](https://import.viva64.com/docx/blog/1096_pvs_studio_2023_ru/image5.png)

Это полезно, когда вы используете сразу несколько инструментов\. Например, можно проверить код с помощью PVS\-Studio, а результаты преобразовать в формат для TeamCity и дальше работать, в том числе и в этой CI\-системе\.

Поддерживаемые форматы: TeamCity, SARIF, GitLab, MISRA Compliance, DefectDojo и др\. Полный список форматов можно найти в [документации](https://pvs-studio.ru/ru/docs/manual/0038/) об утилитах конвертации\.

## Новые возможности

### Поддержка новых версий \.NET и C\#

В 2023 году мы поддержали возможность анализа проектов на \.NET 8 и C\# 12\. Сам C\# анализатор под Linux и macOS, кстати, теперь тоже работает на \.NET 8\.

Помимо этого, традиционно мы обновляем зависимости анализатора с выходом новой версии \.NET: MSBuild и Roslyn\. Это позволяет анализировать C\# проекты, использующие новый синтаксис и ориентированные на новый SDK\. 

### Поддержка архитектуры ARM

Анализатор PVS\-Studio на всех языках \(C, C\+\+, C\#, Java\) работает на 3 основных платформах: Windows, Linux и macOS\.

Мы добавили поддержку работы на платформе Windows ARM\. Поддержка работает в режиме совместимости с архитектурой x64\. 

Кстати, в 2024 году планируется реализация нативной ARM версии анализатора для операционных систем семейства macOS\.


> PVS\\\-Studio поддерживает кроссплатформенный анализ проектов независимо от используемой сборочной системы\\\. Для проверки таких проектов существует специальная утилита\\\. Более подробно можно узнать об этом в \[документации\]\(https://pvs\-studio\.ru/ru/docs/manual/6615/\)\\\.



## Улучшение функциональности

### Best Warnings

Фильтр Best Warnings помогает отобрать из всех предупреждений анализатора самые интересные\. Механизм отбора предупреждений основан на анализе разнообразных проектов и найденных в них наиболее распространённых и опасных ошибках\. 

Данный механизм будет особенно полезен при первом знакомстве с PVS\-Studio, так как поможет в один клик посмотреть самые интересные срабатывания, которые с наибольшей вероятностью являются реальными ошибками\. 

Мы продолжаем улучшать этот инструмент, поддерживая новые IDE, где его можно использовать, и дорабатывая механизм подбора предупреждений\. Более подробно про использование Best Warnings можно прочитать в [документации](https://pvs-studio.ru/ru/docs/manual/6532/)\.

Использовать его достаточно просто: нужно выбрать пункт "Best" в окне анализатора\. Предупреждений в подборке будет не больше 10, и вы сможете просмотреть их достаточно быстро\.

![1096_pvs_studio_2023_ru/image6.png](https://import.viva64.com/docx/blog/1096_pvs_studio_2023_ru/image6.png)




> Если вы хотите побольше узнать, как быстро начать работу с PVS\\\-Studio, советую прочитать заметку "\[PVS\\\-Studio: 2 фишки для быстрого старта\]\(https://pvs\-studio\.ru/ru/blog/posts/1013/\)"\\\.



### Улучшение работы с файлами подавления

Механизм подавления предупреждений анализатора, который также называют созданием baseline\-уровня сообщений — это полезный инструмент, помогающий в следующих сценариях:

* Анализатор PVS\-Studio используется впервые в проекте и выдаёт большое количество предупреждений на весь код\. Механизм подавления поможет проводить регулярный анализ только на новом коде, при этом к подавленным предупреждениям можно будет вернуться позже;
* Анализатор PVS\-Studio уже используется в проекте на регулярной основе\. В процессе анализа кода в отчёте могут попадаться ложные предупреждения, и их хочется подавить без модификации файлов с исходным кодом\.

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

Давайте рассмотрим, как можно подавить предупреждения на примере работы плагина PVS\-Studio для Visual Studio:

В Visual Studio результат анализа будет отображён в специальном окне\.

![1096_pvs_studio_2023_ru/image7.png](https://import.viva64.com/docx/blog/1096_pvs_studio_2023_ru/image7.png)

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

Дополнительные возможности работы с каждым сообщением доступны в контекстном меню по нажатию на правую кнопку мыши на сообщении\.

![1096_pvs_studio_2023_ru/image8.png](https://import.viva64.com/docx/blog/1096_pvs_studio_2023_ru/image8.png)

Для добавления выбранных предупреждений во все suppress\-файлы, связанные с предупреждениями, имеется пункт меню "Add selected messages to all suppression files"\. 

Кроме этого пункта меню имеется пункт "Add selected messages to primary suppression files"\. Он позволяет подавить предупреждения только в primary suppress\-файлы\. Если вы хотите подавлять новые предупреждения анализатора только в какой\-то конкретный suppress\-файл, но при этом у вас имеются другие suppress\-файлы с подавленными ранее предупреждениями, которые вы не хотите модифицировать, то пометьте ваш suppress\-файл для новых срабатываний как primary\.

При выборе одного предупреждения в контекстном меню доступны пункты не только для подавления/расподавления, но и для перемещения\. При перемещении предупреждение удаляется из всех suppress\-файлов и добавляется в выбранные suppress\-файлы\.

После этого к подавленным предупреждениям можно вернуться в любой удобный момент, включив их отображение:

![1096_pvs_studio_2023_ru/image9.png](https://import.viva64.com/docx/blog/1096_pvs_studio_2023_ru/image9.png)

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

![1096_pvs_studio_2023_ru/image10.png](https://import.viva64.com/docx/blog/1096_pvs_studio_2023_ru/image10.png)

Более подробно про возможности suppress\-файлов можно узнать в [документации](https://pvs-studio.ru/ru/docs/manual/0032/)\.

Мы расширили возможности работы с файлами подавления для Visual Studio\. Раньше предполагалось, что в проекте может быть только один suppress\-файл\. Теперь же к каждому проекту может относиться несколько файлов подавления\.

В утилитах PVS\-Studio\_Cmd\.exe и pvs\-studio\-dotnet появился новый режим — suppression\. С помощью него можно производить различные операции с suppress\-файлами из командной строки\. 

Например, с помощью команды можно создать suppress\-файлы для каждого проекта из решения:

```cpp
PVS-Studio_Cmd.exe suppression -m CreateEmptySuppressFiles ^
                               -t JulietTestSuite.sln ^
                               -P myPrefix%projName%myPostfix.suppress
```

В результате выполнения этой команды в каждый проект будет добавлен соответствующий suppress\-файл, имя которого будет генерироваться на основе имени соответствующего проекта\.

Также появилась возможность подавления предупреждений по определённым критериям:

```cpp
PVS-Studio_Cmd.exe suppression -m Suppress ^
                               -t JulietTestSuite.sln ^
                               -P myPrefix%projName%myPostfix.suppress ^
                               -R JulietTestSuite.plog ^
                               --groups "GA:3|OWASP"
```

Указанная команда подавит предупреждения из отчёта 'JulietTestSuite\.plog' в suppress\-файлы, соответствующие паттерну, переданному через параметр '\-P'\. При этом подавлены будут только предупреждения 3 уровня группы General Analysis и все предупреждения группы OWASP\.

Все возможности нового режима подробно описаны в [документации](https://pvs-studio.ru/ru/docs/manual/0032/#WindowsCLISuppressionMode)\.

### Больше возможностей pvsconfig

Файл конфигурации pvsconfig помогает задать дополнительные настройки для анализа и фильтрации сообщений анализатора\.

Пример:

```cpp
//-V::3022,5623:1,3
```

Эта запись позволит исключить срабатывания диагностик V3022 и V5623 уровня 'High' и 'Low'\.

Бывает, что из какой\-то группы диагностик нужно включить только одно или несколько правил\. Теперь такое можно делать через файлы pvsconfig\. Достаточно выключить группу, а ниже добавить включение конкретной диагностики, например так:

```cpp
//-V::MISRA
//+V::2511,2578
```

Другим нововведением является возможность явного задания приоритетов файлов pvsconfig\. Это актуально, когда настройки разных файлов конфигурации конфликтуют друг с другом\. Например, один из файлов может выключать какую\-то диагностику, а другой — включать\.

Теперь появилась возможность указания в pvsconfig приоритетов\. Для этого в файл конфигурации надо добавить строку следующего вида:

```cpp
//CONFIG_PRIORITY::1
```

Чем меньше число, тем выше приоритет файла\. Если директива отсутствует, то приоритеты расставляются в зависимости от имён файлов\.

Также была добавлена новая настройка, указывающая, что пути в отчёте анализатора строятся относительно директории решения\. Это упрощает работу с отчётом в случае его передачи между машинами с разной структурой директорий\. Для этого нужно указать параметр:

```cpp
//V_SOLUTION_DIR_AS_SOURCE_TREE_ROOT
```

Более подробно про использование файлов конфигурации диагностик pvsconfig можно прочитать в [документации](https://pvs-studio.ru/ru/docs/manual/6630/)\. 

## GameDev

### Unity

Анализ Unity проектов с помощью PVS\-Studio продолжает развиваться\! В этом году мы добавили новую группу диагностик, направленных на оптимизации исходного кода проектов, использующих игровой движок Unity\.

На текущий момент представлены следующие диагностические правила:

* [V4001](https://pvs-studio.ru/ru/docs/warnings/v4001/) указывает на фрагменты кода, в которых производится [упаковка](https://pvs-studio.ru/ru/blog/terms/6695/);
* [V4002](https://pvs-studio.ru/ru/docs/warnings/v4002/) находит выражения, в которых конкатенации строк стоит заменить на _StringBuilder_;
* [V4003](https://pvs-studio.ru/ru/docs/warnings/v4003/) обнаруживает места, в которых можно избежать захвата переменных анонимной функцией;
* [V4004](https://pvs-studio.ru/ru/docs/warnings/v4004/) говорит о потенциальной возможности оптимизации использования "тяжёлых" свойств, создающих новые коллекции при каждом обращении;
* [V4005](https://pvs-studio.ru/ru/docs/warnings/v4005/) находит места, где в часто выполняемом коде производятся обращения к ресурсоёмким свойствам или методам\.

Более подробно про анализ проектов на Unity можно узнать в [документации](https://pvs-studio.ru/ru/docs/manual/6607/)\.


> Если вы хотите больше узнать про возможности оптимизации проектов на Unity, советую ознакомиться с заметкой: "\[PVS\\\-Studio помогает оптимизировать проекты на Unity Engine\]\(https://pvs\-studio\.ru/ru/blog/posts/csharp/1071/\)"



### Unreal Engine

Напомним, что PVS\-Studio работает с проектами как на Unreal Engine 4, так и на Unreal Engine 5\.

Периодически при проверке проектов с помощью PVS\-Studio возникали проблемы с избыточным потреблением памяти и замедлением анализа\. Они вызваны использованием системы объединения единиц трансляции в один файл \(Unity Build\)\.

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

Мы дополнили [документацию](https://pvs-studio.ru/ru/docs/manual/0043/) по анализу Unreal Engine проектов [пунктом](https://pvs-studio.ru/ru/docs/manual/0043/#unitybuild) про настройку запуска анализа без Unity Build, но с возможностью использования этого режима для сборки проекта\.


> Как мы уже говорили выше, в одной из последних версий Rider появилась возможность открывать проекты Unreal Engine напрямую, и плагин PVS\\\-Studio теперь поддерживает запуск анализа в этом режиме\\\! Подробности про такой режим можно узнать в \[документации\]\(https://pvs\-studio\.ru/ru/docs/manual/0052/\)\\\.



## Улучшение анализа

### C\#

**Учёт оператора null\-forgiving \('\!'\) в C\#**

В C\# 9 в язык добавили возможность условного разделения ссылочных типов на допускающие и не допускающие _null_\. Подробности — в [официальной документации](https://learn.microsoft.com/en-us/dotnet/csharp/nullable-references)\.

Когда ссылочная переменная может иметь значение _null_, к имени её типа добавляется '?'\. Если же в конкретной ситуации такое выражение точно не возвращает нулевую ссылку, разработчики могут использовать оператор [null\-forgiving \('\!'\)](https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/operators/null-forgiving)\. Пример:

```cpp
bool _returnText = false;

void Foo()
{
  _returnText = true;

  string value = GetText()!;
  _ = value.Length;
}

// may return null
private string? GetText()
{
  return _returnText ? "some text" : null;
}
```

Метод _GetText_ в некоторых обстоятельствах действительно может возвращать _null_, однако результат его вызова внутри _Foo_ точно является строкой "some text"\. Пометив вызов с помощью постфиксного '\!', разработчик сообщает компилятору, что выражение не равно _null_\.

Анализатор начал учитывать оператор null\-forgiving при выдаче предупреждений\. Теперь PVS\-Studio не будет выдавать предупреждения о разыменовании потенциально нулевой ссылки, если выражение размечено с помощью '\!'\. Однако предупреждение всё же будет показано, если _null_ является единственным возможным значением выражения\.

### C\+\+

**Новые возможности аннотации функций C и C\+\+ кода**

Аннотации функций помогают PVS\-Studio получить дополнительную информацию, которую он может использовать при анализе\.

В C\+\+ анализаторе был доработан механизм пользовательского аннотирования функций\. Теперь можно писать аннотации для функций на любом уровне вложенности\. Помимо этого, при аннотировании допускается использование имени функции без указания класса и пространства имён\.

Более подробно про создание аннотаций можно узнать в [документации](https://pvs-studio.ru/ru/docs/manual/0040/)\.

### Новые диагностики

В 2023 году мы добавили 32 новые диагностики\. Более наглядно развитие анализатора можно увидеть на графике количества диагностик: 

![1096_pvs_studio_2023_ru/image11.png](https://import.viva64.com/docx/blog/1096_pvs_studio_2023_ru/image11.png)

Полный список новых диагностик, появившихся в 2023 году: 

Для С и С\+\+ анализатора: [V837](https://pvs-studio.ru/ru/docs/warnings/v837/), [V838](https://pvs-studio.ru/ru/docs/warnings/v838/), [V1093](https://pvs-studio.ru/ru/docs/warnings/v1093/), [V1094](https://pvs-studio.ru/ru/docs/warnings/v1094/), [V1095](https://pvs-studio.ru/ru/docs/warnings/v1095/), [V1096](https://pvs-studio.ru/ru/docs/warnings/v1096/), [V1097](https://pvs-studio.ru/ru/docs/warnings/v1097/), [V1098](https://pvs-studio.ru/ru/docs/warnings/v1098/), [V1099](https://pvs-studio.ru/ru/docs/warnings/v1099/), [V1100](https://pvs-studio.ru/ru/docs/warnings/v1100/), [V1101](https://pvs-studio.ru/ru/docs/warnings/v1101/), [V1102](https://pvs-studio.ru/ru/docs/warnings/v1102/), [V1103](https://pvs-studio.ru/ru/docs/warnings/v1103/), [V2020](https://pvs-studio.ru/ru/docs/warnings/v2020/), [V2623](https://pvs-studio.ru/ru/docs/warnings/v2623/), [V2624](https://pvs-studio.ru/ru/docs/warnings/v2624/)

Для С\# анализатора: [V3184](https://pvs-studio.ru/ru/docs/warnings/v3184/), [V3185](https://pvs-studio.ru/ru/docs/warnings/v3185/), [V3186](https://pvs-studio.ru/ru/docs/warnings/v3186/), [V3187](https://pvs-studio.ru/ru/docs/warnings/v3187/), [V3188](https://pvs-studio.ru/ru/docs/warnings/v3188/), [V3189](https://pvs-studio.ru/ru/docs/warnings/v3189/), [V3190](https://pvs-studio.ru/ru/docs/warnings/v3190/), [V3191](https://pvs-studio.ru/ru/docs/warnings/v3191/), [V3192](https://pvs-studio.ru/ru/docs/warnings/v3192/), [V3193](https://pvs-studio.ru/ru/docs/warnings/v3193/), [V4001](https://pvs-studio.ru/ru/docs/warnings/v4001/), [V4002](https://pvs-studio.ru/ru/docs/warnings/v4002/), [V4003](https://pvs-studio.ru/ru/docs/warnings/v4003/), [V4004](https://pvs-studio.ru/ru/docs/warnings/v4004/), [V4005](https://pvs-studio.ru/ru/docs/warnings/v4005/)

Для Java анализатора: [V6107](https://pvs-studio.ru/ru/docs/warnings/v6107/)

Полный список диагностик доступен на [этой странице](https://pvs-studio.ru/ru/docs/warnings/)\.

## Разное

### Личный кабинет пользователя

В этом году мы добавили на сайт возможность создавать свой аккаунт и заходить в свой личный кабинет\. Кнопки регистрации и авторизации можно найти в шапке сайта, наведя курсор на иконку:

![1096_pvs_studio_2023_ru/image12.png](https://import.viva64.com/docx/blog/1096_pvs_studio_2023_ru/image12.png)

Личный кабинет позволяет:

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

![1096_pvs_studio_2023_ru/image13.png](https://import.viva64.com/docx/blog/1096_pvs_studio_2023_ru/image13.png)

Приглашаем всех [зарегистрироваться](https://auth.pvs-studio.com/ru/register/)\! 


> Подробнее о личном кабинете можете прочитать в \[заметке\]\(https://pvs\-studio\.ru/ru/blog/posts/1041/\)\\\.



### Переработка документации

**Переработана документация по анализу в режиме коммитов и слияния веток**

Мы полностью переписали [документацию](https://pvs-studio.ru/ru/docs/manual/0055/) по анализу в режиме коммитов и слияния веток \(pull/merge request\)\. Также мы добавили отдельные страницы документации, посвящённые интеграции анализатора в CI системы AppVeyor \([здесь](https://pvs-studio.ru/ru/docs/manual/6667/)\) и Buddy \([здесь](https://pvs-studio.ru/ru/docs/manual/6668/)\)\.

**Полностью переработана документация по Java анализатору**

В документации теперь существует раздел для каждого сценария работы с анализатором:

* [Интеграция в сборочную систему Maven](https://pvs-studio.ru/ru/docs/manual/6705/)
* [Интеграция в сборочную систему Gradle](https://pvs-studio.ru/ru/docs/manual/6706/)
* [Работа PVS\-Studio в IntelliJ IDEA и Android Studio](https://pvs-studio.ru/ru/docs/manual/6704/)
* [Работа с ядром Java анализатора из командной строки](https://pvs-studio.ru/ru/docs/manual/6703/)

**Доработана документация по интеграции результатов анализа в SonarQube**

Мы также улучшили документацию по интеграции результатов анализа в SonarQube\. Появилась информация о том, как "подружить" C\# анализатор PVS\-Studio и SonarQube под Linux и macOS\. Страница доступна [здесь](https://pvs-studio.ru/ru/docs/manual/0037/)\.

## Заключение

Мы постарались рассказать обо всех важных нововведениях в анализаторе за 2023 год, но даже так мы охватили лишь часть\. Полный список изменений можно найти на [странице истории релизов](https://pvs-studio.ru/ru/docs/manual/0010/)\. 

А если вам интересно своевременно узнавать, что нового появляется в анализаторе, подписывайтесь на наши [рассылки пресс\-релизов](https://pvs-studio.ru/ru/subscribe/) \(а ещё там появилась рассылка с IT\-ивентами для разработчиков\!\)\.

А какие изменения вы бы хотели увидеть в PVS\-Studio в 2024 году? Делитесь с нами своими идеями в комментариях\!


> Не забывайте обновляться до последней версии PVS\\\-Studio\\\! Все эти улучшения будут доступны в ней\\\! Вы всегда можете найти самую актуальную версию \[здесь\]\(https://pvs\-studio\.ru/ru/pvs\-studio/try\-free/\)\\\.