Инструмент динамического символьного исполнения программ Anxiety


Инструмент динамического символьного исполнения программ Anxiety

Начало проекта – 2012 год. Заказчик - ИСП РАН.

В рамках перспективных направлений исследований по автоматическому обнаружению ошибок в машинном коде программ в 2012 году начата разработка инструмента Anxiety для проведения динамического символьного исполнения программ для операционных систем семейств Linux и Windows. Используя научный и технологический задел проекта Avalanche, участники проекта разработали модульную структуру инструмента, позволяющую использовать различные методы получения трасс исполнения программ в виде символьных формул и решения формул с использованием различных решателей SMT.

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

В инструменте реализована поддержка:
- различных источников внешних данных программы: файл, командная строка, переменные окружения, стандартный поток ввода, сетевые сокеты;
- различных стратегий анализа: максимальное расширение покрытия, поиск в глубину, поиск в ширину, направленный анализ;
- обнаружителей ошибок деления на ноль и переполнения буфера на стеке программы;
- анализа программ для операционных систем Linux и Windows;
- режима интеграции с фаззером;
- интеграции с инструментами статического анализа программ.

В данный момент проводятся перспективные исследования в следующих областях:
- повышение производительности анализа;
- целенаправленное обнаружение ошибок различных видов в программе;
- интеграция с другими инструментами анализа программ.

Исполнитель

Системное программирование

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