|
Прикладное применение динамического анализа программ, исполняющихся в интерпретирующих средах
С. П. Вартанов, М. К. Ермаков, А. Ю. Герасимов Институт системного программирования РАН
Аннотация:
Сложность современного программного обеспечения постоянно растет, в связи с чем возникает потребность в автоматических инструментах выявления ошибок в разработанных программах. В рамках данной статьи мы представляем решение некоторых задач, возникающих в процессе разработки программного обеспечения. Профилирование работы программ с динамической оперативной памятью, символьное исполнение программ с графическим пользовательским интерфейсом, обнаружение ошибок в параллельных программах - небольшой, но крайне важный класс задач, решение которых востребовано индустрией разработки программного обеспечения. В связи с отсутствием в виртуальной машине Dalvik операционной системы Android стандартных средств подключения агентов, на базе которых возможно проведение динамической инструментации байт-кода, в статье рассмотрен подход к профилированию использования динамической памяти Java-программами при помощи инструмента, реализованного как модифицированная виртуальная машина Dalvik операционной системы Android. Показана обоснованность примененного подхода, приведены практические результаты анализа нескольких программ из комплекта поставки операционной системы Android. Также в статье описано решение задачи динамического символьного исполнения программ с графическим пользовательским интерфейсом с целью генерации минимальных последовательностей управляющих воздействий на пользовательский интерфейс, обеспечивающих тестовое покрытие программы на базе статической инструментации байт-кода Java-программ и модификации инструмента генерации тестовых наборов для приложений с графическим пользовательским интерфейсом GUITAR. В завершении статьи рассматривается применение особенности реализации инструмента обнаружения ошибок синхронизации параллельных программ на языке Java, исполняемых виртуальной машиной Dalvik операционной системы Android на базе статической инструментации байт-кода Java-программ и применения инструмента ThreadSanitizer.
Ключевые слова:
динамический анализ программ, анализ программ.
Образец цитирования:
С. П. Вартанов, М. К. Ермаков, А. Ю. Герасимов, “Прикладное применение динамического анализа программ, исполняющихся в интерпретирующих средах”, Труды ИСП РАН, 29:1 (2017), 135–148
Образцы ссылок на эту страницу:
https://www.mathnet.ru/rus/tisp105 https://www.mathnet.ru/rus/tisp/v29/i1/p135
|
|