Learn More
This article presents an improved approach to assist diagnosis of failures in software (fault localisation) by ranking program statements or blocks in accordance with to how likely they are to be buggy. We present a very simple single-bug program to model the problem. By examining different possible execution paths through this model program over a number(More)
—Software faults can be diagnosed using program spectra. The program spectra considered here provide information about which statements are executed in each one of a set of test cases. This information is used to compute a value for each statement which indicates how likely it is to be buggy, and the statements are ranked according to these values. We(More)
Declarative debugging has many advantages over conventional approaches to de-bugging for logic and functional programs. This paper extends a previously deened scheme for declarative debugging in which computations were considered either correct or erroneous. We argue that a third value, \inadmissible", should be supported and show how this can be done. Two(More)
We present an overview of the many control constructs and heuristics used by PROLOG systems with extra control facilities. Two features of computations rules are used to evaluate and classify them. They are detecting failure quickly (where it is unavoidable) and avoiding failures. By examining current systems in this light, we reach conclusions concerning(More)