SFLVis: Visual Analysis of Software Fault Localization
Desheng Sun,Xiaoqi Yue,Chao Liu,Hongxing Qin,Haibo Hu
DOI: https://doi.org/10.1007/s12650-024-00979-x
IF: 1.7
2024-01-01
Journal of Visualization
Abstract:Since the birth of software, fault localization has been a time-consuming and laborious task. Programmers need to constantly find faults in software through program logging, assertions, breakpoints, and profiling. In order to improve the debugging efficiency, many fault localization methods based on test cases have been proposed, such as program spectrum-based methods, and slice-based methods. However, these methods are far from the logic of actual debugging and still require programmers to use traditional methods. However, programmers cannot access the execution process of the program, they need to constantly modify breakpoints and repeatedly check variable values, which makes fault localization very time-consuming. After interviewing five experts in the field of visualization and software testing, we designed SFLVis to provide users with a new method to improve the efficiency of fault localization. We designed an algorithm to obtain the process of program execution and combined it with existing fault localization methods. The goal is to show users the execution results of test cases, source code logic, and the level of suspicion of statements, and reproduce the execution process of test cases. We designed rich interactive features to help users explore SFLVis and correlate information from various views to improve the efficiency of fault localization. To verify the effectiveness of SFLVis, we conducted a case study using the program in the Siemens Suite dataset and conducted group experiments and related interviews with 20 volunteers. The results show that SFLVis can effectively improve programmers’ efficiency compared with existing fault localization methods.