Finite Countermodel Based Verification for Program Transformation (A Case Study)

Alexei P. Lisitsa
(Department of Computer Science, The University of Liverpool)
Andrei P. Nemytykh
(Program Systems Institute, Russian Academy of Sciences)

Both automatic program verification and program transformation are based on program analysis. In the past decade a number of approaches using various automatic general-purpose program transformation techniques (partial deduction, specialization, supercompilation) for verification of unreachability properties of computing systems were introduced and demonstrated. On the other hand, the semantics based unfold-fold program transformation methods pose themselves diverse kinds of reachability tasks and try to solve them, aiming at improving the semantics tree of the program being transformed. That means some general-purpose verification methods may be used for strengthening program transformation techniques. This paper considers the question how finite countermodels for safety verification method might be used in Turchin's supercompilation method. We extract a number of supercompilation sub-algorithms trying to solve reachability problems and demonstrate use of an external countermodel finder for solving some of the problems.

In Alexei Lisitsa, Andrei P. Nemytykh and Alberto Pettorossi: Proceedings of the Third International Workshop on Verification and Program Transformation (VPT 2015), London, United Kingdom, 11th April 2015, Electronic Proceedings in Theoretical Computer Science 199, pp. 15–32.
Published: 7th December 2015.

ArXived at: https://dx.doi.org/10.4204/EPTCS.199.2 bibtex PDF

Comments and questions to: eptcs@eptcs.org
For website issues: webmaster@eptcs.org