Fault Localization

Project Dates: 
May 2001
Research Area(s): 
Project Description: 

We developed a fault-localization technique that utilized correlation-based heuristics. The technique and tool was called Tarantula.  Tarantula uses the pass/fail statuses of test cases and the events that occurred during execution of each test case to offer the developer recommendations of what may be the faults that are causing test-case failures. The intuition of the approach is to find correlations between execution events and test-case outcomes --- those events that correlate most highly with failure are suggested as places to begin investigation. These event correlations may not be causative of the failures, but they offer hints to reduce the search space of the fault. Execution event types that have been evaluated include statement execution, branch execution, data-flows, dynamic invariants, and performance profiles.