TY - GEN
T1 - Non-intrusive repair of reactive programs
AU - Harel, David
AU - Katz, Guy
AU - Marron, Assaf
AU - Weiss, Gera
PY - 2012/11/1
Y1 - 2012/11/1
N2 - 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.
AB - 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.
KW - Program repair
KW - behavioral programming
KW - model checking
KW - patching
KW - verification
UR - http://www.scopus.com/inward/record.url?scp=84867928082&partnerID=8YFLogxK
U2 - 10.1109/ICECCS.2012.25
DO - 10.1109/ICECCS.2012.25
M3 - Conference contribution
AN - SCOPUS:84867928082
SN - 9782954181004
T3 - Proceedings - 2012 IEEE 17th International Conference on Engineering of Complex Computer Systems, ICECCS 2012
SP - 3
EP - 12
BT - Proceedings - 2012 IEEE 17th International Conference on Engineering of Complex Computer Systems, ICECCS 2012
T2 - 2012 IEEE 17th International Conference on Engineering of Complex Computer Systems, ICECCS 2012
Y2 - 18 July 2012 through 20 July 2012
ER -