On the Accuracy of Spectrum-based Fault Localization

Peter Zoeteweij, Arjan J. C. van Gemund

2007 · 70 citations · 0 references

Concepts

TL;DR

Spectrum‑based fault localization is a lightweight automated diagnosis technique that can be integrated with existing testing schemes, but its diagnostic accuracy is inherently limited by the lack of a system model. The study aims to reduce debugging effort by shortening the test‑diagnose‑repair cycle through spectrum‑based fault localization. The authors evaluate diagnostic accuracy on the Siemens Set benchmark, varying parameters such as program spectra quality and quantity that relate to test design. The study finds that a particular similarity coefficient performs best regardless of test design, achieving near‑optimal diagnostic accuracy (≈80 % of code blocks exonerated) even with low‑quality error observations and few test cases, and that the number of test cases is crucial for continuous embedded applications with limited observation horizons.

Abstract

Spectrum-based fault localization shortens the test- diagnose-repair cycle by reducing the debugging effort. As a light-weight automated diagnosis technique it can easily be integrated with existing testing schemes. However, as no model of the system is taken into account, its diagnostic accuracy is inherently limited. Using the Siemens Set benchmark, we investigate this diagnostic accuracy as a function of several parameters (such as quality and quantity of the program spectra collected during the execution of the system), some of which directly relate to test design. Our results indicate that the superior performance of a particular similarity coefficient, used to analyze the program spectra, is largely independent of test design. Furthermore, near- optimal diagnostic accuracy (exonerating about 80% of the blocks of code on average) is already obtained for low-quality error observations and limited numbers of test cases. The influence of the number of test cases is of primary importance for continuous (embedded) processing applications, where only limited observation horizons can be maintained.