期刊文献+

一种基于遗传算法的多缺陷定位方法 被引量:29

Genetic Algorithm Based Multiple Faults Localization Technique
下载PDF
导出
摘要 基于程序频谱的缺陷定位方法可以有效地辅助开发人员定位软件内部缺陷,但大部分已有自动化方法在解决多缺陷定位问题时表现不佳,部分效果尚可的方法因复杂度较高或需要开发人员较多交互而仍需进一步改善.为改善上述问题,提出一种基于遗传算法的多缺陷定位方法 GAMFal,具体来说:首先基于搜索的软件工程思想对多缺陷定位问题进行建模,构建了候选缺陷分布的染色体编码方式,并基于扩展的Ochiai系数计算个体的适应度值;随后使用遗传算法在解空间中搜索具有最高适应度值的候选缺陷分布,在终止条件被满足后返回最优解种群;最后根据这个种群对程序实体进行排序.这样开发人员可以依次对程序实体进行检查并最终确定多个缺陷的具体位置.实证研究以Siemens套件中的7个程序和Linux的3个程序(gzip、grep和sed)作为评测对象,并扩展传统的定位方法评测标准EXAM至EXAMF和EXAML,通过与其他经典的缺陷定位方法(Tarantula、Improved Tarantula及Ochiai)进行对比,并通过Friedman检测和最小显著性差异测试可得,提出的GAMFal方法在整体定位效率方面优于传统方法,且需要更少的人工交互.除此之外,GAMFal的执行时间也在可接受的范围之内. Spectrum-Based fault localization techniques are attractive for their effectiveness, and previous works have demonstrated that they can assist programmers to locate faults automatically. However, most of them can only work better when there is single bug than multiple bugs. Other approaches, although partially successful on multiple faults problem, are complex and need more human intervention. To better address these problems, this paper proposes a new spectrum-based fault localization technique based on genetic algorithm, called GAMFal, which can locate multiple bugs effectively with less human intervention. First, the multiple bugs' localization is converted into a search based model and a candidate expression for multiple bugs' location is encoded as an individual binary string. Then, the new approach extends the Ochiai coefficient to calculate the suspiciousness value used by genetic algorithm as a fitness function to search for a best population composed by optimal fault location candidates with highest suspiciousness value, and converts the ranking list of candidates to a checking order of program entities. According to this order, programmers finally examine program entities to locate faults. An empirical study on Siemens suites and three Linux programs(gzip, grep and sed) is conducted to compare GAMFal with other spectrum-based approaches. The Friedman test and Least Significance Difference method are then carried out to investigate the statistical significance of any differences observed in the experiments. The result suggests that the proposed method outperforms other related techniques in some respects and is feasible with respect to running time.
出处 《软件学报》 EI CSCD 北大核心 2016年第4期879-900,共22页 Journal of Software
基金 国家自然科学基金(61202030,61373012,61202006)~~
关键词 缺陷定位 多缺陷 基于搜索的软件工程 遗传算法 EXAM评价标准 fault localization multiple faults search-based software engineering genetic algorithm EXAM
  • 相关文献

参考文献5

二级参考文献90

  • 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.

共引文献61

同被引文献231

引证文献29

二级引证文献119

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

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