Program Debugging

A. Tubaishat (UAE)


Knowledge Representation, Software Fault Localization,Knowledge-based Systems.


Debugging could be defined as the process of identifying and repairing errors in software. According to some researchers the error locating process accounts 95 percent of debugging time. We are developing a Conceptual Model for Software Fault Localization (CMSFL), and an Automated Assistant (AASFL) called BUG-DOCTOR to aid programmers with the problem of software fault localization. Our CMSFL proposes that, during the fault localization process programmers build two mental models: an actual code model (the buggy code), and an expectation model (the correct code). A multi dimensional approach is suggested with both shallow and deep reasoning phases to enhance the probability of localizing many types of faults. BUG-DOCTOR uses these two approaches and switches between them to localize the faults. The AASFL is being developed based on this theoretical model. It is programming language independent, capable of handling different programming styles and implementations. Furthermore, the AASFL encapsulates important concepts from software engineering, artificial intelligence, and cognitive science. In this paper we are proposing a binding process between the actual code model and the expectation model using a set of matching rules.

Important Links:

Go Back