Graph-Based Algorithms for Boolean Function Manipulation
IEEE Transactions on Computers
Parallel program design: a foundation
Parallel program design: a foundation
A tree-based algorithm for distributed mutual exclusion
ACM Transactions on Computer Systems (TOCS)
On the synthesis of a reactive module
POPL '89 Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Handbook of theoretical computer science (vol. B)
Journal of the ACM (JACM)
Theoretical Computer Science
Reasoning about knowledge
Enhancing model checking in verification by AI techniques
Artificial Intelligence
The Byzantine Generals Problem
ACM Transactions on Programming Languages and Systems (TOPLAS)
Synthesis of Communicating Processes from Temporal Logic Specifications
ACM Transactions on Programming Languages and Systems (TOPLAS)
Fail-stop processors: an approach to designing fault-tolerant computing systems
ACM Transactions on Computer Systems (TOCS)
Breaking and Fixing the Needham-Schroeder Public-Key Protocol Using FDR
TACAs '96 Proceedings of the Second International Workshop on Tools and Algorithms for Construction and Analysis of Systems
Minimization of Timed Transition Systems
CONCUR '92 Proceedings of the Third International Conference on Concurrency Theory
Automating the Addition of Fault-Tolerance
FTRTFT '00 Proceedings of the 6th International Symposium on Formal Techniques in Real-Time and Fault-Tolerant Systems
Detectors and Correctors: A Theory of Fault-Tolerance Components
ICDCS '98 Proceedings of the The 18th International Conference on Distributed Computing Systems
The Complexity of Adding Failsafe Fault-Tolerance
ICDCS '02 Proceedings of the 22 nd International Conference on Distributed Computing Systems (ICDCS'02)
Enhancing The Fault-Tolerance of Nonmasking Programs
ICDCS '03 Proceedings of the 23rd International Conference on Distributed Computing Systems
Combinatorial sketching for finite programs
Proceedings of the 12th international conference on Architectural support for programming languages and operating systems
Exploiting Symbolic Techniques in Automated Synthesis of Distributed Programs with Large State Space
ICDCS '07 Proceedings of the 27th International Conference on Distributed Computing Systems
FTSyn: a framework for automatic synthesis of fault-tolerance
International Journal on Software Tools for Technology Transfer (STTT)
SYCRAFT: A Tool for Synthesizing Distributed Fault-Tolerant Programs
CONCUR '08 Proceedings of the 19th international conference on Concurrency Theory
Complexity results in revising UNITY programs
ACM Transactions on Autonomous and Adaptive Systems (TAAS)
Revising Distributed UNITY Programs Is NP-Complete
OPODIS '08 Proceedings of the 12th International Conference on Principles of Distributed Systems
Automatic generation of local repairs for Boolean programs
Proceedings of the 2008 International Conference on Formal Methods in Computer-Aided Design
Better Quality in Synthesis through Quantitative Objectives
CAV '09 Proceedings of the 21st International Conference on Computer Aided Verification
CTL model update for system modifications
Journal of Artificial Intelligence Research
Automating the addition of fault tolerance with discrete controller synthesis
Formal Methods in System Design
Multicore Constraint-Based Automated Stabilization
SSS '09 Proceedings of the 11th International Symposium on Stabilization, Safety, and Security of Distributed Systems
Automated incremental synthesis of timed automata
FMICS'06/PDMC'06 Proceedings of the 11th international workshop, FMICS 2006 and 5th international workshop, PDMC conference on Formal methods: Applications and technology
Incremental synthesis of fault-tolerant real-time programs
SSS'06 Proceedings of the 8th international conference on Stabilization, safety, and security of distributed systems
Anzu: a tool for property synthesis
CAV'07 Proceedings of the 19th international conference on Computer aided verification
Distributed synthesis of fault-tolerant programs in the high atomicity model
SSS'07 Proceedings of the 9h international conference on Stabilization, safety, and security of distributed systems
Journal of Computer Security - 7th International Workshop on Issues in the Theory of Security (WITS'07)
Complexity issues in automated model revision without explicit legitimate state
SSS'10 Proceedings of the 12th international conference on Stabilization, safety, and security of distributed systems
QUASY: quantitative synthesis tool
TACAS'11/ETAPS'11 Proceedings of the 17th international conference on Tools and algorithms for the construction and analysis of systems: part of the joint European conferences on theory and practice of software
Model repair for probabilistic systems
TACAS'11/ETAPS'11 Proceedings of the 17th international conference on Tools and algorithms for the construction and analysis of systems: part of the joint European conferences on theory and practice of software
Quantitative synthesis for concurrent programs
CAV'11 Proceedings of the 23rd international conference on Computer aided verification
CAV'05 Proceedings of the 17th international conference on Computer Aided Verification
Adding fault-tolerance using pre-synthesized components
EDCC'05 Proceedings of the 5th European conference on Dependable Computing
NFM'12 Proceedings of the 4th international conference on NASA Formal Methods
Hi-index | 0.00 |
Model repair is a formal method that aims at fixing bugs in models automatically. Typically, these models are finite state automata that can be compactly represented using guarded commands or variations thereof. The bugs in these models can be identified using traditional techniques, such as verification, testing, or runtime monitoring. However, these techniques do not assist in fixing bugs automatically. The goal in model repair is to automatically transform an input model into another model that satisfies additional properties (e.g., a property that the original model fails to satisfy). Moreover, such transformation should preserve the existing specification of the input model. In this article, we review the efforts in the past decade on developing model repair algorithms in different domains. These domains include distributed computing, fault-tolerance and self-stabilization, and real-time systems. We present the results on complexity analysis, techniques for tackling intractability of the problem and scalability, and related tools. The techniques and tools discussed in this article demonstrate the feasibility of automated synthesis of well-known protocols such as Byzantine agreement, token ring, fault-tolerant mutual exclusion, etc.