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)
This is yet another paper which tells logic programmers what functional programmers have known and practiced for a long time: \higher order" programming is the way to go. How is this paper diierent from some of the others? First, we point out that call/N is not the way to go, despite its recent popularity as the primitive to use for higher order logic(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)