2016/07/15 by Tewodros A. Beyene, Corneliu Popeea, Andrey Rybalchenko · 1 citation
Computer Science · #cs.LO
paper · pdf · doi:10.4204/eptcs.219.1
published as EPTCS 219, 2016, pp. 1-14 · In Proceedings HCVS2016, arXiv:1607.04033
arxiv created 2016/07/15 · arxiv updated 2016/07/18
The use of temporal logics has long been recognised as a fundamental approach to the formal specification and verification of reactive systems. In this paper, we take on the problem of automatically verifying a temporal property, given by a CTL formula, for a given (possibly infinite-state) program. We propose a method based on encoding the problem as a set of Horn constraints. The method takes a program, modeled as a transition system, and a property given by a CTL formula as input. It first generates a set of forall-exists quantified Horn constraints and well-foundedness constraints by exploiting the syntactic structure of the CTL formula. Then, the generated set of constraints are solved by applying an off-the-shelf Horn constraints solving engine. The program is said to satisfy the property if and only if the generated set of constraints has a solution. We demonstrate the practical promises of the method by applying it on a set of challenging examples. Although our method is based on a generic Horn constraint solving engine, it is able to outperform state-of-art methods specialised for CTL verification.