A survey of intelligent debugging
Automated debugging systems have a long history with interesting results produced by research prototypes and deployed applications. We present an overview of Artificial Intelligence approaches to the development of intelligent debugging systems. These systems range from tutoring systems that possess detailed knowledge about the individual programs as well as about typical programmer errors occurring in exactly these programs, over Bayesian Net formalisms that employ statistical results about error reports, to traditional debugging approaches such as Algorithmic or Declarative Debugging. Finally, we examine the more recent use of model-based diagnosis principles as a basis for software debugging research. We illustrate the potential of model-based reasoning by discussing several models differing in expressivity and assumptions on language semantics that are currently in various stages of realization, from prototype implementations to test use in an industrial environment.
No Supplementary Data
No Article Media