2012-02-15 5 views
1

Есть ли инструмент анализа java с открытым исходным кодом, который может перечислять пути потока управления с помощью метода и ограничений диапазона вычислений для целочисленных переменных? (А СБ-решатель было бы здорово, а)Java-анализатор с перечислением потока управления

--edit -

This is the answer, который вызвал этот вопрос.

Это the commercial version of the tool Я думаю.

Мой вопрос: какой ближайший эквивалент с открытым исходным кодом?

+1

Я не знаю ни одного, но ключевые слова для google for были бы * абстрактной интерпретацией целочисленных интервалов *. – aioobe

ответ

1

Близкое приближение к тому, что вы просите, это Java Symbolic PathFinder. С сайта:

Символическое Навигаторе

  • Выполняет символическое выполнение Java байт-код
  • Ручки сложные математические ограничения, структуры данных и массивов, многопоточность, предварительные условия, строки (на постоянной работе)
  • Применимо к (исполняемым) моделям и коду
  • Создает тестовые векторы и тестовые последовательности, которые гарантируют достижение заданного пользователем покрытия (например, путь, заявка, ветвь, покрытие MC/DC)
  • Измеряет охват.
  • Формирует JUnit тесты, сценарии моделирования Antares и т.п. (выход может быть легко настраиваемый)
  • Во время процесса генерации тестов, проверки на наличие ошибок
  • является гибким, поскольку он позволяет легко кодирования различных критериев покрытия
  • интегрируется со средой моделирования (текущая работа)

Что касается вашего второго вопроса, то есть родной Java SAT решатель: sat4j