>
>
Большое обновление PVS-Studio: версия 6…

Евгений Рыжков
Статей: 125

Большое обновление PVS-Studio: версия 6.00 с поддержкой C#

Мы выпустили PVS-Studio 6.00! Это очень серьезное обновление, информация о котором будет полезна и старым, и новым пользователям нашего анализатора кода.

У нас появился статический анализ для C#

Мы добавили поддержку C# анализа. Мы сейчас реализовали уже более 40 диагностик для модуля C# анализатора, и в ближайшее время будем увеличивать это число. Хотя C# язык намного более аккуратный, чем C++, мы заметили, что ряд программный ошибок по большому счету не очень-то зависит от языка программирования.

Например, так называемый "Эффект последней строки", суть которого заключается в том, что очень часто ошибка бывает именно в последней строке блока кода, полученного с помощью copy-paste. Увы – сколько удобней и "грамотней" не был бы C#, защититься от этого на уровне языка нельзя. Есть и другие примеры ошибок, которые в C# так же популярны, как и в C++.

Как мы пришли к желанию сделать C#-анализатор? У нас на декабрь 2015 года есть 235 диагностик для C++. Оказывается, что лишь часть из них характерны для C++, а остальные актуальны и для C#. Мы проанализировали эти диагностики и смогли выбрать диагностики, которые также будут срабатывать и в C#. Кроме этого мы посмотрели на существующие другие C#-анализаторы и инструменты для работы с кодом.

И увидели, что есть место и для нашего анализатора. Благо у Microsoft есть платформа Roslyn, на основе которой мы и сделали свой анализатор.

Отказ от поддержки Visual Studio 2005 и 2008

Для старых пользователей важной новостью является то, что, начиная с версии 6.00, мы отказались от поддержки Visual Studio 2005 и Visual Studio 2008. Таким образом сейчас PVS-Studio поддерживает все версии Visual Studio начиная с 2010 и до 2015 (на декабрь 2015). Отказ от поддержки старых версий среды – вынужденная мера. Чем больше версий Visual Studio мы поддерживаем, тем сложнее это делать.

Во-первых, по нашим сведениям, очень мало из тех кто устанавливает PVS-Studio, использует VS2005 или VS2008.

Во-вторых, мы запускаем тесты для каждой из поддерживаемых версий Visual Studio. И чем больше версий надо поддерживать, тем больше тестов будет крутиться на сервере.

В-третьих, уже даже не так просто установить всю линейку Visual Studio 2005-2015 на компьютер и использовать их. Возникают конфликты.

В итоге мы решили отказаться в версии 6.00 от поддержки старых редакций Visual Studio.

Для тех пользователей, кому такие версии VS еще актуальны, мы будем отдавать старую пятую версию PVS-Studio 5.XX в течение какого-то времени.

Какие наши дальнейшие планы?

Мы планируем и дальше развивать наш анализатор для традиционных наших языков: C и C++. Здесь все понятно.

Кроме того, теперь мы будем развивать и C# анализатор. В списках TODO еще куча интересных диагностик, которые позволят найти ошибки в C#-проектах.

А теперь самое время скачать анализатор и проверить им свой проект – на C, C++ или C#.