Necessary and Sufficient Preconditions via Eager Abstraction

Mohamed Nassim Seghir, Peter Schrammel

Research output: Chapter in Book/Report/Conference proceedingConference contribution


The precondition for safe execution of a procedure is useful for understanding, verifying and debugging programs. We have previously presented a cegar-based approach for inferring necessary and sufficient preconditions based on the iterative abstraction-refinement of the set of safe and unsafe states until they become disjoint. A drawback of that approach is that safe and unsafe traces are explored separately and each time they are built entirely before being checked for consistency. In this paper, we present an eager approach that explores shared prefixes between safe and unsafe traces conjointly. As a result, individual state sets, by construction, fulfil the property of separation between safe and unsafe states without requiring any refinement. Experiments using our implementation of this technique in the precondition generator P-Gen show a significant improvement compared to our previous cegar-based method. In some cases the running time drops from several minutes to several seconds.
Original languageEnglish
Title of host publicationProgramming Languages and Systems
Subtitle of host publication12th Asian Symposium, APLAS 2014, Singapore, November 17-19, 2014, Proceedings
PublisherSpringer International Publishing
Number of pages19
ISBN (Electronic)978-3-319-12736-1
ISBN (Print)978-3-319-12735-4
Publication statusPublished - 2014


Dive into the research topics of 'Necessary and Sufficient Preconditions via Eager Abstraction'. Together they form a unique fingerprint.

Cite this