SBFL-Suitability: A Software Characteristic for Fault Localization

2020 
Spectrum-Based Fault Localization (in short, SBFL) is one of the popular techniques to localize faulty code fragments of a given program. SBFL utilizes the information about which statements are executed by each of the success or failure test cases. There are various implementation ways for the same functionality if we use high-level programming languages. The authors consider that differences in these implementation ways may affect the efficiency of localizing faults using SBFL. In this paper, we define a characteristic to what extent a program is suitable for SBFL as SBFL-Suitability, and we propose a technique for measuring SBFL-Suitability. The proposed technique generates many slightly-variant programs from a given program with Mutation Testing, and then it measures how accurately SBFL detects the changed program statements in the variant programs. We conducted an experiment to investigate how SBFL-Suitability differs depending on the differences in source code structures. As a result, we found that (1) the fewer statements in the same nesting level, the higher SBFL-Suitability tends to be, and (2) the presence of Early Return improves SBFL-Suitability.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    11
    References
    1
    Citations
    NaN
    KQI
    []