>
>
Viva64: что это и для кого?

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

Viva64: что это и для кого?

Viva64 - это инструмент для разработчиков программ. С его помощью можно упростить перенос кода с 32-битных Windows-систем на 64-битные.

В настоящее время программные продукты Viva64 и VivaMP включены в состав PVS-Studio и более не распространяются как отдельные приложения. Используйте программу PVS-Studio для получения необходимых возможностей проверки кода.

Проблема ближайших дней - выпуск 64-битных программ

Персональные компьютеры с 64-битными процессорами появились на массовом рынке лишь с начала 2006 года. Практически сразу же начался процесс модификации программ для работы на новой архитектуре. Но неожиданно для разработчиков выяснилось, что после запуска на новой платформе приложения могут вести себя некорректно. Стандартные средства диагностики не позволяют выявить новый класс ошибок в приложениях, но оставлять эти ошибки неисправленными нельзя.

Столкнувшись с необходимостью переноса существующих приложений на новую 64-битную систему, разработчики программного обеспечения оказываются в необычном для себя положении. Программы, которые много лет работали, как часы, начинают вести себя непредсказуемым образом. Конечно же, программе стало доступно больше оперативной памяти. Однако при попытке обработки больших, чем ранее, объемов данных, приложение может зависнуть, упасть или, что еще хуже, вместо файлов с результатами работы выдать пользователю файлы с мусором.

Viva64 как решение проблемы

Одним из возможных решений для поиска ошибок при переносе кода является использование программ специального класса - статических анализаторов кода. Представителем данной группы программ и является Viva64. Viva64 - это анализатор кода, который выявляет в приложениях, написанных на языках программирования Си и Си++, потенциальные проблемы переноса кода.

Viva64 работает в среде Microsoft Visual Studio 2005, являясь ее модулем расширения. Общий вид среды вместе с Viva64 показан на рисунке 1.

Рисунок 1. Общий вид Microsoft Visual Studio 2005 вместе с Viva64.

Это позволяет программистам работать с Viva64 в знакомой среде, не тратя время на изучение нового интерфейса. Viva64 добавляет в среду лишь несколько новых элементов (на рисунке 1 они выделены красным): пункт меню Viva64, панель инструментов с командами Viva64 и окно со списком найденных проблем. Любой разработчик без труда поймет, как работать с Viva64.

На рисунке 2 представлен пример документации к Viva64. Это описание одной из ошибок, обнаруживаемых анализатором кода. Документация выполнена в формате, совместимом со стандартной справочной системой MSDN, и автоматически в нее интегрируется. Поэтому программистам не потребуется время на освоение новой справочной системы.

Рисунок 2 - Пример описания одной из ошибок, обнаруживаемых Viva64.

Viva64 позволяет:

  • выявлять некорректные конструкции в коде (с точки зрения поддержки 64 бит);
  • приводить точную и полную диагностику ошибок вплоть до номера строки и описания;
  • осуществлять навигацию по некорректным участкам кода;
  • анализировать последствия, к которым может привести данная ошибка с помощью подробной документации, интегрирующейся в общую справочную систему MSDN;
  • подсказывать пути исправления ошибок на примерах из документации;
  • проводить анализ кода всего проекта или решения (в терминологии Microsoft Visual Studio), а не только отдельных файлов.

Сравнение Viva64 с конкурентами

Перечислим основных конкурентов Viva64, а также аналогичные решения.

Прежде всего, стоит отметить тот факт, что в Microsoft Visual Studio 2005 встроено специальное средство диагностики проблем переноса кода. Однако эта встроенная возможность не является конкурентом для Viva64, поскольку обеспечивает лишь предварительный, очень грубый контроль кода. Необходимо заметить, что Viva64 обеспечивает значительно более мощный уровень диагностики и анализа кода.

Наиболее близки к Viva64 следующие программные продукты:

Перечисленные программы также относятся к классу анализаторов кода. Отличия Viva64 от них заключаются в следующем:

  • Viva64 ориентируется исключительно на поиск ошибок, возникающих при переносе кода с 32-битных систем на 64-битные. Программы-конкуренты являются анализаторами кода общего назначения. Несмотря на то, что в программах-конкурентах также заявлен поиск проблем переноса кода, в реальности же их затруднительно использовать для анализа Windows-приложений. Дело в том, что они ориентированы прежде всего на Unix-приложения.
  • Viva64 обеспечивает полноценную интеграцию с Microsoft Visual Studio, позволяя осуществлять навигацию по файлам, проектам и решениям, выполнять переход к месту с ошибками, использовать интегрированную справочную систему.
  • Ориентация Viva64 на один класс ошибок (перенос кода на 64-битные системы) позволяет сделать настройку Viva64 максимально простой. Практически, программа Viva64 готова к работе сразу же после установки, что выгодно отличает ее от программ-конкурентов.

Выводы

В целом можно утверждать, что использование Viva64 позволит сократить время выпуска на рынок 64-битных приложений в несколько раз. Это происходит за счет автоматического обнаружения всех потенциально опасных мест в программах, для поиска которых вручную разработчик затратил бы значительно больше времени.

Кроме того, Viva64 обеспечивает значительно более высокое качество приложения. Ведь при анализе кода вручную, без использования Viva64, разработчик вполне может пропустить некоторые ошибки из-за невнимательности. Предлагаемый продукт Viva64 позволяет избежать этого.