|
Исследование и разработка межпроцедурных алгоритмов поиска дефектов в исполняемом коде программ
Г. С. Ивановab, П. М. Пальчиковc, А. Ю. Тарасовc, Г. С. Акимовc, А. К. Асланянd, В. Г. Варданянd, М. С. Арутюнянd, Г. С. Керопянd a Московский авиационный институт (национальный исследовательский университет)
b Институт системного программирования им. В.П. Иванникова РАН
c Московский государственный технический университет имени Н.Э. Баумана
d Российско-Армянский университет
Аннотация:
В последнее время всё больше компаний, производящих программное обеспечение, заинтересованы в инструментах повышения стабильности и безопасности их продукта. Используемые разработчиками закрытые библиотеки и сторонние приложения могут содержать дефекты, использование которых злоумышленником или пользователем может привести к нарушению стабильности и безопасности работы приложения. В ряде случаев исходный код проблемных участков может отсутствовать. Приобретают популярность статические методы поиска дефектов в коде, позволяющие находить дефекты, недостижимые для динамических методов. Статические методы представляют собой алгоритмы исследования статической модели программы, в том числе графа вызовов, потока управления, потока данных. Исследование бинарного кода предполагает восстановление статической модели программы из бинарного файла путём дизассемблирования, восстановления границ функций, трансляцию в промежуточное представление и восстановление графа вызовов. Дефекты в современных кодовых базах, как правило, проявляются лишь на определённом множестве путей в графе вызовов, что требует межпроцедурных алгоритмов поиска дефектов. Целью данной работы является разработка методов межпроцедурных алгоритмов поиска дефектов в бинарном коде, обладающих хорошей масштабируемостью, набором поддерживаемых архитектур и приемлемой точностью. Алгоритмы построены на базе инструмента ИСП РАН Binside.
Ключевые слова:
статический анализ кода, поиск ошибок, анализ исполняемого кода.
Образец цитирования:
Г. С. Иванов, П. М. Пальчиков, А. Ю. Тарасов, Г. С. Акимов, А. К. Асланян, В. Г. Варданян, М. С. Арутюнян, Г. С. Керопян, “Исследование и разработка межпроцедурных алгоритмов поиска дефектов в исполняемом коде программ”, Труды ИСП РАН, 31:6 (2019), 89–98
Образцы ссылок на эту страницу:
https://www.mathnet.ru/rus/tisp471 https://www.mathnet.ru/rus/tisp/v31/i6/p89
|
|