PSC‐SBFL: Combining PSC With SBFL to Improve Software Fault Localization

ABSTRACT Regression testing aims to confirm that program changes do not disrupt existing functionalities. Automated fault localization improves quality and efficiency of regression testing. Spectrum‐based fault localization (SBFL) is adept at identifying faults in program statements using test case...

Full description

Saved in:
Bibliographic Details
Published inSoftware testing, verification & reliability Vol. 35; no. 5
Main Authors Guo, Zhonghao, Ji, Siwei, Xu, Xinyue, Chen, Xiangxian
Format Journal Article
LanguageEnglish
Published Chichester Wiley Subscription Services, Inc 01.08.2025
Subjects
Online AccessGet full text
ISSN0960-0833
1099-1689
DOI10.1002/stvr.70007

Cover

More Information
Summary:ABSTRACT Regression testing aims to confirm that program changes do not disrupt existing functionalities. Automated fault localization improves quality and efficiency of regression testing. Spectrum‐based fault localization (SBFL) is adept at identifying faults in program statements using test case execution data. However, SBFL overlooks faults due to structural anomalies and cannot detect nonexistent or redundant statements. This study introduces program structure check (PSC) to address the issue. In regression testing, historical program versions provide valuable information for fault localization. PSC compares the structure of the program being tested with programs of historical versions to find structural differences, like missing code. This increases suspicion scores at these locations. Experimental findings show PSC detects over 90% of structural bugs, with over 76% ranked highest on the suspicion list. We combine PSC with SBFL, termed PSC‐SBFL, and test it on a publicly available program suite and a program suite from a real‐world project to assess bug location effects. Results indicate that adding PSC to SBFL enhances bug ranking by approximately 93% and reduces manual code checking by about 34% when all bugs are identified. Compared with another SBFL‐based method, PSC‐SBFL demonstrates superior bug localization. These findings underscore how combining PSC and SBFL algorithms enhances bug localization accuracy, expedites bug identification and boosts software quality. Initially, we utilize a compilation tool to extract the control flow graph (CFG) of the program's source code. Subsequently, we analyse the CFG for structural anomalies by comparing its structures. Finally, we combine PSC with SBFL to enhance bug localization accuracy.
Bibliography:ObjectType-Article-1
SourceType-Scholarly Journals-1
ObjectType-Feature-2
content type line 14
ISSN:0960-0833
1099-1689
DOI:10.1002/stvr.70007