CTL model update for system modifications
Yan Zhang,Yulin Ding +1 more
Reads0
Chats0
TLDR
This paper defines primitive update operations on the models of Computation Tree Logic (CTL) and formalize the principle of minimal change for CTL model update, and describes a formal algorithm that implements this approach.Abstract:
Model checking is a promising technology, which has been applied for verification of many hardware and software systems. In this paper, we introduce the concept of model update towards the development of an automatic system modification tool that extends model checking functions. We define primitive update operations on the models of Computation Tree Logic (CTL) and formalize the principle of minimal change for CTL model update. These primitive update operations, together with the underlying minimal change principle, serve as the foundation for CTL model update. Essential semantic and computational characterizations are provided for our CTL model update approach. We then describe a formal algorithm that implements this approach. We also illustrate two case studies of CTL model updates for the well-known microwave oven example and the Andrew File System 1, from which we further propose a method to optimize the update results in complex system modifications.read more
Citations
More filters
Journal ArticleDOI
Automatic Software Repair: A Bibliography
TL;DR: A survey on automatic software repair can be found in this article, where the focus is on behavioral repair where test suites, contracts, models, and crashing inputs are taken as oracle.
Journal ArticleDOI
Automatic Software Repair: a Bibliography
TL;DR: This article considers behavioral repair where test suites, contracts, models, and crashing inputs are taken as oracle, and state repair, also known as runtime repair or runtime recovery, with techniques such as checkpoint and restart, reconfiguration, and invariant restoration.
Journal ArticleDOI
Evolutionary repair of faulty software
TL;DR: This paper proposes to model this task of fixing faults as a search problem, and hence to use for example evolutionary algorithms to solve it, and gives directions for future work.
Proceedings Article
Finding explanations of inconsistency in multi-context systems
TL;DR: This work provides two approaches for explaining inconsistency in multi-context systems, where decentralized and heterogeneous system parts interact via nonmonotonic bridge rules, and shows duality and modularity properties, and gives precise complexity characterizations.
Proceedings ArticleDOI
Evolving patches for software repair
TL;DR: In this paper, the authors describe pyEDB, which encodes changes as a series of code modifications or patches, which are evolved as individual code modifications and can be used to repair small errors in Python programs.
References
More filters
Model checking
TL;DR: Model checking tools, created by both academic and industrial teams, have resulted in an entirely novel approach to verification and test case generation that often enables engineers in the electronics industry to design complex systems with considerable assurance regarding the correctness of their initial designs.
Book
The SPIN Model Checker: Primer and Reference Manual
TL;DR: The SPIN Model Checker as mentioned in this paper is used for both teaching software verification techniques, and for validating large scale applications, and it has been estimated that up to three-quarters of the $400 billion spent annually to hire programmers in the United States is ultimately spent on debugging.
Book
Knowledge in Flux: Modeling the Dynamics of Epistemic States
TL;DR: Knowledge in Flux presents a theory of rational changes of belief, focusing particularly on revisions that occur when the agent receives new information that is inconsistent with the present epistemic state.
Book
Spin model checker, the: primer and reference manual
TL;DR: This is the most comprehensive reference guide to SPIN, written by the principal designer of the tool, and gives detailed advice on methods for tackling the most complex software verification problems.
Journal ArticleDOI
Counterexample-guided abstraction refinement for symbolic model checking
TL;DR: An automatic iterative abstraction-refinement methodology that extends symbolic model checking to large hardware designs and devise new symbolic techniques that analyze such counterexamples and refine the abstract model correspondingly.