Automated Support for Diagnosis and Repair. - ALRAJEH, DALAL; KRAMER, JEFF; RUSSO, ALESSANDRA; UCHITEL, SEBASTIAN (Communications of the ACM, 2015)
The article discusses the use of model checking and artificial intelligence in diagnosing and repairing problems in the software development cycle. The authors describe a four-step framework for a basic train-controller system that includes model checking, elicitation by the software engineer of system states that address inconsistencies in counterexamples produced by the model checking, repair of defective states by logic-based learning, and implementation of a selection mechanism to choose among alternative approaches to the same repair task.