TY - JOUR
T1 - Non-intrusive repair of safety and liveness violations in reactive programs
AU - Harel, David
AU - Katz, Guy
AU - Marron, Assaf
AU - Weiss, Gera
N1 - Publisher Copyright:
© Springer-Verlag Berlin Heidelberg 2014.
PY - 2014
Y1 - 2014
N2 - We show how, under certain conditions, programs written in the behavioral programming approach can be modified (e.g., as a 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 which 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 of safety and liveness properties to the program and transform the counterexamples produced by the model-checker into corrective modules. The work is supported by a proof-of-concept tool, which creates understandable modules that can be further manually managed as part of a process of ongoing incremental system development.
AB - We show how, under certain conditions, programs written in the behavioral programming approach can be modified (e.g., as a 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 which 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 of safety and liveness properties to the program and transform the counterexamples produced by the model-checker into corrective modules. The work is supported by a proof-of-concept tool, which creates understandable modules that can be further manually managed as part of a process of ongoing incremental system development.
KW - Behavioral programming
KW - Model checking
KW - Patching
KW - Program repair
KW - Verification
UR - http://www.scopus.com/inward/record.url?scp=84921653079&partnerID=8YFLogxK
U2 - 10.1007/978-3-662-44871-7_1
DO - 10.1007/978-3-662-44871-7_1
M3 - ???researchoutput.researchoutputtypes.contributiontojournal.article???
AN - SCOPUS:84921653079
SN - 0302-9743
VL - 8780
JO - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
JF - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
ER -