Fault localization based on weighted software behavior graph mining

被引:0
作者
Su X.-H. [1 ]
Wang T.-T. [1 ]
Yang S.-J. [1 ]
Ma P.-J. [1 ]
机构
[1] School of Computer Science and Technology, Harbin Institute of Technology, Harbin
来源
Jisuanji Xuebao/Chinese Journal of Computers | 2016年 / 39卷 / 11期
基金
高等学校博士学科点专项科研基金; 中国国家自然科学基金;
关键词
Branch and bound search; Bug signature; Fault localization; Graph mining; Software behavior graphs;
D O I
10.11897/SP.J.1016.2016.02175
中图分类号
学科分类号
摘要
The result of most fault localization approaches are given in the form of suspicious statement sequence ranking in descending order. However, examining a suspicious statement in isolation is hard for developers to understand the cause of failure, often they need more context information associated with the error. To solve this problem, this paper proposed a weighted software behavior graph to represent the path of passed execution or failed execution. It uses the execution frequency as weights, so that it can better handle loops, recursive and other structures than LEAP. Then, branch and bound search graph mining algorithm is performed on the weighted software behavior graphs to identify differences between passed and failed weighted software behavior graph as a bug signature. The proposed approach can not only localize the fault but also provide the failure context to facilitate fault comprehension. Experimental results on Siemens and Flex showed that the proposed approach can localize more faults than Tarantula and LEAP, when examining the same percent of code. In particular, the proposed approach has higher fault localization accuracy, especially in dealing with redundant code, missing codes, variable substitution errors, and errors that will directly change the execution path. © 2016, Science Press. All right reserved.
引用
收藏
页码:2175 / 2188
页数:13
相关论文
共 15 条
[1]  
Cleve H., Zeller A., Locating causes of program failures, Proceedings of the 27th International Conference on Software Engineering, pp. 342-451, (2005)
[2]  
Zhang X., Gupta N., Gupta R., Locating faults through automated predicate switching, Proceedings of the 28th International Conference on Software Engineering, pp. 272-281, (2006)
[3]  
Jones J.A., Harrold M.J., Empirical evaluation of the Tarantula automatic fault-localization technique, Proceedings of the 20th IEEE/ACM International Conference on Automated Software Engineering, pp. 273-282, (2005)
[4]  
Naish L., Lee H.J., Ramamohanarao K., A model for spectra-based software diagnosis, ACM Transactions on Software Engineering and Methodology, 20, 3, (2011)
[5]  
Xie X., Chen T.Y., Kuo F.C., Et al., A theoretical analysis of the risk evaluation formulas for spectrum-based fault localization, ACM Transactions on Software Engineering and Methodology, 22, 4, (2013)
[6]  
Xuan J., Monperrus M., Learning to combine multiple ranking metrics for fault localization, Proceedings of the IEEE International Conference on Software Maintenance and Evolution, pp. 191-200, (2014)
[7]  
Baah G.K., Podgurski A., Harrold M.J., The probabilistic program dependence graph and its application to fault diagnosis, IEEE Transactions on Software Engineering, 36, 4, pp. 528-545, (2010)
[8]  
Su X.-H., Gong D.-D., Wang T.-T., Ma P.-J., Automatic fault localization approach combining test case reduction and joint dependency probabilistic model, Journal of Software, 25, 7, pp. 1492-1504, (2014)
[9]  
Gong D., Su X., Wang T., Et al., State dependency probabilistic model for fault localization, Information and Software Technology, 57, pp. 430-445, (2015)
[10]  
Hsu H.Y., Jones J.A., Orso A., RAPID: Identifying bug signatures to support debugging activities, Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering, pp. 439-442, (2008)