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


Подход к анализу исполняемого кода на основе восстановления программной архитектуры

Кононов Д.С. (18 ЦНИИ МО РФ, Москва, Россия)

Аннотация

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

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

анализ исполняемого кода; программная архитектура; кластеризация; граф вызовов; расстояние между функциями; программный модуль; декомпозиция

Издание

Труды Института системного программирования РАН, том 30, вып. 5, 2018, стр. 75-88.

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

DOI: 10.15514/ISPRAS-2018-30(5)-4

Для цитирования

Кононов Д.С. Подход к анализу исполняемого кода на основе восстановления программной архитектуры. Труды Института системного программирования РАН, том 30, вып. 5, 2018, стр. 75-88. DOI: 10.15514/ISPRAS-2018-30(5)-4.

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