Efficient Verification of Multi-Property Designs (The Benefit of Wrong Assumptions) (Extended Version)
Eugene Goldberg, Matthias Gudemann, Daniel Kroening, Rajdeep Mukherjee

TL;DR
This paper introduces JA-verification, a novel approach for efficiently verifying multiple safety properties in a design by assuming others hold, enabling faster detection of property failures and debugging sets without proving assumptions.
Contribution
The paper presents a new 'Just-Assume' verification method that improves efficiency in multi-property safety verification by identifying minimal debugging sets without proving assumptions.
Findings
Significant performance improvements demonstrated in experiments.
Effective identification of minimal debugging sets.
Applicable especially when small debugging sets exist.
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 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 cause failure of other properties. 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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsFormal Methods in Verification · Model-Driven Software Engineering Techniques · Logic, programming, and type systems
