Title
A Proof Slicing Framework for Program Verification.
Abstract
In the context of program verification, we propose a formal framework for proof slicing that can aggressively reduce the size of proof obligations as a means of performance improvement. In particular, each large proof obligation may be broken down into smaller proofs, for which the overall processing cost can be greatly reduced, and be even more effective under proof caching. Our proposal is built on top of existing automatic provers, including the state-of-the-art prover Z3, and can also be viewed as a re-engineering effort in proof decomposition that attempts to avoid large-sized proofs for which these provers may be particularly inefficient. In our approach, we first develop a calculus that formalizes a complete proof slicing procedure, which is followed by the development of an aggressive proof slicing method. Retaining completeness is important, and thus in our experiments the complete method serves as a backup for the cases when the aggressive procedure fails. The foundations of the aggressive slicing procedure are based on a novel lightweight annotation scheme that captures weak links between sub-formulas of a proof obligation; the annotations can be inferred automatically in practice, and thus both methods are fully automated. We support our theoretical developments with experimental results, which show significant improvements in the verification of complex programs, where richer specifications are often captured via loosely connected static properties.
Year
DOI
Venue
2013
10.1007/978-3-642-41202-8_5
Lecture Notes in Computer Science
Field
DocType
Volume
Program slicing,Computer science,Slicing,Automated theorem proving,Sequent calculus,Theoretical computer science,Mathematical proof,Completeness (statistics),Gas meter prover,Backup
Conference
8144
ISSN
Citations 
PageRank 
0302-9743
0
0.34
References 
Authors
15
4
Name
Order
Citations
PageRank
Ton Chanh Le1232.69
Cristian Gherghina2856.60
Razvan Voicu3574.22
Wei-Ngan Chin486863.37