|
Труды института системного программирования РАН, 2025, том 37, выпуск 1, страницы 65–86 DOI: https://doi.org/10.15514/ISPRAS-2025-37(1)-4
(Mi tisp952)
|
|
|
|
Применение формальных спецификаций системы команд для функционального тестирования языковых виртуальных машин
А. С. Проценко Институт системного программирования им. В.П. Иванникова РАН
DOI:
https://doi.org/10.15514/ISPRAS-2025-37(1)-4
Аннотация:
В настоящее время большой популярностью пользуются языки программирования, использующие в своей инфраструктуре языковые виртуальные машины (ВМ), что стимулирует развитие данной технологии. Разработка языковой ВМ – сложный процесс, в ходе которого могут вноситься ошибки в проектируемую систему. Для обеспечения качества реализации ВМ процесс разработки включает в себя этап тестирования. При тестировании необходимо ответить на два основных вопроса: как создавать тестовые программы и как проверять результат их исполнения. В статье представлен метод функционального тестирования языковых ВМ на основе формальных спецификаций системы команд. В работе описана реализация предложенного подхода. На основе документации ВМ специфицируется системы команд с помощью языка описания архитектуры. На основе спецификации системы команд строится исполнимая модель. Для автоматизации создания тестовых программ используются тестовые шаблоны – параметризованные описания тестовых программ. При создании тестовых шаблонов используется специальный предметно-ориентированный язык, позволяющий задавать различные техники генерации и использовать байт-код ВМ, полученный из формальных спецификаций. В представленном методе тестовые шаблоны могут быть описаны вручную, сгенерированы автоматически, в соответствии с целевым критерием, или получены от сторонних генераторов. На основе тестовых шаблонов и исполнимой модели генерируются тестовые программы на байт-коде, нацеленные на проверку определенной функциональности или свойств тестируемой системы. Байт-код является естественным языком для ВМ и позволяет воздействовать на всю ее функциональность. Тестовая программа транслируется в бинарную программу и исполняется на ВМ. Во время исполнения программы на ВМ собирается трасса исполнения. Для анализа трассы исполнения создается адаптер трасс. На основе исполнимой модели и адаптера трасс строится тестовый оракул. Оракул проверяет результаты тестирования путем сравнения трассы исполнения с результатами исполнения бинарной программы на исполнимой модели. Метод реализован в инструменте MicroTESK версии 2.6 и был использован для тестирования ВМ Ark.
Ключевые слова:
тестирование на основе модели, языковая виртуальная машина, ВМ, система команд, архитектуры системы команд ISA, байт-код, формальные спецификации, тестирование, тестовая программа, тестовый оракул
Образец цитирования:
А. С. Проценко, “Применение формальных спецификаций системы команд для функционального тестирования языковых виртуальных машин”, Труды ИСП РАН, 37:1 (2025), 65–86
Образцы ссылок на эту страницу:
https://www.mathnet.ru/rus/tisp952 https://www.mathnet.ru/rus/tisp/v37/i1/p65
|
| Статистика просмотров: |
| Страница аннотации: | 56 | | PDF полного текста: | 19 |
|