
ABSTRACTRegression 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.
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 0 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Average | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Average |
