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