Developers spend significant time locating and fixing bugs,
which is often performed manually. Although spectrum-based fault
localization (SFL) techniques aim at helping developers to locate
faults, they are not yet used in practice. Recent studies have
investigated how developers use SFL, presenting different conclusions
about their effectiveness and usefulness. We carried out a user study to
further enhance the understanding of SFL. We assessed whether SFL
improves the developers’ performance and to what extent SFL leads
developers to inspect faulty code excerpts. We also investigated the
intention of the developers to use SFL and how they interact with SFL.
Twenty-six participants performed debugging tasks using real programs,
with and without using the Jaguar SFL tool. Using SFL, more developers
located and fixed the bugs. SFL also led more developers to inspect the
faulty code and locate the faulty method. However, they did not spend
less time locating the faults. SFL was well accepted by the
participants, who showed intention to use it in their daily activities.
Our results indicate that SFL is useful even when the fault is not
ranked among the first positions, leading developers to reach faulty
code regions and find the bugs.