loading page

Understanding the Use of Spectrum-based Fault Localization
  • +1
  • Higor Amario de Souza,
  • Marcelo de Souza Lauretto,
  • Fabio Kon,
  • Marcos Chaim
Higor Amario de Souza
Universidade Virtual do Estado de Sao Paulo

Corresponding Author:hamario@ime.usp.br

Author Profile
Marcelo de Souza Lauretto
Universidade de Sao Paulo
Author Profile
Fabio Kon
Universidade de Sao Paulo
Author Profile
Marcos Chaim
Universidade de Sao Paulo
Author Profile

Abstract

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.
31 Oct 2022Submitted to Journal of Software: Evolution and Process
04 Nov 2022Submission Checks Completed
04 Nov 2022Assigned to Editor
02 Dec 2022Reviewer(s) Assigned
30 Jan 2023Review(s) Completed, Editorial Evaluation Pending
18 Feb 2023Editorial Decision: Revise Major
09 Apr 20231st Revision Received
01 May 2023Submission Checks Completed
01 May 2023Assigned to Editor
31 May 2023Reviewer(s) Assigned
19 Jul 2023Review(s) Completed, Editorial Evaluation Pending
27 Jul 2023Editorial Decision: Revise Minor
30 Aug 20232nd Revision Received
11 Sep 2023Submission Checks Completed
11 Sep 2023Assigned to Editor
14 Sep 2023Review(s) Completed, Editorial Evaluation Pending
14 Sep 2023Editorial Decision: Accept