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

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

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



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






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


Труды института системного программирования РАН, 2016, том 28, выпуск 5, страницы 159–174
DOI: https://doi.org/10.15514/ISPRAS-2016-28(5)-10
(Mi tisp74)
 

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

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

А. Ю. Герасимовa, Л. В. Кругловb

a Институт системного программирования РАН
b Московский государственный университет имени М.В. Ломоносова
Список литературы:
Аннотация: Динамическое символьное исполнение - это хорошо известная техника, применяемая для решения различных задач анализа программ: генерация входных данных для увеличения тестового покрытия программы, для эксплуатации уязвимостей и т.д. В то же время значительное падение производительности при динамическом символьном исполнении также является хорошо известной, в общем случае NP-сложной проблемой в связи с экспоненциальным взрывом количества анализируемых путей и решением задачи SAT/SMT при разрешении предиката пути. Применение метода грубой силы при попытке анализа всех достижимых путей в программе, как правило, не имеет смысла в условиях жесткого ограничения времени решения поставленных задач. Поэтому применяются различные методы и эвристики для увеличения производительности анализа и сокращения анализируемого пространства. Мы представляем подход совмещения статического анализа исполняемого кода, основанного на использовании библиотеки binutils, и метода динамического символьного исполнения, основанного на инструменте итеративного динамического анализа Avalanche, для направленной генерации входных данных программы с целью достижения заранее определенной функции в программе. На первом шаге предлагаемого подхода строится усеченный граф вызовов программы, который содержит только те функции, вызов которых в конечном счете приводит к вызову заранее определенной функции. Далее мы дополняем граф вызовов графом потока управления внутри функций, включенных в усеченный граф вызовов. С использованием усеченного графа потока управления программы, который содержит только вызовы и условные переходы, приводящие в конечном итоге к вызову заранее определенной функции, вычисляется метрика наиболее перспективного пути для проведения дальнейшего анализа. Предложенный подход позволил значительно (до двенадцати раз для некоторых реальных программ) сократить время достижения заранее определенной функции по сравнению с методом грубой силы.
Ключевые слова: статический анализ, динамический анализ, генерация входных данных.
Реферативные базы данных:
Тип публикации: Статья
Образец цитирования: А. Ю. Герасимов, Л. В. Круглов, “Вычисление входных данных для достижения определенной функции в программе методом итеративного динамического анализа”, Труды ИСП РАН, 28:5 (2016), 159–174
Цитирование в формате AMSBIB
\RBibitem{GerKru16}
\by А.~Ю.~Герасимов, Л.~В.~Круглов
\paper Вычисление входных данных для достижения определенной функции в программе методом итеративного динамического анализа
\jour Труды ИСП РАН
\yr 2016
\vol 28
\issue 5
\pages 159--174
\mathnet{http://mi.mathnet.ru/tisp74}
\crossref{https://doi.org/10.15514/ISPRAS-2016-28(5)-10}
\elib{https://elibrary.ru/item.asp?id=27679157}
Образцы ссылок на эту страницу:
  • https://www.mathnet.ru/rus/tisp74
  • https://www.mathnet.ru/rus/tisp/v28/i5/p159
  • Эта публикация цитируется в следующих 4 статьяx:
    Citing articles in Google Scholar: Russian citations, English citations
    Related articles in Google Scholar: Russian articles, English articles
    Труды института системного программирования РАН
    Статистика просмотров:
    Страница аннотации:161
    PDF полного текста:106
    Список литературы:26
     
      Обратная связь:
     Пользовательское соглашение  Регистрация посетителей портала  Логотипы © Математический институт им. В. А. Стеклова РАН, 2024