Создание тестовых случаев для злоупотребления грамматической грамматикой BNF
Вопрос
Мне интересно, есть ли инструмент или метод, учитывая грамматику BNF, Регулировка Он случайным образом (но разумно) и генерирует поток вывода для использования при обнаружении случаев, которые проскальзывают мимо BNF (но не должны).
редактировать: Фузаз тестирование парсер, другими словами.
Спасибо
Решение
Провести некоторое время нежным временем с Google, я обнаружил, что автоматическое тестирование Fuzz на основе грамматики жесткий, и предмет текущих исследований. В частности, P. GODEFORD при Microsoft Research работают на участке программного обеспечения, называемого Sage.
Я выкопал исследовательскую бумагу от него.
Автоматизированное тестирование Fuzz Beatbox (Совместная работа с Майклом И. Левин и Дэвидом Молнаром) Материалы NDSS'2008 (безопасность сети и распределенных систем), стр. 151-166, Сан-Диего, февраль 2008 года.
Я также нашел xml на основе Персик Программное обеспечение, но для меня неясно в повседневной прочтении, как я могу использовать его во второй половине дня на работу для неинтезобежного приложения.
Итак, мой вывод: «Это тема современного (APR '10) исследования, и там нет инструмента быстрого использования.
Другие советы
Не строго бензирующий инструмент, но Американская нечеткая Lop Нанимает методы искусственного интеллекта и могут прогуляться по нехватке знаний BNF довольно хорошо. Он уже нашел ошибки во многих анализаторах с открытым исходным кодом, поэтому он может быть нужным инструментом для вашего.