Труды института системного программирования РАН
RUS  ENG    ЖУРНАЛЫ   ПЕРСОНАЛИИ   ОРГАНИЗАЦИИ   КОНФЕРЕНЦИИ   СЕМИНАРЫ   ВИДЕОТЕКА   ПАКЕТ AMSBIB  
Общая информация
Последний выпуск
Архив

Поиск публикаций
Поиск ссылок

RSS
Последний выпуск
Текущие выпуски
Архивные выпуски
Что такое RSS



Труды ИСП РАН:
Год:
Том:
Выпуск:
Страница:
Найти






Персональный вход:
Логин:
Пароль:
Запомнить пароль
Войти
Забыли пароль?
Регистрация


Труды института системного программирования РАН, 2015, том 27, выпуск 1, страницы 25–38
DOI: https://doi.org/10.15514/ISPRAS-2015-27(1)-2
(Mi tisp111)
 

Эта публикация цитируется в 2 научных статьях (всего в 2 статьях)

Применение статической инструментации байт-кода языка Java для динамического анализа программ

С. П. Вартанов, М. К. Ермаков

Институт системного программирования РАН
Список литературы:
Аннотация: В статье рассматривается задача проведения динамического анализа программ на языке Java при условии, что исходный код программы отсутствует, а запуск программы может происходить на виртуальных машинах, которые интерпретируют байт-код формата, отличного от формата Java Virtual Machine. Приводится обзор методов инструментации и особенностей инструментации байт-кода языка Java для проведения итеративного динамического анализа с целью покрытия наибольшего числа путей выполнения программы. Для такого рода анализа используется построение входных данных для покрытия ранее не пройденных базовых блоков при помощи отслеживания потока помеченных данных, построения ограничений пути и проверки их выполнимости. В качестве метода решения поставленной задачи рассматривается применение статической инструментации байт-кода. Основными достоинствами подобного подхода являются увеличение скорости анализа (за счёт того, что инструментация проводится один раз, до начала работы итеративного механизма) и возможность конвертировать инструментированный байт-код в другие форматы для запуска на нестандартных виртуальных машинах (например, DEX для виртуальной машины Dalvik). В статье также рассматривается реализация предложенных методов в инструменте Coffee Machine. Инструментация осуществляется с помощью BCEL (библиотеки для манипулирования байт-кодом) и разделяется на три этапа: определение классов и методов для инструментации, инструментация на уровне классов и методов, инструментация на уровне отдельных инструкций. На основе Coffee Machine показано, как статическая инструментация может быть применена для печати информации о выполнившихся инструкциях, отслеживания помеченных данных, построения ограничений пути выполнения, а также для построения трассы синхронизационных событий. В качестве одного из ограничений предложенного подхода рассматривается невозможность доступа к динамическим данным в ходе выполнения программы и некоторым методам системных классов. Эти ограничения могут быть сняты за счёт увеличения накладных расходов на повторную инструментацию анализируемой программы и написание методов, симулирующих работу требуемых системных методов. Для использования методов-симуляторов используется специальный механизм, который сопоставляет их имена и имена реальных методов в процессе работы программы и производит дублирование вершины стека для передачи фактических параметров методу-симулятору.
Ключевые слова: статическая инструментация, динамический анализ, анализ программ.
Реферативные базы данных:
Тип публикации: Статья
Образец цитирования: С. П. Вартанов, М. К. Ермаков, “Применение статической инструментации байт-кода языка Java для динамического анализа программ”, Труды ИСП РАН, 27:1 (2015), 25–38
Цитирование в формате AMSBIB
\RBibitem{VarErm15}
\by С.~П.~Вартанов, М.~К.~Ермаков
\paper Применение статической инструментации байт-кода языка Java для динамического анализа программ
\jour Труды ИСП РАН
\yr 2015
\vol 27
\issue 1
\pages 25--38
\mathnet{http://mi.mathnet.ru/tisp111}
\crossref{https://doi.org/10.15514/ISPRAS-2015-27(1)-2}
\elib{https://elibrary.ru/item.asp?id=23420339}
Образцы ссылок на эту страницу:
  • https://www.mathnet.ru/rus/tisp111
  • https://www.mathnet.ru/rus/tisp/v27/i1/p25
  • Эта публикация цитируется в следующих 2 статьяx:
    Citing articles in Google Scholar: Russian citations, English citations
    Related articles in Google Scholar: Russian articles, English articles
    Труды института системного программирования РАН
    Статистика просмотров:
    Страница аннотации:167
    PDF полного текста:102
    Список литературы:24
     
      Обратная связь:
     Пользовательское соглашение  Регистрация посетителей портала  Логотипы © Математический институт им. В. А. Стеклова РАН, 2024