Modalities for model checking: branching time logic strikes back
Science of Computer Programming
On the synthesis of a reactive module
POPL '89 Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
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
Characterizing Correctness Properties of Parallel Programs Using Fixpoints
Proceedings of the 7th Colloquium on Automata, Languages and Programming
Fate and Free Will in Error Traces
TACAS '02 Proceedings of the 8th International Conference on Tools and Algorithms for the Construction and Analysis of Systems
Specification and verification of concurrent systems in CESAR
Proceedings of the 5th Colloquium on International Symposium on Programming
A Combined Testing and Verification Approach for Software Reliability
FME '01 Proceedings of the International Symposium of Formal Methods Europe on Formal Methods for Increasing Software Productivity
Model Checking of Safety Properties
CAV '99 Proceedings of the 11th International Conference on Computer Aided Verification
Design and Synthesis of Synchronization Skeletons Using Branching-Time Temporal Logic
Logic of Programs, Workshop
Memoryful Branching-Time Logic
LICS '06 Proceedings of the 21st Annual IEEE Symposium on Logic in Computer Science
Error explanation with distance metrics
International Journal on Software Tools for Technology Transfer (STTT)
The temporal logic of programs
SFCS '77 Proceedings of the 18th Annual Symposium on Foundations of Computer Science
Relationships between nondeterministic and deterministic tape complexities
Journal of Computer and System Sciences
Model checking-based genetic programming with an application to mutual exclusion
TACAS'08/ETAPS'08 Proceedings of the Theory and practice of software, 14th international conference on Tools and algorithms for the construction and analysis of systems
Genetic Programming and Model Checking: Synthesizing New Mutual Exclusion Algorithms
ATVA '08 Proceedings of the 6th International Symposium on Automated Technology for Verification and Analysis
Model Checking Driven Heuristic Search for Correct Programs
Model Checking and Artificial Intelligence
MCGP: a software synthesis tool based on model checking and genetic programming
ATVA'10 Proceedings of the 8th international conference on Automated technology for verification and analysis
Relentful strategic reasoning in alternating-time temporal logic
LPAR'10 Proceedings of the 16th international conference on Logic for programming, artificial intelligence, and reasoning
Synthesizing solutions to the leader election problem using model checking and genetic programming
HVC'09 Proceedings of the 5th international Haifa verification conference on Hardware and software: verification and testing
Measuring and synthesizing systems in probabilistic environments
CAV'10 Proceedings of the 22nd international conference on Computer Aided Verification
Code mutation in verification and automatic code correction
TACAS'10 Proceedings of the 16th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Hi-index | 0.00 |
Model checking typically compares a system description with a formal specification, and returns either a counterexample or an affirmation of compatibility between the two descriptions. Counterexamples provide evidence to the existence of an error, but it can still be very difficult to understand what is the cause for that error. We propose a model checking methodology which uses two levels of specification. Under this methodology, we group executions as goodand badwith respect to satisfying a baseLTL specification. We use an analysis specification, in CTL茂戮驴style, quantifying over the good and bad executions. This specification allows checking not only whetherthe base specification holds or fails to hold in a system, but also howit does so. We propose a model checking algorithm in the style of the standard CTL茂戮驴decision procedure. This framework can be used for comparing between good and bad executions in a system and outside it, providing assistance in locating the design or programming errors.