Моделирование и анализ информационных систем (Dec 2017)

Invariant Elimination of Definite Iterations over Arrays in C Programs Verification

  • Ilya V. Maryasov,
  • Valery A. Nepomniaschy,
  • Dmitry A. Kondratyev

DOI
https://doi.org/10.18255/1818-1015-2017-6-743-754
Journal volume & issue
Vol. 24, no. 6
pp. 743 – 745

Abstract

Read online

This work represents the further development of the method for definite iteration verification [7]. It extends the mixed axiomatic semantics method [1] suggested for C-light program verification. This extension includes a verification method for definite iteration over unchangeable arrays with a loop exit in C-light programs. The method includes an inference rule for the iteration without invariants, which uses a special function that expresses loop body. This rule was implemented in verification conditions generator, which is the part of our C-light verification system. To prove generated verification conditions an induction is applied which is a challenge for SMT-solvers. At proof stage the SMT-solver CVC4 is used in our verification system. To overcome mentioned difficulty a rewriting strategy for verification conditions is suggested. A method based on theory extension by new theorems to prove verification conditions is suggested. An example, which illustrates the application of these methods, is considered. The article is published in the authors’ wording.

Keywords