Journal "Software Engineering"
a journal on theoretical and applied science and technology
ISSN 2220-3397

Issue N5 2016 year

DOI: 10.17587/prin.7.202-210
System for Deductive Verification of Predicate Programs
M. S. Chushkin, chushkinm@rambler.ru, A. P. Ershov, Institute of Informatics Systems, Novosibirsk, 630090, Russian Federation
Corresponding author: Chushkin Michail S., Postgraduate Student, A. P. Ershov, Institute of Informatics Systems, Novosibirsk, 630090, Russian Federation, e-mail: chushkinm@rambler.ru
Received on February 18, 2016
Accepted on March 03, 2016

The programming language P defines a class of programs which do not interact with the external environment. Infinite execution of such programs is meaningless, so the execution of a correct P program must terminate. Loops and pointers are prohibited in the P language. In present article the method of deductive verification for predicate programs is developed. The formula of total correctness for a predicate program with respect to its specification using the formal operation semantics is presented. The rules of decomposition the total correctness formula into simple and short formulas are developed. The correctness of rules is proved in PVS. A tool for deductive verification that generates formulas of program correctness is implemented. The correctness formulas are generated by using the system of rules. The correctness formulas are then translated to the SMT-solver CVC3 and the specification language of PVS-system. The type compatibility errors can lead to an unpredictable behavior of a program. The translator of P language performs full type checking. Some checks couldnt be discharged statically. They are translated to the PVS specification language for use to prove it in the PVS. All correctness formulas are first tested in the SMT-solver CVC3. Unsolved formulas are then translated to the set of theories in the PVS specification language.

Keywords: predicate programming, total correctness of a program, deductive verification, proof assist system PVS, SMT-solver CVC3
pp. 202–210
For citation:
Chushkin M. S. System for Deductive Verification of Predicate Programs, Programmnaya Ingeneria, 2016, vol. 7, no. 5, pp. 202—210.
This work was supported by the Russian Foundation for Basic Research, project № 16-01-00498