Non-intrusive repair of reactive programs

David Harel*, Guy Katz, Assaf Marron, Gera Weiss

*Corresponding author for this work

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

28 Scopus citations

Abstract

We show how, under certain conditions, programs written in the behavioral programming approach can be modified (e.g., as result of new requirements or discovered bugs) using automatically-generated code modules. Given a trace of undesired behavior, one can generate a relatively small piece of code, whose execution is interwoven at run time with the rest of the system and brings about the desired changes without modifying existing code, and without introducing new bugs. At the core of our approach is the ability of a thread of behavior to prevent the triggering of events from other threads. Our repair algorithms apply model checking to the program and transform the counterexamples produced by the model-checker into corrective modules. Our work is supported by a proof-of-concept tool, which creates understandable modules that can be further manually managed as part of ongoing incremental system development.

Original languageAmerican English
Title of host publicationProceedings - 2012 IEEE 17th International Conference on Engineering of Complex Computer Systems, ICECCS 2012
Pages3-12
Number of pages10
DOIs
StatePublished - 2012
Externally publishedYes
Event2012 IEEE 17th International Conference on Engineering of Complex Computer Systems, ICECCS 2012 - Paris, France
Duration: 18 Jul 201220 Jul 2012

Publication series

NameProceedings - 2012 IEEE 17th International Conference on Engineering of Complex Computer Systems, ICECCS 2012

Conference

Conference2012 IEEE 17th International Conference on Engineering of Complex Computer Systems, ICECCS 2012
Country/TerritoryFrance
CityParis
Period18/07/1220/07/12

Keywords

  • Program repair
  • behavioral programming
  • model checking
  • patching
  • verification

Fingerprint

Dive into the research topics of 'Non-intrusive repair of reactive programs'. Together they form a unique fingerprint.

Cite this