Институт системного программирования им. В.П. Иванникова РАН


SemaTESK

SemaTESK (Semantics Testing Kit) – метод автоматической генерации множеств тестов для фронт-эндов в трансляторах. Метод ориентирован на тестирование анализаторов статической семантики.

Наиболее известные методы генерации семантических тестов работают путем фильтрации предварительно сгенерированных более или менее случайным образом синтаксических тестов. В отличие от этих методов, SemaTESK позволяет непосредственно генерировать тесты для контекстных условий. Это очень ощутимо сокращает время генерации и позволяет достигать предложенные в методе критерии полноты.

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

Предложенный метод специфицирования статической семантики позволяет формализовать неформальные требования, содержащиеся в нормативных документах (например, в стандартах). Метод включает в себя язык SRL для компактного формального специфицирования контекстных условий, а также инструмент STG для эффективной генерации множеств тестов из SRL-спецификаций.

При использовании инструмента STG тесты строятся полностью автоматически на основе описания контекстных условий на языке SRL. Для данного описания контекстных условий формального языка STG позволяет получить тесты следующих видов:
• предложения, принадлежащие целевому языку;
• предложения, не принадлежащие целевому языку.

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

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

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

Разработчик/участник

Технологии программирования

Перейти к списку всех технологий