Temporal verification of reactive systems: safety
Temporal verification of reactive systems: safety
Validation with guided search of the state space
DAC '98 Proceedings of the 35th annual Design Automation Conference
Simple on-the-fly automatic verification of linear temporal logic
Proceedings of the Fifteenth IFIP WG6.1 International Symposium on Protocol Specification, Testing and Verification XV
An Improved Algorithm for the Evaluation of Fixpoint Expressions
CAV '94 Proceedings of the 6th International Conference on Computer Aided Verification
STeP: Deductive-Algorithmic Verification of Reactive and Real-Time Systems
CAV '96 Proceedings of the 8th International Conference on Computer Aided Verification
Concurrent Omega-Regular Games
LICS '00 Proceedings of the 15th Annual IEEE Symposium on Logic in Computer Science
Games in open systems verification and synthesis
Games in open systems verification and synthesis
On the complexity of omega -automata
SFCS '88 Proceedings of the 29th Annual Symposium on Foundations of Computer Science
Taming interface specifications
CONCUR 2005 - Concurrency Theory
A framework for the static verification of api calls
Journal of Systems and Software
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Monitoring the Full Range of ω -Regular Properties of Stochastic Systems
VMCAI '09 Proceedings of the 10th International Conference on Verification, Model Checking, and Abstract Interpretation
Monitorability of stochastic dynamical systems
CAV'11 Proceedings of the 23rd international conference on Computer aided verification
Monitoring off-the-shelf components
VMCAI'06 Proceedings of the 7th international conference on Verification, Model Checking, and Abstract Interpretation
Runtime monitoring of stochastic cyber-physical systems with hybrid state
RV'11 Proceedings of the Second international conference on Runtime verification
RV'11 Proceedings of the Second international conference on Runtime verification
Hi-index | 0.00 |
We consider the problem of a module interacting with an external interface (environment) where the interaction is expected to satisfy some system specification @F. While we have the full implementation details of the module, we are only given a partial external specification for the interface. The interface specification being partial (incomplete) means that the interface displays only a strict subset of the behaviors allowed by the interface specification. Based on the assumption that interface specifications are typically incomplete, we address the question of whether we can tighten the interface specification into a strategy, consistent with the given partial specification, that will guarantee that all possible interactions resulting from possible behaviors of the module will satisfy the system specification @F. We refer to such a tighter specification as @F-guaranteeing specification. Rather than verifying whether the interface, which is often an off-the-shelf component, satisfies the tighter specification, the paper proposes a construction of a run-time monitor which continuously checks the existence of a @F-guaranteeing interface. We view the module and the external interface as players in a 2-player game. The interface has a winning strategy if it can guarantee that no matter what the module does, the overall specification @F is met. The problem of incomplete specifications is resolved by allowing the interface to follow any strategy consistent with the interface specification. Our approach essentially combines traditional run-time monitoring and static analysis. This allows going beyond the focus of traditional run-time monitoring tools - error detection in the execution trace, towards the focus of the static analysis - bug detection in the programs.