Test-Driven Fault Navigation for Debugging Reproducible Failures
Debugging activities, particularly those for searching for failure causes, are often laborious and time-consuming. Techniques such as spectrum-based fault localization or back-in-time debugging help programmers to reduce development cost. However, such approaches are often limited to a single point of view, ignoring the need for combined perspectives. The authors present test-driven fault navigation as an interconnected guide to failure causes. Based on failure-reproducing unit tests, they introduce a novel systematic top-down debugging process with corresponding tool support. With spectrum-based fault localization, they offer navigation to suspicious system parts and erroneous behavior in the execution history and rank developers most qualified for addressing the faults localized.