Edinburgh Research Explorer

Necessary and Sufficient Preconditions via Eager Abstraction

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

Related Edinburgh Organisations

Open Access permissions

Open

Documents

http://dx.doi.org/10.1007/978-3-319-12736-1_13
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
Pages236-254
Number of pages19
Volume8858
ISBN (Electronic)978-3-319-12736-1
ISBN (Print)978-3-319-12735-4
DOIs
Publication statusPublished - 2014

Abstract

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.

Download statistics

No data available

ID: 19312114