Case based diagnosis and repair of software faults
Abstract
Software debugging (the diagnosis and repair of faults in software) can be a difficult and time consuming problem. In many cases a problem which can take an inexperienced developer a long time to correct can be quickly identified and corrected by a more experienced one. This is often because they have seen that problem (or a similar one) before. In this paper we present a system (called WATSON) which automatically constructs an explanation of the fault and a repair strategy from a library of partial repair models. This system exploits Case Based Reasoning (CBR) technology to perform this construction. The paper introduces the concepts behind CBR before going on to describe the components of the WATSON system. It then illustrates, by example, how WATSON constructs a diagnosis and repair model from the case databases.