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

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

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



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






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


Труды института системного программирования РАН, 2016, том 28, выпуск 4, страницы 149–168
DOI: https://doi.org/10.15514/ISPRAS-2016-28(4)-9
(Mi tisp58)
 

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

Поиск ошибок доступа к буферу в программах на языке C/C++

И. А. Дудинаab, В. К. Кошелевb, А. Е. Бородинb

a Московский государственный университет имени М.В. Ломоносова
b Институт системного программирования РАН
Список литературы:
Аннотация: В статье рассматривается алгоритм статического анализа для поиска в исходном коде программы ошибок доступа к буферу. Алгоритм использует символьное исполнение с объединением состояний и является чувствительным к путям. Рассматриваются только обращения к буферам, имеющим известный в момент компиляции размер и размещённым в статической памяти либо на стеке. В работе приведено формальное определение ошибки доступа к буферу, возникающей при прохождении некоторой последовательности рёбер графа потока управления программы. Приведён алгоритм, позволяющий для переменных программы суммировать информацию о возможных значениях по всем путям с учётом совместности условий переходов, взаимосвязи переменных через арифметические операции, инструкции преобразования типов, бинарные отношения в условиях переходов. Для инструкций доступа к буферу с помощью вычисленной для переменной индекса информации о возможных значениях вычисляются достаточные условия выхода за границы. Выполнимость достаточных условий проверяется SMT-решателем и, в случае нахождения модели, с её помощью обнаруживается ошибочный путь и выдаётся предупреждение. На основе данного подхода в инструменте статического анализа Svace был реализован межпроцедурный чувствительный к путям детектор ошибок доступа к буферу, способный обнаруживать новые, не покрытые предыдущими реализациями детекторов типы ошибок.
Ключевые слова: статический анализ, поиск дефектов, переполнение буфера, чувствительность к путям, символьное исполнение.
Реферативные базы данных:
Тип публикации: Статья
Образец цитирования: И. А. Дудина, В. К. Кошелев, А. Е. Бородин, “Поиск ошибок доступа к буферу в программах на языке C/C++”, Труды ИСП РАН, 28:4 (2016), 149–168
Цитирование в формате AMSBIB
\RBibitem{DudKosBor16}
\by И.~А.~Дудина, В.~К.~Кошелев, А.~Е.~Бородин
\paper Поиск ошибок доступа к буферу в программах на языке C/C++
\jour Труды ИСП РАН
\yr 2016
\vol 28
\issue 4
\pages 149--168
\mathnet{http://mi.mathnet.ru/tisp58}
\crossref{https://doi.org/10.15514/ISPRAS-2016-28(4)-9}
\elib{https://elibrary.ru/item.asp?id=27174144}
Образцы ссылок на эту страницу:
  • https://www.mathnet.ru/rus/tisp58
  • https://www.mathnet.ru/rus/tisp/v28/i4/p149
  • Эта публикация цитируется в следующих 5 статьяx:
    Citing articles in Google Scholar: Russian citations, English citations
    Related articles in Google Scholar: Russian articles, English articles
    Труды института системного программирования РАН
     
      Обратная связь:
     Пользовательское соглашение  Регистрация посетителей портала  Логотипы © Математический институт им. В. А. Стеклова РАН, 2025