In transition from global to modular temporal reasoning about programs
Logics and models of concurrent systems
The ESTEREL synchronous programming language: design, semantics, implementation
Science of Computer Programming
Programming and Verifying Real-Time Systems by Means of the Synchronous Data-Flow Language LUSTRE
IEEE Transactions on Software Engineering - Special issue: specification and analysis of real-time systems
ACM Transactions on Programming Languages and Systems (TOPLAS)
Temporal verification of reactive systems: safety
Temporal verification of reactive systems: safety
Functional documents for computer systems
Science of Computer Programming
Automated consistency checking of requirements specifications
ACM Transactions on Software Engineering and Methodology (TOSEM)
IEEE Transactions on Software Engineering - Special issue on formal methods in software practice
Automatic generation of state invariants from requirements specifications
SIGSOFT '98/FSE-6 Proceedings of the 6th ACM SIGSOFT international symposium on Foundations of software engineering
Using Abstraction and Model Checking to Detect Safety Violations in Requirements Specifications
IEEE Transactions on Software Engineering
Formal Methods in System Design - Special issue on The First Federated Logic Conference (FLOC'96), part II
Model checking
A methodology for hardware verification using compositional model checking
Science of Computer Programming - Special issue on mathematics of program construction
Symbolic Model Checking
TAME: Using PVS strategies for special-purpose theorem proving
Annals of Mathematics and Artificial Intelligence
Model Checking Complete Requirements Specifications Using Abstraction
Automated Software Engineering
Incremental Verification by Abstraction
TACAS 2001 Proceedings of the 7th International Conference on Tools and Algorithms for the Construction and Analysis of Systems
Construction of Abstract State Graphs with PVS
CAV '97 Proceedings of the 9th International Conference on Computer Aided Verification
SCR*: A Toolset for Specifying and Analyzing Software Requirements
CAV '98 Proceedings of the 10th International Conference on Computer Aided Verification
On the Competeness of Compositional Reasoning
CAV '00 Proceedings of the 12th International Conference on Computer Aided Verification
NuSMV 2: An OpenSource Tool for Symbolic Model Checking
CAV '02 Proceedings of the 14th International Conference on Computer Aided Verification
SCR: A Practical Approach to Building a High Assurance COMSEC Syste
ACSAC '99 Proceedings of the 15th Annual Computer Security Applications Conference
Model Checking RSML-e Requirements
HASE '02 Proceedings of the 7th IEEE International Symposium on High Assurance Systems Engineering
An Algorithm for Strengthening State Invariants Generated from Requirements Specifications
RE '01 Proceedings of the Fifth IEEE International Symposium on Requirements Engineering
STeP: The Stanford Temporal Prover
STeP: The Stanford Temporal Prover
Assume-Guarantee Verification of Source Code with Design-Level Assumptions
Proceedings of the 26th International Conference on Software Engineering
Scenario-Based Assessment of Nonfunctional Requirements
IEEE Transactions on Software Engineering
Behavioral type inference: part I - algebraic theory for bahavioral type inference
Formal methods and models for system design
Breaking up is hard to do: an investigation of decomposition for assume-guarantee reasoning
Proceedings of the 2006 international symposium on Software testing and analysis
Research Directions in Requirements Engineering
FOSE '07 2007 Future of Software Engineering
Breaking up is hard to do: An evaluation of automated assume-guarantee reasoning
ACM Transactions on Software Engineering and Methodology (TOSEM)
FM '09 Proceedings of the 2nd World Congress on Formal Methods
A component-based approach to verification and validation of formal software models
Architecting dependable systems IV
Combining testing and model checking for verification of high assurance systems
HASE'04 Proceedings of the Eighth IEEE international conference on High assurance systems engineering
Formal Methods in System Design
Testing systems of concurrent black-boxes—an automata-theoretic and decompositional approach
FATES'05 Proceedings of the 5th international conference on Formal Approaches to Software Testing
Hi-index | 0.00 |
This paper describes a compositional proof strategy for verifying properties of requirements specifications. The proof strategy, which may be applied using either a model checker or a theorem prover, uses known state invariants to prove state and transition invariants. Two proof rules are presented: a standard incremental proof rule analogous to Manna and Pnueli's incremental proof rule and a compositional proof rule. The advantage of applying the compositional rule is that it decomposes a large verification problem into smaller problems which often can be solved more efficiently than the larger problem. The steps needed to implement the compositional rule are described, and the results of applying the proof strategy to two examples, a simple cruise control system and a real-world Navy system, are presented. In the Navy example, compositional verification %based on the compositional proof using either theorem proving or model checking was three times faster than verification %model checking using based on the standard incremental (noncompositional) rule. In addition to the two above rules for proving invariants, a new compositional proof rule is presented for circular assume-guarantee proofs of invariants. While in principle the strategy and %the rules described for proving invariants may be applied to any state-based specification with parallel composition of components, the specifications in the paper are expressed in the SCR (Software Cost Reduction) tabular notation, the auxiliary invariants used in the proofs are automatically generated invariants, and the verification is supported by the SCR tools.