Версия 3.45 - 1 февраля 2010
- Существенно улучшена работа анализатора с шаблонами.
- Улучшена работа на многоядерных системах.
Версия 3.44 - 21 января 2010
- Частичная поддержка проверки кода для процессоров Itanium. Теперь код, который собирается в Visual Studio Team System для процессоров Itanium также можно проверять с помощью анализатора. Анализ выполняется на системах x86 и x64, запуск на Itanium пока не реализован.
- Сокращение количества ложных срабатываний анализатора при анализе доступа к массивам. Теперь анализатор в ряде случаев "понимает" диапазоны значений в цикле for и не выводит лишних сообщений про доступе к массивам с помощью таких индексов. Например: for (int i = 0; i < 8; i++) arr[i] = foo(); // нет сообщения анализатора.
- Сокращенено количество ложных сообщений анализатора - введен список типов данных, которые не образуют большие массивы. Например, HWND, CButton. Пользователь может составлять свои списки типов.
- Исправлена ошибка в работе инсталятора при установке программы в папку, отличную от папки по-умолчанию.
Версия 3.43 - 28 декабря 2009
- Удалена опция ShowAllErrorsInString (теперь она всегда имеет значение true).
- Новое правило V120: Member operator[] of object 'foo' declared with 32-bit type argument, but called with memsize type argument.
- Новое правило V302: Member operator[] of 'foo' class has a 32-bit type argument. Use memsize-type here.
- Улучшен анализ operator[].
- Исправлена ошибка с долгим удалением программы при многократной установке "поверх".
- Исправлена ошибка анализа файлов с символом "^" в имени.
Версия 3.42 - 9 декабря 2009
- Улучшена диагностика ошибок с магическими числами. Теперь в сообщении о проблеме выдается больше информации, что позволяет более гибко использовать фильтры.
- Исправлена ошибка при работе с прекомпилированными заголовочными файлами специального типа.
- Опция DoTemplateInstantiate (выполнять инстанцирования шаблонов) теперь по умолчанию включена.
- Исправлена ошибка с зависанием препроцессора при большом количестве сообщений препроцессора.
- Улучшен анализ operator[].
Версия 3.41 - 30 ноября 2009
- Исправлена ошибка анализа файлов с одинаковыми именами при работе на многоядерной машине.
- Исправлена ошибка некорректной диагностики некоторых типов cast-выражений.
- Существенно улучшен разбор перегруженных функций в анализаторе.
- Добавлена диагностика некорректного использования time_t типа.
- Добавлена обработка специальных параметров в настройках файлов проекта Visual C++.
Версия 3.40 - 23 ноября 2009
- Добавлена возможность "Mark as False Alarm". Благодаря этому возможно пометить в исходном коде те строки, в которых происходит ложное срабатывание анализатора кода. После разметки, анализатор более не будет выдавать диагностических сообщений на такой код. Это позволяет более удобно постоянно использовать анализатор в процессе разработки программного обеспечения для проверки нового кода.
- Добавлена поддержка Project Property Sheets - механизма удобной настройки проектов Visual Studio.
- При проверке параллельных программ анализатор может выполнять два прохода по коду, что позволяет собрать больше информации и выполнить более точную диагностику некоторых ошибок.
Версия 3.30 - 25 сентября 2009
- В PVS-Studio добавлена возможность проверки 32-битных проектов для оценки сложности и стоимости миграции кода на 64-битные системы.
- Добавлено новое правило для анализа 64-битного кода V118: malloc() function accepts a dangerous expression in the capacity of an argument.
- Добавлено новое правило для анализа 64-битного кода V119: More than one sizeof() operators are used in one expression.
- Добавлено новое правило для анализа параллельного кода V1211: The use of 'flush' directive has no sense for private '%1%' variable, and can reduce performance.
- Улучшена совместная работа с Intel C++ Compiler (исправлено падение при попытке проверки кода с установленным Intel C++ Compiler).
- Улучшена поддержка локализованных версий Visual Studio.
Версия 3.20 - 7 сентября 2009
- Исправлена ошибка с некорректным выводом некоторых сообщений в локализованных версиях Visual Studio.
- Улучшена загрузка log-файла.
- Улучшена обработка критических ошибок - теперь о возможных проблемах с инструментов сообщить нам стало просто.
- Улучшена работа инсталлятора.
- Исправлена ошибка перебора файлов проекта.
Версия 3.10 - 10 августа 2009
- Добавлена поддержка инстанцирования шаблонов. Теперь поиск потенциальных ошибок выполняется не просто по телу шаблонов (как ранее), но и еще выполняется подстановка аргументов шаблона для более тщательной диагностики.
- Теперь анализатор кода может работать в режиме имитации Linux-окружения. Мы добавили поддержку различных моделей данных. Поэтому теперь на Windows-системе можно проверять кросс-платформенные программы также, как это делалось бы на Linux-системе.
- Исправлена ошибка, связанная с некорректной работой анализатора параллельных ошибок в 32-битном окружении.
- Существенно улучшена работа анализатора с шаблонами.
- Программные продукты Viva64 и VivaMP объединены в один программный комплекс PVS-Studio.
- Новая версия представляет собой существенно модернизированный программный продукт.
- Существенно повышена стабильность работы модуля интеграции в Visual Studio.
- Повышена скорость работы на многопроцессорных системах: анализ выполняется в несколько потоков. Причем количество рабочих потоков анализатора можно настраивать с помощью опции «Thread Count». По умолчанию количество потоков соответствует количеству ядер в процессоре, однако количество потоков можно уменьшить.
- Добавлена возможность работы анализатора из командной строки. В настройки программы добавлена новая опция «Remove Intermediate Files» («Удалять промежуточные файлы»), которая позволяет не удалять командные файлы, создаваемые во время работы анализатора кода. Эти командные файлы можно запускать отдельно, без Visual Studio для выполнения анализа. Кроме того, создавая новые командные файлы по аналогии можно выполнять анализ всего проекта без использования Visual Studio.
- Управлять диагностикой отдельных ошибок стало проще, удобнее и быстрее. Теперь можно включать и выключать показ отдельных ошибок в результатах анализа. Самое главное, что изменение списка сообщений происходит автоматически, без необходимости перезапуска анализа. Выполнив анализ, вы можете просмотреть список ошибок и просто выключить показ тех из них, которые для вашего проекта не актуальны.
- Значительно улучшена работа с фильтрами ошибок. Фильтры для сокрытия отдельных сообщений теперь задаются просто как список строк. Причем применение фильтров также как и управление диагностикой отдельных ошибок не требует перезапуска анализа.
- Изменение лицензионной политики. Хотя PVS-Studio является единым продуктом, лицензирование возможно и для отдельных модулей анализа, таких как Viva64 и VivaMP, и для всех модулей сразу. Кроме того, появились лицензии для одного пользователя и для команды разработчиков. Все эти изменения нашли отражение в регистрационных ключах.
- Поддержка локализованных версий Visual Studio существенно улучшена.
- Интегрирующаяся в MSDN справочная система для новой версии PVS-Studio была значительно переработана и усовершенствована. Описание новых разделов позволяет лучше изучить работу с программным продуктом.
- Улучшено графическое оформление программного продукта. Новые иконки и графика в инсталляторе придали анализатору более красивый вид.
VivaMP
Версия 1.10 - 20 апреля 2009
- Улучшен анализ кода, содержащего вызовы статических функций класса.
- Реализованы новые диагностические правила для анализа ошибок связанных с исключениями: V1301, V1302, V1303.
- Исправлена ошибка с некорректным отображением индикатора прогресса анализа на компьютерах с нестандартным DPI.
- Реализованы некоторые другие усовершенствования.
Версия 1.00 - 10 марта 2009
- Выпущена финальная версия VivaMP.
Версия 1.00 beta - 27 ноября 2008
- Первая публичная бета-версия VivaMP выложена в Интернете.
Viva64
Версия 2.30 - 20 апреля 2009
- Реализовано новое диагностическое правило V401.
- Улучшена обработка констант, что в ряде случаев сокращает количество ложных диагностических предупреждений.
- Исправлена ошибка с некорректным отображением индикатора прогресса анализа на компьютерах с нестандартным DPI.
- Исправлен ряд недочетов.
Версия 2.22 - 10 марта 2009
- Улучшена совместная работа Viva64 и VivaMP.
- Увеличена скорость работы анализатора кода на 10%.
Версия 2.21 - 27 ноября 2008
- Добавлена поддержка совместной работы Viva64 и VivaMP.
Версия 2.20 - 15 октября 2008
- Улучшена диагностика потенциально опасных конструкций. В результате примерно на 20% сократилось количество «ложных срабатываний» анализатора кода. Теперь разработчик потратит меньше времени на анализ кода, диагностируемого как потенциально опасный.
- Изменения в справочной системе. Справка было расширена и дополнена новыми примерами. Так как в данной версии улучшена диагностика потенциально опасных конструкций, то в справочную систему также были добавлены пояснения, касающиеся того, какие конструкция теперь не считаются опасными.
- Увеличена скорость анализа структуры проекта. Теперь же такая работа выполняется примерно в 10 раз быстрее. В конечном итоге это сокращает общее время анализа всего проекта.
- Улучшен анализ шаблонов в языке Си++. Не секрет, что далеко не все анализаторы кода полностью понимают шаблоны (template). Мы постоянно работаем над улучшением диагностики потенциально опасных конструкций в шаблонах. Очередное подобное улучшение сделано в этой версии.
- Изменен формат ряда сообщений анализатора кода для возможности осуществления более тонкой настройки фильтров. Так, например, теперь анализатор не просто сообщает о некорректном типе индекса при доступе к массиву, но при этом и указывает имя самого массива. Если разработчик уверен, что подобный массив никак не может быть источником проблем для 64-битного режима работы, то он может отфильтровать все сообщения, относящиеся к данному массиву по его имени.
Версия 2.10 - 05 сентября 2008
- Добавлена поддержка Visual C++ 2008 Service Pack 1.
Версия 2.0 - 09 июля 2008
- Добавлена поддержка Visual C++ 2008 Feature Pack (и TR1).
- Добавлен режим Pedantic, позволяющий в случае необходимости находить конструкции, представляющие потенциальную опасность, но редко приводящие к ошибкам.
- Улучшена диагностика шаблонных функций.
Версия 1.80 - 03 февраля 2008
- Visual Studio 2008 полностью поддерживается.
- Увеличена скорость анализа кода.
- Улучшен установщик. Теперь возможно установить Viva64 без прав администратора.
Версия 1.70 - 20 декабря 2007
- Добавлена поддержка нового диагностического сообщения (V117). Memsize type used in union.
- Исправлена серьезная проблема связанная с диагностикой нескольких ошибок в одной строке кода.
- Исправлена ошибка вычисления типов в сложных синтаксических конструкциях.
- Улучшен интерфейс пользователя. Индикатор прогресса отслеживает анализ всего решения (solution).
- Visual Studio 2008 частично поддерживается(BETA).
Версия 1.60 - 28 августа 2007
- Добавлена поддержка нового диагностического сообщения (V112). Dangerous magic number used.
- Добавлена поддержка нового диагностического сообщения (V115). Memsize type used for throw.
- Добавлена поддержка нового диагностического сообщения (V116). Memsize type used for catch.
- Изменены ограничения ознакомительной версии. Для каждого анализируемого файла показываются только несколько диагностических сообщений.
Версия 1.50 - 15 мая 2007
-
Добавлена поддежка анализа кода на языке Си.
Версия 1.40 - 1 мая 2007
- Добавлена возможность подавления некоторых сообщений. Вы можете задавать свои фильтры на странице настроек "Message Suppression". Например, вы можете захотеть пропускать сообщения с определенным кодом ошибки или сообщения, содержащие определенные имена функций. (См. Settings: Message Suppression).
- Появилась возможность сохранять/загружать результаты анализа..
- Улучшено представление результатов работы анализатора. Результаты теперь выдаются в стандартном окне Visual Studio под названием Error List, подобно сообщениям компилятора.
Версия 1.30 - 17 марта 2007
- Улучшено представление процесса анализа кода. Убраны лишние переключения окон, создан общий индикатор прогресса.
- Добавлена панель инструментов Viva64.
- Пользователь может указать анализатору, что проверяемая программа может использовать более 2Гб оперативной памяти. Для программ, использующих меньше 2Гб памяти некоторые диагностические сообщения будут отключены.
- Добавлена поддержка нового диагностического сообщения (V113). Implicit type conversion from memsize to double type or vice versa.
- Добавлена поддержка нового диагностического сообщения (V114). Dangerous explicit type pointer conversion.
- Добавлена поддержка нового диагностического сообщения (V203). Explicit type conversion from memsize to double type or vice versa.
- Добавлена фильтрация повторяющихся сообщений. Речь идет об ошибках в h-файлах. Ранее если *.h файл с ошибкой включался в различные *.cpp файлы, то диагностические сообщения выдавались несколько раз. Теперь же будет только одно диагностическое сообщение.
- Теперь Viva64 сообщает о количестве ошибок, обнаруженных
после анализа кода. Вы всегда можете определить:
- сколько кода осталось проверить;
- как много ошибок уже исправлено;
- какие модули содержать наибольшее количество ошибок. - Добавлена поддержка горячих клавиш. Теперь можно прервать работу анализатора с помощью Ctrl+Break. А для проверки текущего файла достаточно нажать Ctrl+Shift+F7.
- Исправлены некоторые ошибки в работе анализатора.
- С помощью анализатора Viva64 мы подготовили 64-битную версию Viva64! Но пользователю не надо беспокоиться о выборе подходящей версии. Правильная версия выбирается автоматически во время установки.
- Добавлена поддержка нового диагностического сообщения (V111).
- Удалена ненужная диагностика на доступ к массивам с помощью enum-значений.
- Удалена ненужная диагностика ошибок на конструкции вида int a = sizeof(int).
- Улучшения справочной системы.
- Первая публичная версия Viva64 выложена в Интернете.























