RUS  ENG
Полная версия
ЖУРНАЛЫ // Труды института системного программирования РАН // Архив

Труды ИСП РАН, 2020, том 32, выпуск 6, страницы 101–110 (Mi tisp561)

Эта публикация цитируется в 1 статье

Практическая абстрактная интерпретация бинарного кода

М. А. Соловьевab, М. Г. Бакулинa, С. С. Макаровb, Д. В. Манушинb, В. А. Падарянba

a Институт системного программирования им. В.П. Иванникова РАН
b Московский государственный университет имени М.В. Ломоносова

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

Ключевые слова: абстрактная интерпретация, анализ бинарного кода, динамический анализ, символьное выполнение, статический анализ.

DOI: 10.15514/ISPRAS-2020-32(6)-8



© МИАН, 2024