期刊文献+

一种基于加权软件行为图挖掘的软件错误定位方法 被引量:2

Fault Localization Based on Weighted Software Behavior Graph Mining
下载PDF
导出
摘要 已有错误定位方法通常仅给出可疑语句排序而缺少必要的上下文信息,导致难于理解软件失效的产生原因.为了解决该问题,定义了加权软件行为图来表示成功和失败的程序执行路径,由于图中边的权重表示了路径的执行频率,因此与LEAP方法相比,可以较好地分析与循环和递归等结构相关的软件错误.在此基础上,执行基于分支限界搜索的加权软件行为图挖掘算法,识别成功和失败执行之间最有差异的子图来获得错误签名,不但可以有效定位错误位置,还能输出缺陷语句相关的执行路径,从而提供失效产生的上下文.分析Siemens基准测试集和flex程序的结果表明,在检查相同百分比的语句的情况下,文中方法可以比Tarantula方法和LEAP方法定位到更多的错误.特别是对于冗余代码、缺失代码和变量替换,以及会直接改变执行路径类的错误,文中方法具有较高的定位精度. 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.
出处 《计算机学报》 EI CSCD 北大核心 2016年第11期2175-2188,共14页 Chinese Journal of Computers
基金 国家自然科学基金(61173021 61202092 61672191) 教育部博士点基金(20112302120052)资助~~
关键词 错误定位 软件行为图 图挖掘 错误签名 分支限界搜索 fault localization software behavior graphs graph mining bug signature branch and bound search
  • 相关文献

参考文献2

二级参考文献101

  • 1Jeffrey D, Gupta N, Gupta R. Fault localization using value replacement//Proceedings of the 2008 International Symposium on Software Testing and Analysis (ISSTA ' 08). Seattle, WA, USA, 2008:167-178.
  • 2Zhang X, Gupta N, Gupta R. Locating faults through automated predicate switching//Proceedings of the 28th International Conference on Software Engineering (ICSE ' 06 ). Shanghai, China, 2006:272 -281.
  • 3Reps T, Ball T, Das M, Larus J. The use of program profiling for software maintenance with applications to the year 2000 problem//Proceedings of the 6th European Software Engineering Conference Held Jointly with the 5th ACM SIG- SOFT International Symposium on Foundations of Software Engineering(ESEC'97/FSE-5). Zurich, Switzerland, 1997.- 432 449.
  • 4Harrold M J, Rothermel G, Sayre K, Wu R, Yi L. An empirical investigation of the relationship between spectra differences and regression faults. Software Testing Verification and Reliability, 2000, 10(3): 171-194.
  • 5Jones J A, Harrold M J, Stasko J. Visualization of test information to assist fault localization//Proceedings of the 24th International Conference on Software Engineering (ICSE' 02). Orlando, Florida, 2002: 467-477.
  • 6Wong E, Wei T, Qi Y, Zhao L. A Crosstab-based statistical method for effective fault localization//Proceedings of the 2008 International Conference on Software Testing, Verification, and Validation (ICST'08). Lillehammer, Norway, 2008:42-51.
  • 7Hao D, Zhang L, Pan Y, Mei H, Sun J. On similarity- awareness in testing-based {ault localization. Automated Software Engineering, 2008, 15(2):07-249.
  • 8Naish L, Lee H, Ramamohanarao K. A model for spectra- based software diagnosis. ACM Transactions on Software Engineering and Methodology, 2011, 20(3): to appear.
  • 9Liblit B, Naik M, Zheng A X, Aiken A, Jordan M I. Scalable statistical bug isolation//Proceedings of the 2005 ACM SIGPLAN Conference on Programming Language Design and Implementation(PLDI'05). 2005:15-26.
  • 10Liu C, Fei L, Yan X, Han J, Midkiff S P. Statistical debugging; A hypothesis testing-based approach. IEEE Transactions on Software Engineering, 2006, 32(10): 831-848.

共引文献46

同被引文献10

引证文献2

二级引证文献1

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

内容加载中请稍等...
;
使用帮助 返回顶部