计算机科学 ›› 2014, Vol. 41 ›› Issue (1): 235-241.

• 软件与数据库技术 • 上一篇    下一篇

等级平均随机TBFL方法

王蓁蓁   

  1. 金陵科技学院信息技术学院 南京211169 ; 江苏省信息分析工程实验室 南京211169
  • 出版日期:2018-11-14 发布日期:2018-11-14
  • 基金资助:
    本文受国家自然科学基金项目(61170071),金陵科技学院科研基金项目(jit-n-201305)资助

Average Scale Stochastic TBFL Approach

WANG Zhen-zhen   

  • Online:2018-11-14 Published:2018-11-14

摘要: 运用测试集对程序错误语句定位的算法,现在被统称为TBFL(testing based fault localization)方法。目前通行的算法一般都没有利用测试员、程序员关于测试用例和程序的先验知识,致使这些“资源”白白浪费掉。文献[12]引入了一类新的随机TBFL方法,其精神就是在随机理论的框架下,把这些先验知识和实际测试活动结合起来,从而对程序错误语句更好地定位。文献[12]提出的算法可以看成是这种类型算法的一般“模式”,人们可以根据这个一般性的模式开发出不同的算法。基于文献[13]的思想,对文献[12]中的算法做了改进。主要是根据测试结果,构造执行矩阵E和功效矩阵F两个工具,并结合测试集和程序先验知识,对程序语句出错可能性引入两个级别的排序,然后对这两个排序进行“平均”,得到程序语句出错可能性的平均等级排序,它可以作为程序员改正程序错误的导向。还提出两个有关不同TBFL算法的比较标准,根据这两个标准,在一些具体实例上,将所提算法和其他一般方法以及文献[12]中的方法进行了对比,结果显示所提算法的效果令人满意。

关键词: 错误定位,测试为基础的错误定位,随机错误定位方法

Abstract: Approaches for fault localization based on test suites are now collectively called TBFL (testing based fault localization).However,current algorithms have not taken advantage of the prior knowledge about test cases and program so that they waste these valuable “resources”.[12] introduces a new kind of stochastic TBFL approach whose spirit is to combine the prior knowledge with actual testing activities under stochastic theory,so as to locate program faults.This algorithm presented in [12] may be regarded as a general patter of this kind of approach,from which people can develop various algorithms.Based on the mind of [13],we performed an improvement of the algorithm in [12].We mainly constructed two tools-the executive matrix E and the efficient matrix F-from the testing results.Then combined with the prior knowledge of test suite and program,the probability of statement being faulty is rated from two scales.Finally the two scales are “averaged”.In this way we got the average rank of program statements about their probability of being faulty,which may help programmers correct program faults.Moreover,this paper presented two standards for comparing different TBFL approaches.And from the investigation of the two standards on some specific instances,the results of the approach presented in this paper are satisfactory.

Key words: Fault localization,Testing based fault localization,Random testing based fault localization

[1] Agrawal H,Horgan J,London S,et al.Fault location using execution slices and dataflow tests[C]∥IEEE Software Reliability Engineering.1995,143-151
[2] Cleve H,Zeller A.Locating causes of program failures[C]∥Proceedings of the 27th International Conference on Software Engineering.2005:342-351
[3] Hao D,Zhang L,Pan Y,et al.On similarity-awareness in tes-ting-based fault localization[J].Automated Software Enginee-ring,2008,15(2),207-249
[4] Kyriazis A,Mathioudakis K.Enhance of fault localization using probabilistic fusion with gas path analysis algorithms[J].Journal of Engineering for Gas Turbines and Power,2009,131(5):51601-51609
[5] Jones J A,Harrold M J,Stasko J.Visualization of test information to assist fault localization[C]∥Proceeding of the 24th International Conference on Software Engineering.2002:467-477
[6] Jones J A,Harrold M J.Empirical evaluation of the tarantula automatic fault-localization technique[C]∥Proceedings of the 20th IEEE/ACM International Conference on Automated Software Engineering.2005:273-282
[7] Liblit B,Naik M,Zheng A X,et al.Scalable statistical bug isolation[C]∥Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI).2005:15-16
[8] Schach S R.Object-oriented classical software engineering[M].Beijing:China Machine Press,2007:490-193
[9] Liu C,Yan X,Fei L,et al.SOBER:statistical model-based bug localization[C]∥Proceedings of the 13the ACM SIGSOFT Symposium on Foundations of Software Engineering.2005:286-295
[10] Renieris M,Reiss S P.Fault localization with nearest neighbor queries[C]∥Proceedings of the 18th International Conference on Automated Software Engineering.2003:30-39
[11] Zeller A.Isolating cause-effect chains from computer programs[C]∥Proceedings of the 10th ACM SIGFOFT Symposium on Foundations of Software Engineering.2002:1-10
[12] 王蓁蓁,徐宝文,周毓明,等.一种随机TBFL方法[J].计算机科学,2013,40(1):5-14
[13] Santelices R,Jones J A,Yu Yan-bing,et al.Lightweight fault-localization using multiple coverage types.Software Engineering,2009.ICSE 2009[C]∥IEEE 31st International Conference on.IEEE,2009:56-66
[14] 王健吾.数学思维方法引论[M].合肥:安徽教育出版社,1996

No related articles found!
Viewed
Full text


Abstract

Cited

  Shared   
  Discussed   
No Suggested Reading articles found!