VivaCore
Те, кто интересуется технологией анализа кода, наверняка слышали о нашей библиотеке VivaCore. Именно на ее основе построен наш же статический анализатор PVS-Studio. Раньше библиотеку можно было скачать с нашего сайта, однако недавно мы ее убрали оттуда и больше ее не распространяем.
Если у вас есть интерес к этой библиотеке или же вообще к построению систем анализа кода C/C++/C++11, то вы можете написать нам. Мы готовы разработать по заказу решение в области анализа кода на основе библиотеки. Такие решения довольно сложные и требуется опыт, для работы с подобными библиотеками. Мы готовы предоставить этот опыт в лице нашей команды на договорных условиях. Просто скачать и использовать эту библиотеку больше нельзя, так как без нашей поддержки это не возможно, а поддерживать open source без оплаты мы пока не в состоянии.
VivaCore. Библиотека разбора, анализа и трансформации кода, развиваемая компанией ООО "Системы программной верификации". VivaCore является открытой библиотекой и поддерживает C/C++/C++11. Библиотека написана на языке Си++ и реализована в виде проекта для Visual Studio 2012. VivaCore построена на основе библиотеки OpenC++ (OpenCxx), которая в данный момент не развивается. VivaCore умеет все то, что умеет OpenCxx, а также:
- Поддержан классический язык Си.
- Реализована поддержка стандарта C++11 на уровне, на котором она осуществлена в Visual Studio 2012. Реализована поддержка лямбда-выражений, auto, decltype, static_assert, nullptr и так далее.
- Проделана работа по поддержке специфики синтаксиса языка Си++, используемого при разработке в среде Visual Studio 2005/2008/2010/2012.
- Проделана работа по поддержке специфики синтаксиса языка Си++, используемого при разработке в среде Embarcadero RAD Studio 2009/2010/XE/XE2/XE3.
- Поддержаны некоторые новые ключевые слова и иные конструкции, имеющиеся в новых стандартах языка.
- Реализовано вычисление значений литеральных констант.
- Библиотека адаптирована и оптимизирована для работы на 64-битных системах.
- Исправлено большое количество ошибок и недочетов.
- Создан механизм начальной предобработки исходного текста, позволяющий реализовать некоторые специфические модификации кода.
- Поддержано кодирование сложных типов, занимающих в кодированном виде более 127 символов.
- Создан простой проект (для Visual Studio 2010), демонстрирующий основные принципы использования библиотеки VivaCore.
- Поддержаны директивы #pragma
- И так далее.
На основе библиотеки VivaCore реализован анализатор кода PVS-Studio. Также на основе библиотеки VivaCore компания ООО "Системы программной верификации" предлагает создание специализированных решений в области анализа и обработки исходного кода для сторонних заказчиков.
Страничка продукта: http://www.viva64.com/ru/vivacore-library/ .
Библиографический список
- Андрей Карпов, Евгений Рыжков. "Сущность библиотеки анализа кода VivaCore"
- VivaCore. Вопросы и ответы
- Андрей Карпов. Как появилась библиотека VivaCore
0