Lifting CDCL to Template-based Abstract Domains for Program Verification
Rajdeep Mukherjee, Peter Schrammel, Leopold Haller, Daniel Kroening,, Tom Melham

TL;DR
This paper introduces ACDLP, a novel extension of CDCL to template polyhedra for program verification, achieving significant efficiency and precision improvements over existing tools.
Contribution
It presents the first instantiation of CDCL with a template polyhedra domain, generalizing Boolean CDCL to richer program analysis abstractions.
Findings
Achieves 100x reduction in decisions, propagations, conflicts compared to CBMC.
Runs 1.5 times faster than CBMC in verification tasks.
Solves twice as many benchmarks as Astree with higher precision.
Abstract
The success of Conflict Driven Clause Learning (CDCL) for Boolean satisfiability has inspired adoption in other domains. We present a novel lifting of CDCL to program analysis called Abstract Conflict Driven Learning for Programs (ACDLP). ACDLP alternates between model search, which performs over-approximate deduction with constraint propagation, and conflict analysis, which performs under-approximate abduction with heuristic choice. We instantiate the model search and conflict analysis algorithms to an abstract domain of template polyhedra, strictly generalizing CDCL from the Boolean lattice to a richer lattice structure. Our template polyhedra can express intervals, octagons and restricted polyhedral constraints over program variables. We have imple- mented ACDLP for automatic bounded safety verification of C programs. We evaluate the performance of our analyser by comparing with…
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
TopicsSoftware Engineering Research · Formal Methods in Verification · Software Reliability and Analysis Research
