The research has three basic goals: 1. to examine what information can be obtained from both successful and unsuccessful tests, and how that information can be used in debugging; 2. to integrate the use of the information identified into a debugger equipped with traditional functions such as breakpointing and single- stepping; and 3. to perform tests to determine the effectiveness of this method and its suitability for production use, and to enhance the mechanism based on this evaluation. This debugger would apply pruning information automatically to software being debugged, and make suggestions to the user as to where the fault under examination might be.