Graph-Based Algorithms for Boolean Function Manipulation
IEEE Transactions on Computers
Parallel program design: a foundation
Parallel program design: a foundation
On the synthesis of a reactive module
POPL '89 Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
In transition from global to modular temporal reasoning about programs
Logics and models of concurrent systems
ACM Transactions on Programming Languages and Systems (TOPLAS)
Synthesis of concurrent systems with many similar processes
ACM Transactions on Programming Languages and Systems (TOPLAS)
Synthesis of Communicating Processes from Temporal Logic Specifications
ACM Transactions on Programming Languages and Systems (TOPLAS)
Guarded commands, nondeterminacy and formal derivation of programs
Communications of the ACM
Self-stabilizing systems in spite of distributed control
Communications of the ACM
Distributed LTL model-checking in SPIN
SPIN '01 Proceedings of the 8th international SPIN workshop on Model checking of software
Synthesis of concurrent programs for an atomic read/write model of computation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Tree-Like Counterexamples in Model Checking
LICS '02 Proceedings of the 17th Annual IEEE Symposium on Logic in Computer Science
Distributed-Memory Model Checking with SPIN
Proceedings of the 5th and 6th International SPIN Workshops on Theoretical and Practical Aspects of SPIN Model Checking
Assume-Guarantee Model Checking of Software: A Comparative Case Study
Proceedings of the 5th and 6th International SPIN Workshops on Theoretical and Practical Aspects of SPIN Model Checking
Local Parallel Model Checking for the Alternation-Free µ-Calculus
Proceedings of the 9th International SPIN Workshop on Model Checking of Software
Modular Model Checking of Software
TACAS '98 Proceedings of the 4th International Conference on Tools and Algorithms for Construction and Analysis of Systems
Distributed LTL Model Checking Based on Negative Cycle Detection
FST TCS '01 Proceedings of the 21st Conference on Foundations of Software Technology and Theoretical Computer Science
Counterexample-Guided Abstraction Refinement
CAV '00 Proceedings of the 12th International Conference on Computer Aided Verification
Achieving Scalability in Parallel Reachability Analysis of Very Large Circuits
CAV '00 Proceedings of the 12th International Conference on Computer Aided Verification
Infinite Games and Verification (Extended Abstract of a Tutorial)
CAV '02 Proceedings of the 14th International Conference on Computer Aided Verification
On the complexity of modular model checking
LICS '95 Proceedings of the 10th Annual IEEE Symposium on Logic in Computer Science
Synthesizing Distributed Systems
LICS '01 Proceedings of the 16th Annual IEEE Symposium on Logic in Computer Science
Synthesis of fault-tolerant concurrent programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Basic Concepts and Taxonomy of Dependable and Secure Computing
IEEE Transactions on Dependable and Secure Computing
Verifying aspect advice modularly
Proceedings of the 12th ACM SIGSOFT twelfth international symposium on Foundations of software engineering
Computations on distributed discrete-event systems
Computations on distributed discrete-event systems
Automatic synthesis of fault-tolerance
Automatic synthesis of fault-tolerance
Distributed breadth-first search LTL model checking
Formal Methods in System Design
Diconic addition of failsafe fault-tolerance
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
Distributed reactive systems are hard to synthesize
SFCS '90 Proceedings of the 31st Annual Symposium on Foundations of Computer Science
FTSyn: a framework for automatic synthesis of fault-tolerance
International Journal on Software Tools for Technology Transfer (STTT)
Complexity results in revising UNITY programs
ACM Transactions on Autonomous and Adaptive Systems (TAAS)
Localizing Program Errors via Slicing and Reasoning
HASE '08 Proceedings of the 2008 11th IEEE High Assurance Systems Engineering Symposium
Revising Distributed UNITY Programs Is NP-Complete
OPODIS '08 Proceedings of the 12th International Conference on Principles of Distributed Systems
Parallel and distributed model checking in Eddy
International Journal on Software Tools for Technology Transfer (STTT)
CTL Model Update: Semantics, Computations and Implementation
Proceedings of the 2006 conference on ECAI 2006: 17th European Conference on Artificial Intelligence August 29 -- September 1, 2006, Riva del Garda, Italy
Explaining Counterexamples Using Causality
CAV '09 Proceedings of the 21st International Conference on Computer Aided Verification
CTL model update for system modifications
Journal of Artificial Intelligence Research
CUDA Accelerated LTL Model Checking
ICPADS '09 Proceedings of the 2009 15th International Conference on Parallel and Distributed Systems
Symbolic synthesis of finite-state controllers for request-response specifications
CIAA'03 Proceedings of the 8th international conference on Implementation and application of automata
Automatic abstraction without counterexamples
TACAS'03 Proceedings of the 9th international conference on Tools and algorithms for the construction and analysis of systems
TACAS'03 Proceedings of the 9th international conference on Tools and algorithms for the construction and analysis of systems
A framework for counterexample generation and exploration
FASE'05 Proceedings of the 8th international conference, held as part of the joint European Conference on Theory and Practice of Software conference on Fundamental Approaches to Software Engineering
Revising UNITY programs: possibilities and limitations
OPODIS'05 Proceedings of the 9th international conference on Principles of Distributed Systems
Hi-index | 0.00 |
Context: Understanding and resolving counterexamples in model checking is a difficult task that often takes a significant amount of resources and many rounds of regression model checking after any fix. As such, it is desirable to have algorithmic methods that correct finite-state models when their model checking for a specific property fails without undermining the correctness of the rest of the properties, called the model correction problem. Objective: The objective of this paper is to mitigate time and space complexity of correction. Method: To achieve the objective, this paper presents a distributed method that solves the model correction problem using the concept of satisfying subsets, where a satisfying subset is a subset of model computations that meets a new property while preserving existing properties. The proposed method automates the elimination of superfluous non-determinism in models of concurrent computing systems, thereby generating models that are correct by construction. Results: We have implemented the proposed method in a distributed software tool, called the Model Corrector (ModCor). Due to the distributed nature of the correction algorithms, ModCor exploits the processing power of computer clusters to mitigate the space and time complexity of correction. Our experimental results are promising as we have used a small cluster of five regular PCs to automatically correct large models (with about 3^1^5^9 reachable states) in a few hours. Such corrections would have been impossible without using ModCor. Conclusions: The results of this paper illustrate that partitioning finite-state models based on their transition relations and distributing them across a computer cluster facilitates the automated correction of models when their model checking fails.