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

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

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



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






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


Труды института системного программирования РАН, 2015, том 27, выпуск 6, страницы 111–134
DOI: https://doi.org/10.15514/ISPRAS-2015-27(6)-8
(Mi tisp188)
 

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

Статический анализатор Svace как коллекция анализаторов разных уровней сложности

А. Е. Бородинa, А. А. Белеванцевab

a Институт системного программирования РАН
b Московский государственный университет имени М.В. Ломоносова
Список литературы:
Аннотация: В статье описывается статический анализатор Svace, разрабатываемый в ИСП РАН.
Текущая версия анализатора осуществляет поиск ошибок в программах, написанных на языках Cи, Cи++, Java и Cи#. Svace осуществляет поиск дефектов различных типов, включая ошибки разыменования нулевого указателя, переполнение буфера, использование неинициализированных переменных, утечки памяти, двойные блокировки, наличие недостижимого кода, несогласованность конструкторов и деструкторов, ошибки деления на ноль, возвращение адреса локальных переменных, использование объектов после удаления. Целью анализа является поиск как можно большего количества дефектов при приемлемом количестве ложных срабатываний и времени анализа.
Дефекты в программе имеют разную природу и для их поиска необходимо правильно выбрать алгоритм анализа. Хороший инструмент будет включать в себя как простые детекторы, использующие синтаксический анализ, так и сложные детекторы, позволяющие найти нетривиальные межпроцедурные ошибки. Построение инструмента на основе нескольких анализаторов позволяет использовать преимущества этих видов анализаторов и находить больший диапазон ошибочных ситуаций.
Инструмент Svace состоит из набора анализаторов реализующих анализы разных типов: анализ на основе абстрактного синтаксического дерева, консервативный анализ потока данных для одной функции, потоко- чувствительный и межпроцедурный неконсервативный анализ с возможностью использовать чувствительность к путям.
Межпроцедурный анализ осуществляется на основе аннотаций. При таком подходе после анализа функции создаётся её аннотация, описывающая интересующие эффекты вызова функции. Аннотация используется при обработке вызова функции для эмуляции вызова, что позволяет избежать повторного анализа функции. На основе анализа отдельных функций реализован анализ пар конструкторов и деструкторов Си++, позволяющий находить несогласованность при их написании. Все описываемые анализы иллюстрируются примерами ошибок, найденными анализатором на проектах с открытым исходным кодом.
Ключевые слова: статический анализ, язык Си, дефекты в исходном коде, абстрактное синтаксическое дерево, потоковая чувствительность, межпроцедурный анализ, чувствительность к путям, неконсервативный анализ, разыменование нулевого указателя, утечки памяти.
Реферативные базы данных:
Тип публикации: Статья
Образец цитирования: А. Е. Бородин, А. А. Белеванцев, “Статический анализатор Svace как коллекция анализаторов разных уровней сложности”, Труды ИСП РАН, 27:6 (2015), 111–134
Цитирование в формате AMSBIB
\RBibitem{BorBel15}
\by А.~Е.~Бородин, А.~А.~Белеванцев
\paper Статический анализатор Svace как коллекция анализаторов разных уровней сложности
\jour Труды ИСП РАН
\yr 2015
\vol 27
\issue 6
\pages 111--134
\mathnet{http://mi.mathnet.ru/tisp188}
\crossref{https://doi.org/10.15514/ISPRAS-2015-27(6)-8}
\elib{https://elibrary.ru/item.asp?id=25476302}
Образцы ссылок на эту страницу:
  • https://www.mathnet.ru/rus/tisp188
  • https://www.mathnet.ru/rus/tisp/v27/i6/p111
  • Эта публикация цитируется в следующих 17 статьяx:
    Citing articles in Google Scholar: Russian citations, English citations
    Related articles in Google Scholar: Russian articles, English articles
    Труды института системного программирования РАН
     
      Обратная связь:
     Пользовательское соглашение  Регистрация посетителей портала  Логотипы © Математический институт им. В. А. Стеклова РАН, 2025