Сборники трудов ИСП РАН


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

С.П. Вартанов, А.Ю. Герасимов.

Аннотация

В статье описываются принципы проведения динамического анализа программ с целью обнаружения в них дефектов различного рода при помощи целенаправленной генерации входных данных. Рассматриваются методы преобразования программ для извлечения трасс выполнения, механизмы отслеживания потоков данных и построения входных данных для покрытия путей выполнения. Показывается, как подобный подход позволяет проводить анализ полностью автоматически без привлечения разработчиков и тестировщиков, на основе исполняемого или интерпретируемого кода. Приводится описание инструментов динамического анализа, разработанных в Институте системного программирования РАН, — инструмента Avalanche, основанного на фреймворке Valgrind, и прототипа инструмента, производящего анализ программ на языке Java. В конце обзора приводятся результаты работы инструмента Avalanche на проектах с открытым кодом и результаты проведения динамического анализа Java-программ с целью поиска ошибок синхронизации.

Ключевые слова

динамический анализ, анализ программ

Издание

Труды Института системного программирования РАН, том 26, вып. 1, 2014, стр. 375-394.

ISSN 2220-6426 (Online), ISSN 2079-8156 (Print).

DOI: 10.15514/ISPRAS-2014-26(1)-15

Полный текст статьи в формате pdf Вернуться к содержанию тома