- Об институте
- Инновации
- Структура
- Отдел "Архитектуры вычислительных систем"
- Отдел "Информационных систем"
- Отдел "Компиляторных технологий"
- Отдел "Системного программирования"
- Отдел "Системной интеграции и прикладных программных комплексов"
- Отдел "Теоретической информатики"
- Отдел "Технологий программирования"
- Ученый совет
- Диссертационный совет
- Центр верификации ОС Linux
- Исследовательский центр доверенного искусственного интеллекта
- Центр компетенции по параллельным и распределенным вычислениям
- Орган по сертификации
- Центр коллективного пользования ИСП РАН
- Образование
- Издания
- Новости
- Лицензии
Инструмент рандомизированного тестирования API библиотек
В рамках работ для компании Samsung в 2018 году разработан инструмент автоматического рандомизированного тестирования библиотек на языке Java. Инструмент построен на распределенной архитектуре, которая позволяет производить тяжеловесные вычисления на стационарном компьютере, а производить вызов функций библиотек как на стационарном компьютере, так и на мобильном устройстве. Возможности инструмента позволяют производить как полностью автоматическое рандомизированное тестирование, так и настройку процесса тестирования. В частности, инструмент может:
- ограничивать значения аргументов функций бибилиотеки;
- задавать набор мутаций для значений аргументов функций;
- ограничивать последовательности вызовов функций.
Инструмент реализован с использованием техники инструментирования Java-библиотек для получения информации о покрытии и аварийных ситуациях при исполнении кода. В качестве генератора псевдослучайных данных используется фаззер, разработанный в ИСП РАН. По результатам обнаружения аварийного завершения работы функции библиотеки генерируется исходный код для демонстрации ошибки и отладки библиотечной функции.
Исполнитель
Перейти к списку всех проектов 