SynTESK
 

SynTESK (Syntax Testing Kit), инструмент для тестирования синтаксических анализаторов (парсеров) формальных языков. SynTESK позволяет проверять соответствие реализации парсера и спецификации данного формального языка, т.е. что парсер распознает именно данный формальный язык.

В настоящее время существует много надежных систем автоматизированной генерации парсеров. Однако сложность реальных языков такова, что даже при использовании систем автоматизированной генерации разработка парсеров требует дополнительно написания ручного кода, в основном для разрешения конфликтов при синтаксическом разборе так называемые look-ahead процедуры.

SynTESK реализует технологию UniTESK автоматизированного тестирования, основанную на использовании спецификаций и моделей целевой системы.

При использовании инструмента SynTESK тесты строятся полностью автоматически на основе описания грамматики в виде BNF (форма Бэкуса-Наура). Для данного описания грамматики формального языка SynTESK позволяет получить тесты следующих видов:

  • предложения, принадлежащие целевому языку;
  • предложения, не принадлежащие целевому языку.

Это позволяет проверять как то, что тестируемый парсер принимает корректные предложения целевого языка, так и то, что парсер отвергает некорректные предложения.

Инструмент SynTESK позволяет получать эффективные относительно небольшие множества тестов.

SynTESK легко использовать для тестирования как вновь разрабатываемого программного обеспечения, так и уже существующих систем.

Copyright © 2014 Институт системного программирования Российской академии наук