парсер для разработки инструмента покрытия кода на c ++ - PullRequest
1 голос
/ 11 января 2011

Я занимаюсь разработкой инструмента покрытия кода на С ++. Существуют ли инструменты для разработки приложений покрытия кода, такие как парсеры и т. Д.

Ответы [ 2 ]

4 голосов
/ 11 января 2011

Я бы посоветовал вам взглянуть на существующие компиляторы и использовать их возможности разбора.Например, есть clang / LLVM , который уже реализует статический анализ кода некоторой формы.Или вы можете использовать встроенный парсер GNU Compilers / g ++.IIRC, новый SDK для Visual Studio 2010 также позволяет напрямую подключаться к онлайн-компилятору (который также используется для нового intellisense).

0 голосов
/ 11 января 2011

См. Мою статью Покрытие ветвлений Покрытие ветвей для произвольных языков Made Easy , в котором описывается, как создавать инструменты покрытия тестами с использованием системы преобразования программ, анализируя исходный текст, создавая AST и применяя правила перезаписи для вставки тестирование зондов покрытия и довольно распечатка модифицированного исходного кода для сбора данных компиляции / выполнения / тестового зонда.

Хотя этот метод работает с любой системой, которая может анализировать и распечатывать C ++, как правило, их трудно найти, потому что синтаксический анализ C ++ затруднен. В данном документе особое внимание уделяется нашему нашему DMS Software Reengineering Toolkit , который имеет полный C ++ интерфейс и для которого мы создали C ++ Test Coverage .

...