RUS  ENG
Полная версия
ЖУРНАЛЫ // Моделирование и анализ информационных систем // Архив

Модел. и анализ информ. систем, 2017, том 24, номер 6, страницы 743–754 (Mi mais597)

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

Invariant elimination of definite iterations over arrays in C programs verification

[Элиминация инвариантов финитных итераций над массивами при верификации Си программ]

I. V. Maryasov, V. A. Nepomniaschy, D. A. Kondratyev

A. P. Ershov Institute of Informatics Systems SB RAS, 6 Akademik Lavrentyev av., Novosibirsk 630090, Russia

Аннотация: Данная работа представляет дальнейшее развитие метода верификации финитной итерации [7]. Он расширяет метод смешанной аксиоматической семантики [1], предложенный для верификации C-light программ. Это расширение включает метод верификации для финитной итерации над неизменяемыми массивами с выходом из цикла в C-light программах. Метод содержит правило вывода для итерации без инвариантов, которое использует специальную функцию, выражающую действие тела цикла. Данное правило было реализовано в генераторе условий корректности, являющемся частью нашей системы верификации C-light программ. Для доказательства порождённых условий корректности применяется метод математической индукции, вызывающий сложности у SMT-решателей. В нашей системе верификации на стадии доказательства используется SMT-решатель CVC4. Для преодоления упомянутой трудности применяется стратегия переписывания условий корректности. Для доказательства условий корректности предложен метод, основанный на расширении теории новыми теоремами. Рассмотрен пример, иллюстрирующий применение данных методов. Статья публикуется в авторской редакции.

Ключевые слова: C-light, Си, инварианты циклов, смешанная аксиоматическая семантика, финитная итерация, массивы, CVC4, спецификация, верификация, логика Хоара.

УДК: 004.052.42

Поступила в редакцию: 08.09.2017

Язык публикации: английский

DOI: 10.18255/1818-1015-2017-6-743-754



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


© МИАН, 2025