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

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

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



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






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


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

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

Обнаружение ошибок доступа к буферу в программах на языке C/C++ с помощью статического анализа

И. А. Дудинаab

a Московский государственный университет имени М.В. Ломоносова
b Институт системного программирования РАН
Список литературы:
Аннотация: В данной работе рассматривается метод поиска межпроцедурных ошибок доступа к буферу с помощью статического анализа. В основе рассматриваемого подхода лежит разработанный ранее алгоритм внутрипроцедурного анализа на базе символьного исполнения с объединением состояний, который является чувствительным к путям и учитывает взаимосвязи между переменными, такие как сравнения, арифметические операции и инструкции приведения типа. В работе предложено формальное определение межпроцедурного дефекта и рассмотрены некоторые типы межпроцедурных ошибок доступа к буферу. Межпроцедурный анализ реализован с помощью метода резюме, что позволяет в некоторой степени добиться контекстной чувствительности. Показано, как можно расширить внутрипроцедурный алгоритм для отслеживания межпроцедурных связей между переменными. Кроме этого, приведен алгоритм построения двух типов достаточных условий наличия ошибки доступа к буферу в функции, которые сохраняются в резюме и проверяются при вызове этой функции. Описанный подход был реализован в инструменте статического анализа Svace. На проекте Android 5.0.2 было получено 351 предупреждение об ошибке доступа к буферу, среди которых 64% оказались истинными, при этом существенного замедления анализа не произошло.
Ключевые слова: статический анализ, поиск дефектов, переполнение буфера, чувствительность к путям, контекстная чувствительность, межпроцедурный анализ, символьное исполнение.
Реферативные базы данных:
Тип публикации: Статья
Образец цитирования: И. А. Дудина, “Обнаружение ошибок доступа к буферу в программах на языке C/C++ с помощью статического анализа”, Труды ИСП РАН, 28:5 (2016), 119–134
Цитирование в формате AMSBIB
\RBibitem{Dud16}
\by И.~А.~Дудина
\paper Обнаружение ошибок доступа к буферу в программах на языке C/C++ с помощью статического анализа
\jour Труды ИСП РАН
\yr 2016
\vol 28
\issue 5
\pages 119--134
\mathnet{http://mi.mathnet.ru/tisp71}
\crossref{https://doi.org/10.15514/ISPRAS-2016-28(5)-7}
\elib{https://elibrary.ru/item.asp?id=27679154}
Образцы ссылок на эту страницу:
  • https://www.mathnet.ru/rus/tisp71
  • https://www.mathnet.ru/rus/tisp/v28/i5/p119
  • Эта публикация цитируется в следующих 1 статьяx:
    Citing articles in Google Scholar: Russian citations, English citations
    Related articles in Google Scholar: Russian articles, English articles
    Труды института системного программирования РАН
     
      Обратная связь:
     Пользовательское соглашение  Регистрация посетителей портала  Логотипы © Математический институт им. В. А. Стеклова РАН, 2024