scispace - formally typeset
Open AccessJournal ArticleDOI

CTL model update for system modifications

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

Content maybe subject to copyright    Report

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.