Efficient Verification of Multi‐Property Designs (The Benefit of Wrong Assumptions)

Eugene Goldberg1, Matthias Güdemann1, Daniel Kroening1 and Rajdeep Mukherjee2
1Diffblue Ltd. Oxford, UK
2University of Oxford, UK

ABSTRACT


We consider the problem of efficiently checking a set of safety properties P1,...,Pk of one design. We introduce a new approach called JA‐verification, where JA stands for “Just- Assume” (as opposed to “assume‐guarantee”). In this approach, when proving a property Pi, one assumes that every property Pj for j ≠ i holds. The process of proving properties either results in showing that P1,...,Pk hold without any assumptions or finding a “debugging set” of properties. The latter identifies a subset of failed properties that are the first to break. The design behaviors that cause the properties in the debugging set to fail must be fixed first. Importantly, in our approach, there is no need to prove the assumptions used. We describe the theory behind our approach and report experimental results that demonstrate substantial gains in performance, especially in the cases where a small debugging set exists.



Full Text (PDF)