Software Fault Localization Based on Redundant Coverage Information Reduction

被引:0
|
作者
Wang H.-R. [1 ]
Cui Z.-Q. [1 ]
Yue L. [1 ]
Chen X. [2 ]
Zheng L.-W. [1 ]
机构
[1] School of Computer Science, Beijing Information Science and Technology University, Beijing
[2] School of Computer Science and Technology, Nantong University, Jiangsu, Nantong
来源
关键词
fault localization; feature selection; software debugging; statement coverage information; suspicious value; test case;
D O I
10.12263/DZXB.20220820
中图分类号
学科分类号
摘要
As the scale and complexity of software increase, it becomes more difficult to ensure its quality and reliability. Some of the most important software quality and reliability assurance methods are software fault localization techniques, of which spectrum-based fault localization (SFL) is the most commonly used. SFL calculates the suspicious values of code statements by analyzing the statement coverage matrix, locating the faulty statements according to the suspicious values. However, the statement coverage matrix suffers from a serious redundancy problem, which severely impairs the fault localization performance of SFL. For instance, in more than half of the statement coverage matrices of 395 programs in the Defects4J dataset, there are other statements with the same coverage information for 90% of the statements. Feature selection, a data preprocessing technique, is often used to obtain valuable feature subsets by removing redundant and irrelevant features. We propose a software fault localization approach, based on redundant coverage information reduction (FLRR), by taking the statement coverage matrix as the original feature set and modeling the reduction of redundant coverage information as a feature selection problem. First, feature selection techniques are applied to reduce the statement coverage matrix, which includes both statement coverage information and test case execution results, to obtain a subset of the matrix. Second, SFL is used to calculate the suspicious values of statements in the statement coverage matrix subset, and the statements are sorted in descending order according to their suspicious values. The method presented in this paper uses six common feature selection techniques to perform feature selection and reduction on the statement coverage matrix, to obtain the subset of the matrix, and then uses four typical SFL techniques to localize faulty statements in the subset. To evaluate the fault localization performance of FLRR, comparative experiments were conducted with four typical SFL techniques on the Defects4J dataset, using Einspect@n and MRR (Mean Reciprocal Rank) as evaluation metrics. Experimental results show that FLRR can improve the fault localization performance of SFL. When compared with DStar, Ochiai, Barinel, and OP2, FLRR located 23, 26, 14, and 13 more faulty statements, improved Einspect@n (n = 1) by 69.70%, 76.47%, 45.16%, and 38.24%, and improved MRR by 20.08%, 24.94%, 17.45%, and 19.15%, respectively. © 2024 Chinese Institute of Electronics. All rights reserved.
引用
收藏
页码:324 / 337
页数:13
相关论文
共 32 条
  • [1] WONG W E, GAO R Z, LI Y H, Et al., A survey on software fault localization, IEEE Transactions on Software Engineering, 42, 8, pp. 707-740, (2016)
  • [2] CHEN X, JU X L, WAN Z, Et al., Review of dynamic fault localization approaches based on program spectrum, Journal of Software, 26, 2, pp. 390-412, (2015)
  • [3] PAPADAKIS M, LE TRAON Y., Metallaxis-FL: Mutation-based fault localization, Software Testing, Verification and Reliability, 25, pp. 605-628, (2015)
  • [4] HE T, WANG X M, ZHOU X C, Et al., A software fault localization technique based on program mutations, Chinese Journal of Computers, 36, 11, pp. 2236-2244, (2014)
  • [5] CAO H L, JIANG S J., Multiple-fault localization based on chameleon clustering, Acta Electronica Sinica, 45, 2, pp. 394-400, (2017)
  • [6] WANG J F, WEI C A, SHENG Y L, Et al., Locating errors in combinatorial testing using set of possible faulty interactions, Acta Electronica Sinica, 42, 6, pp. 1173-1178, (2014)
  • [7] WONG W E, DEBROY V, GAO R Z, Et al., The DStar method for effective software fault localization, IEEE Transactions on Reliability, 63, 1, pp. 290-308, (2014)
  • [8] JUST R, JALALI D, ERNST M D., Defects4J: A database of existing faults to enable controlled testing studies for Java programs, Proceedings of the 2014 International Symposium on Software Testing and Analysis, pp. 437-440, (2014)
  • [9] KOCHHAR P S, XIA X, LO D, Et al., Practitioners’ expectations on automated fault localization, Proceedings of the 25th International Symposium on Software Testing and Analysis, pp. 165-176, (2016)
  • [10] JAIN A, ZONGKER D., Feature selection: Evaluation, application, and small sample performance, IEEE Transactions on Pattern Analysis and Machine Intelligence, 19, 2, pp. 153-158, (1997)