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

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

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



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






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


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

Использование различных представлений java-программ для статического анализа

Е. А. Карпулевич

Институт системного программирования РАН
Список литературы:
Аннотация: Статический анализ исходного кода используется для автоматизированного обнаружения дефектов программного обеспечения. Особо ощутима польза статического анализа при разработке больших проектов, состоящих из сотен тысяч строк кода, поскольку такой объем кода практически невозможно проверить вручную.
Статический анализатор, в отличие от компилятора, не так сильно ограничен по времени. Благодаря этому, можно реализовать более сложные и точные алгоритмы, которые выдают больше истинных и меньше ложных срабатываний, чем алгоритмы анализа компилятора. В основе работы любого алгоритма лежит внутреннее представление программного кода. В статье рассматриваются различные варианты внутреннего представления программ и детекторы программных ошибок, работающие на этих представлениях. Анализ внутреннего представления в виде абстрактного синтаксического дерева (АСТ) позволяет быстро обнаруживать несложные ошибки, например опасное преобразование типов. С помощью абстрактного синтаксического дерева удобно искать ошибки, связанные с повторным использованием кода. Анализ графа потока управления (ГПУ) позволяет находить более сложные ошибки, для обнаружения, которых требуется проход по коду программы. Вместо прохода по коду анализ выполняется с помощью обхода ГПУ. С помощью анализа на ГПУ можно обнаружить такие дефекты, как, например, утечка ресурса, повторное освобождение ресурса, переполнение буфера.
Существуют и другие внутренние представления, на которых удобно проводить определенные классы анализов. В статье, в качестве примера, описаны принципы работы нескольких детекторов анализатора SVACE на соответствующих внутренних представлениях.
Ключевые слова: статический анализ, java, FindBugs, SVACE.
Реферативные базы данных:
Тип публикации: Статья
Образец цитирования: Е. А. Карпулевич, “Использование различных представлений java-программ для статического анализа”, Труды ИСП РАН, 27:6 (2015), 151–158
Цитирование в формате AMSBIB
\RBibitem{Kar15}
\by Е.~А.~Карпулевич
\paper Использование различных представлений java-программ для статического анализа
\jour Труды ИСП РАН
\yr 2015
\vol 27
\issue 6
\pages 151--158
\mathnet{http://mi.mathnet.ru/tisp190}
\crossref{https://doi.org/10.15514/ISPRAS-2015-27(6)-10}
\elib{https://elibrary.ru/item.asp?id=25476304}
Образцы ссылок на эту страницу:
  • https://www.mathnet.ru/rus/tisp190
  • https://www.mathnet.ru/rus/tisp/v27/i6/p151
  • Citing articles in Google Scholar: Russian citations, English citations
    Related articles in Google Scholar: Russian articles, English articles
    Труды института системного программирования РАН
     
      Обратная связь:
     Пользовательское соглашение  Регистрация посетителей портала  Логотипы © Математический институт им. В. А. Стеклова РАН, 2024