Karam Abdelkader, M.Sc. Thesis Seminar
Wednesday, 6.1.2016, 12:30
Compositional verification techniques aim to decompose the verification of a large system into the more manageable verification of its components.
In recent years, compositional techniques have gained significant successes following a breakthrough in the ability to automate assume-guarantee reasoning.
However, automation is still restricted to simple acyclic assume-guarantee rules.
In this work, we focus on automating circular assume-guarantee reasoning in which the verification of individual components mutually depends on each other.
We use a sound and complete circular assume-guarantee rule and we describe how to automatically build the assumptions needed for using the rule.
Our algorithm accumulates joint constraints on the assumptions based on (spurious) counterexamples obtained from checking the premises of the rule, and uses a SAT solver to synthesize minimal assumptions that satisfy these constraints.
We implemented our approach and compared it with an established learning-based method that uses an acyclic rule.
In all cases, the assumptions generated for the circular rule were significantly smaller, leading to smaller verification problems.
Further, on larger examples, we obtained a significant speedup as well.