может быть кто-нибудь посоветует какие автоматические средства тестрования можно использовать для тестрования компилятора
спасибо
тестрование компилятора
Автор Natasha, 17 мая 2004 09:59
Сообщений в теме: 3
#1
Отправлено 17 мая 2004 - 09:59
#2
Отправлено 21 мая 2004 - 14:01
Волшебной программы, которая все протестирует после нажатия одной кнопки, не существует. Но подходы к автоматизации тестирования компиляторов есть. Ручная работа требуется, однако получающийся набор тестов позволяет достичь неплохого уровня покрытия. Мы занимались тестированием фронтэнда (сканер-парсер), семантического анализатора, оптимизаторов. Аналогичная техника может быть применена и к тестированию кодогенератора.
Многое зависит от наличия исходных текстов компилятора и возможности доступа к отдельным компонентам. Например, для тестирования парсера у нас есть инструмент, который по bnf-грамматике языка генерирует позитивные (синтаксически корректные тесты). Я не совсем в курсе, вполне возможно, что уже завершена работа по генерации негативных тестов. Если есть возможность запускать отдельно парсер, получается очень удобно - если на позитивном тесте не ругнулся - значит, всё нормально. А если запускается весь компилятор, то хуже - тесты корректны синтаксически, но не семантически.
Генерация тестов для семантического анализатора - задача муторная. Порой мне кажется, что проще написать тесты для него вручную. Главное - подойти к этой задаче систематически. Взять описание языка и систематически выделить все правила статической семантики. А потом написать для каждого один или несколько тестов. Несколько - если правило имеет варианты.
Для автоматизации тестирования оптимизаторов (и не только) разработан инструмент ОТК. По ссылке есть отчеты о реальных проектах.
Если заинтересуетесь - пишите, обсудим возможность сотрудничества.
Демаков Алексей,
RedVerst, ИСП РАН
Многое зависит от наличия исходных текстов компилятора и возможности доступа к отдельным компонентам. Например, для тестирования парсера у нас есть инструмент, который по bnf-грамматике языка генерирует позитивные (синтаксически корректные тесты). Я не совсем в курсе, вполне возможно, что уже завершена работа по генерации негативных тестов. Если есть возможность запускать отдельно парсер, получается очень удобно - если на позитивном тесте не ругнулся - значит, всё нормально. А если запускается весь компилятор, то хуже - тесты корректны синтаксически, но не семантически.
Генерация тестов для семантического анализатора - задача муторная. Порой мне кажется, что проще написать тесты для него вручную. Главное - подойти к этой задаче систематически. Взять описание языка и систематически выделить все правила статической семантики. А потом написать для каждого один или несколько тестов. Несколько - если правило имеет варианты.
Для автоматизации тестирования оптимизаторов (и не только) разработан инструмент ОТК. По ссылке есть отчеты о реальных проектах.
Если заинтересуетесь - пишите, обсудим возможность сотрудничества.
Демаков Алексей,
RedVerst, ИСП РАН
Алексей Демаков, ИСП РАН
UniTesK - технология функционального тестирования с использованием формальных спецификаций.
UniTesK - технология функционального тестирования с использованием формальных спецификаций.
#3
Отправлено 24 мая 2004 - 07:28
Добрый день, Алексей!
Меня заинтересовало Ваше письмо.
Хотелось бы задать более конкретные вопросы по работе данного продукта.
Буду рада получить номер телефона для контата или email.
Голод Наталья
ngolod@elmo.co.il
Меня заинтересовало Ваше письмо.
Хотелось бы задать более конкретные вопросы по работе данного продукта.
Буду рада получить номер телефона для контата или email.
Голод Наталья
ngolod@elmo.co.il
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных