Modal and temporal properties of processes
Modal and temporal properties of processes
ESP: path-sensitive program verification in polynomial time
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
A Semantics Based Verification Tool for Finite State Systems
Proceedings of the IFIP WG6.1 Ninth International Symposium on Protocol Specification, Testing and Verification IX
Proceedings of the International Workshop on Automatic Verification Methods for Finite State Systems
First-Order and Temporal Logics for Nested Words
LICS '07 Proceedings of the 22nd Annual IEEE Symposium on Logic in Computer Science
Compositional verification of sequential programs with procedures
Information and Computation
Program Models for Compositional Verification
ICFEM '08 Proceedings of the 10th International Conference on Formal Methods and Software Engineering
Reducing Behavioural to Structural Properties of Programs with Procedures
VMCAI '09 Proceedings of the 10th International Conference on Verification, Model Checking, and Abstract Interpretation
MAVEN: modular aspect verification
TACAS'07 Proceedings of the 13th international conference on Tools and algorithms for the construction and analysis of systems
Procedure-modular verification of control flow safety properties
Proceedings of the 12th Workshop on Formal Techniques for Java-Like Programs
Sawja: static analysis workshop for java
FoVeOOS'10 Proceedings of the 2010 international conference on Formal verification of object-oriented software
CVPP: a tool set for compositional verification of control-flow safety properties
FoVeOOS'10 Proceedings of the 2010 international conference on Formal verification of object-oriented software
Temporal reasoning for procedural programs
VMCAI'10 Proceedings of the 11th international conference on Verification, Model Checking, and Abstract Interpretation
Compositional algorithmic verification of software product lines
FMCO'10 Proceedings of the 9th international conference on Formal Methods for Components and Objects
Sound control-flow graph extraction for java programs with exceptions
SEFM'12 Proceedings of the 10th international conference on Software Engineering and Formal Methods
Reducing behavioural to structural properties of programs with procedures
Theoretical Computer Science
Hi-index | 0.00 |
This paper describes ProMoVer, a tool for fully automated procedure-modular verification of Java programs equipped with method-local and global assertions that specify safety properties of sequences of method invocations. Modularity at the procedure-level is a natural instantiation of the modular verification paradigm, where correctness of global properties is relativized on the local properties of the methods rather than on their implementations, and is based here on the construction of maximal models for a program model that abstracts away from program data. This approach allows global properties to be verified in the presence of code evolution, multiple method implementations (as arising from software product lines), or even unknown method implementations (as in mobile code for open platforms). PROMOVER automates a typical verification scenario for a previously developed tool set for compositional verification of control flow safety properties, and provides appropriate pre- and post-processing. Modularity is exploited by a mechanism for proof reuse that detects and minimizes the verification tasks resulting from changes in the code and the specifications. The verification task is relatively light-weight due to support for abstraction from private methods and automatic extraction of candidate specifications from method implementations. We evaluate the tool on a number of applications from the smart card domain.