RUS  ENG
Полная версия
ЖУРНАЛЫ // Труды института системного программирования РАН // Архив

Труды ИСП РАН, 2016, том 28, выпуск 5, страницы 145–158 (Mi tisp73)

Эта публикация цитируется в 7 статьях

Использование анализа недостижимого кода в статическом анализаторе для поиска ошибок в исходном коде программ

Р. Р. Мулюков, А. Е. Бородин

Институт системного программирования РАН

Аннотация: В статье описывается поиск недостижимого кода в исходном коде программ, написанных на языках Си и Си++. Приведена классификация видов недостижимого кода. Описаны цели, достигаемые поиском недостижимого кода: выдача предупреждений о возможных ошибках в анализируемой программе и улучшение точности других анализов. Формально поставлены три задачи анализа потока данных: анализ интервалов значений, анализ выколотой точки, предикатный анализ. Решения этих задач применены для поиска инвариантных условий ветвления программы. Показаны особенности поиска недостижимого кода в статических анализаторах, предназначенных для поиска ошибок. Отмечены общие ситуации, в которых нет необходимости сообщать пользователю о найденном недостижимом коде. Описанные алгоритмы реализованы в статическом инструменте Svace, разрабатываемом в ИСП РАН. Оценка результатов детекторов произведена для исходного кода операционных систем Android-5.02 и Tizen-2.3 в виде количественного сравнения предупреждений, выданных каждым из анализов, и их пересечения между собой.

Ключевые слова: статический анализ, недостижимый код, анализ потока данных, Svace, поиск ошибок.

DOI: 10.15514/ISPRAS-2016-28(5)-9



Реферативные базы данных:


© МИАН, 2024