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

Труды ИСП РАН, 2019, том 31, выпуск 6, страницы 7–20 (Mi tisp467)

Анализ корректности работы с памятью с использованием расширения теории символьных графов предикатами над символьными значениями

А. А. Васильев, В. С. Мутилин

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

Аннотация: В работе мы рассмотрим подход статической верификации исходного кода программы на предмет корректной работы с памятью. Метод основывается на использовании символьных графов для представлении памяти программы. В работе представлено расширение символьных графов памяти, позволяющее использовать предикаты над символьными значениями для повышения точности анализа. Предикаты позволяют отсекать недостижимые пути, уменьшая количество ложных сообщений об ошибках, а также находить новые ошибки за счет добавления новых проверок на символьных значениях. Метод реализован на основе инструмента CPAchecker. Практическая полезность продемонстрирована на драйверах ядра операционной системы Linux.

Ключевые слова: символьные графы памяти, верификация, модель памяти, предикатные абстракции, динамические структуры данных.

DOI: 10.15514/ISPRAS-2019-31(6)-1



© МИАН, 2024