|
Эта публикация цитируется в 1 научной статье (всего в 1 статье)
Автоматическое тестирование LLVM-программ со сложными входными структурами данных
А. В. Мисонижникa, А. А. Бабушкинa, С. А. Морозовb, Ю. О. Костюковa, Д. А. Мордвиновa, Д. В. Козновa a Санкт-Петербургский государственный университет
b Национальный исследовательский университет «Высшая школа экономики»
Аннотация:
Символьное исполнение является известным подходом для автоматической генерации регрессионных тестов и поиска ошибок/уязвимостей в программах. Данная работа посвящена созданию практичного метода к символьному исполнению LLVM-программ, пригодного для работы со сложными входными структурами данных. Метод основан на известной идее ленивой инициализации, позволяющей избавить пользователя от необходимости вручную создавать ограничения на входные структуры данных и полностью автоматизировать процесс символьного исполнения программы. Предлагается два улучшения ленивой инициализации для сегментированной символьной моделей памяти – использование временных меток и информации о типах. Предложенный метод реализован в символьной виртуальной машине KLEE для платформы LLVM и протестирован на реальных C-структурах данных — списках, биномиальных кучах, AVL-деревьях, красно-чёрных деревьях, двоичных деревьях и борах (префиксных деревьях).
Ключевые слова:
автоматическое тестирование, символьное исполнение, ленивая инициализация, платформа LLVM, KLEE, структуры данных
Образец цитирования:
А. В. Мисонижник, А. А. Бабушкин, С. А. Морозов, Ю. О. Костюков, Д. А. Мордвинов, Д. В. Кознов, “Автоматическое тестирование LLVM-программ со сложными входными структурами данных”, Труды ИСП РАН, 34:4 (2022), 49–62
Образцы ссылок на эту страницу:
https://www.mathnet.ru/rus/tisp704 https://www.mathnet.ru/rus/tisp/v34/i4/p49
|
Статистика просмотров: |
Страница аннотации: | 61 | PDF полного текста: | 25 |
|