>
>
Вопросы и ответы по библиотеке VivaCore…

Андрей Карпов
Статей: 643

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

Вопросы и ответы по библиотеке VivaCore (VivaCore FAQ)

В документе собраны некоторые вопросы и ответы по библиотеке анализа Си/Си++ кода VivaCore компании ООО "СиПроВер".

Что такое VivaCore?

VivaCore - это открытая библиотека для работы с Си и Си++ кодом. Библиотека представляет собой проект с открытым кодом, написанным на языке Си++. VivaCore построена на основе библиотеки OpenC++ (OpenCxx).

Не следует путать VivaCore с профессиональными многофункциональными парсерами Си/Си++ кода. Если пользователю нужен front-end парсер кода, полностью поддерживающий современный стандарт языка Си++ и позволяющий создавать свой компилятор под специфическую платформу, то ему стоит обратить свое внимание на GCC или дорогие коммерческие решения.

В чем отличие библиотеки VivaCore от OpenC++?

В библиотеку VivaCore внесены следующие усовершенствования, по сравнению с библиотекой OpenC++:

  • Поддержан классический язык Си.
  • Проделана работа по поддержке специфики синтаксиса языка Си++, используемого при разработке в среде Visual Studio 2005/2008/2010.
  • Поддержаны некоторые новые ключевые слова и иные конструкции, имеющиеся в новых стандартах языка.
  • Реализовано вычисление значений литеральных констант.
  • Библиотека адаптирована и оптимизирована для работы на 64-битных системах.
  • Исправлено большое количество ошибок и недочетов.
  • Создан механизм начальной предобработки исходного текста, позволяющий реализовать некоторые специфические модификации кода.
  • Поддержано кодирование сложных типов, занимающих в кодированном виде более 127 символов.
  • Создан простой проект (для Visual Studio 2010), демонстрирующий основные принципы использования библиотеки VivaCore.
  • Реализована поддержка стандарта C++0x на уровне, на котором она осуществлена в Visual Studio 2010. Реализована поддержка лямбда-выражений, auto, decltype, static_assert, nullptr и так далее.

Для чего предназначена библиотека VivaCore?

Библиотека VivaCore может быть интересна компаниям и организациям, которые создают или планируют создавать инструменты для работы с кодом. С ее помощью могут быть разработаны приложения в следующих областях:

  • рефакторинг кода;
  • статические анализаторы общего и специализированного назначения;
  • динамические анализаторы кода;
  • расширения языков Си/Си++, в том числе для поддержки метапрограммирования;
  • автоматизированное тестирование кода;
  • трансформации кода, например, для оптимизации;
  • подсветку синтаксиса;
  • системы построения документации по коду;
  • высокоточное определение изменений в исходном коде или анализа эволюции изменений;
  • поиск дублирующегося кода на уровне грамматических конструкций языка;
  • подсчет метрик;
  • поддержку стандартов кодирования;
  • инструменты, облегчающие миграцию кода на другие программные и аппаратные платформы;
  • автоматическую генерацию кода;
  • визуализаторы кода, системы построения диаграмм зависимостей;
  • форматирование кода;
  • автоматическое протоколирование результатов испытаний программ;
  • другое.

Каковы лицензионные условия использования библиотеки VivaCore?

Библиотека VivaCore разработана компанией ООО "Системы программной верификации" (OOO "Program Verification Systems").

Лицензия на библиотеку VivaCore позволяет свободно использовать, копировать, распространять и модифицировать ее в бинарном виде или в виде исходного кода, как для коммерческого, так и для некоммерческого использования без каких-либо отчислений авторам библиотеки. Необходимо лишь указать авторов исходных библиотек (OpenC++ и VivaCore).

Для каких систем предназначена библиотека VivaCore?

С одной стороны, библиотека анализа Си++ кода ориентирована на анализ кода без учета специфики какой-либо операционной системы или аппаратной платформы. Но с другой стороны, VivaCore поставляется как проект для Visual Studio 2010, и соответственно наиболее просто собрать ее в Windows-окружении. Обратим внимание, что для сборки можно использовать как полные версии Visual Studio 2010, так и Express-версии.

Можете ли вы на заказ разработать специализированный вариант библиотеки VivaCore или решение на ее основе?

Да, можем.

Библиографический список