Большое обновление PVS-Studio: версия 6.00 с поддержкой C#
Вышел PVS-Studio 6.00! Это одно из основных обновлений для нас. Надеемся, эта информация будет полезна для наших текущих и новых пользователей анализатора.
Статический анализ для C#
Мы добавили поддержку анализа C#. Мы уже внедрили более 40 диагностик для C# модуля анализатора и это число будет расти. Хотя язык C# гораздо точнее C++, мы заметили, что некоторые ошибки не связаны с языком программирования.
Например, это так называемый эффект последней строки. Мы видели, что очень часто ошибка попадает в последнюю строку блока кода, написанного методом Copy-Paste. К сожалению, защитить себя от подобных ошибок невозможно, каким бы удобным и продуманным ни был язык. Есть еще много примеров таких ошибок, общих как для языков C#, так и для C++.
Как мы пришли к идее сделать анализатор C#? На данный момент (декабрь 2015) у нас есть 235 диагностик для C++. Оказалось, что только часть из них относится к написанию кода на C++, остальные характерны и для C#. Мы провели анализ этих диагностик и выбрали те из них, которые могут быть актуальны для C#. Кроме того, мы исследовали рынок других анализаторов C# и программных средств для работы с кодом. Мы увидели, что есть место для нашего анализатора.
Чтобы не изобретать велосипед, за основу нашего анализатора мы взяли платформу Roslyn.
Прекращена поддержка Visual Studio 2005 и 2008.
Для тех, кто уже использует PVS-Studio, важная новость: мы больше не поддерживаем Visual Studio 2005 и Visual Studio 2008, начиная с версии анализатора 6.00. Таким образом, PVS-Studio теперь поддерживает все версии Visual Studio с 2010 по 2015 год (на текущий момент — декабрь 2015 года). Для нас это вынужденная мера. Чем больше версий Visual Studio мы поддерживаем, тем сложнее их поддерживать.
Во-первых, по информации у нас очень мало пользователей PVS-Studio, работающих с VS2005 или VS2008.
Во-вторых, мы запускаем тесты для каждой версии Visual Studio, которую поддерживаем. Следовательно, чем больше версий нужно поддерживать, тем больше тестов будет располагаться на сервере.
В-третьих, установить и использовать всю линейку продуктов Visual Studio 2005–2015 не так просто из-за конфликтов версий.
Вот почему с выпуском нашей версии 6.00 мы прекратили поддержку старых версий Visual Studio.
Чтобы сделать процесс перехода более плавным, мы по-прежнему будем предоставлять старую версию 5.XX PVS-Studio в течение некоторого времени для тех, кто продолжит работу с VS2005 и 2008.
Дальнейшие шаги
Мы планируем продолжить разработку этого анализатора для наших «традиционных» языков — C и C++.
Кроме того, мы также будем работать над развитием C# анализатора. В нашем списке «ToDo» есть еще много новых диагностик, ожидающих реализации.
Так что сейчас самое время скачать анализатор и запустить его на своем коде — будь он написан на C, C++ или C#.