ISSN 1000-1239 CN 11-1777/TP

计算机研究与发展 ›› 2014, Vol. 51 ›› Issue (12): 2772-2787.doi: 10.7544/issn1000-1239.2014.20131522

• 软件技术 • 上一篇    下一篇

基于切片谱的错误定位框架影响因素分析

鞠小林1,2,姜淑娟1,陈翔2,张艳梅1,邵浩然2   

  1. 1(中国矿业大学计算机科学与技术学院 江苏徐州 221116);2(南通大学计算机科学与技术学院 江苏南通 226019) (xiaolinju@gmail.com)
  • 出版日期: 2014-12-01
  • 基金资助: 
    基金项目:国家自然科学基金项目(61202006,61340037);中央高校基本科研业务费专项资金资助项目(2013QNB17);南通市应用研究计划基金项目(BK2014055);江苏省高校自然科学研究基金项目(12KJB520014);江苏省研究生培养创新工程基金项目(CXZZ12_0935)

Factor Analysis of Influence for Fault Localization Framework Based on Slice Spectrum

Ju Xiaolin1,2, Jiang Shujuan1, Chen Xiang2, Zhang Yanmei1, Shao Haoran2   

  1. 1(School of Computer Science and Technology, China University of Mining and Technology, Xuzhou, Jiangsu 221116); 2(School of Computer Science and Technology, Nantong University, Nantong, Jiangsu 226019)
  • Online: 2014-12-01

摘要: 错误定位是软件调试的重要环节,基于切片谱的统计错误定位技术,借助程序切片可以提高错误定位效率.而这类技术执行效果取决于构建切片谱的切片选择策略和怀疑度计算公式的选择.为评估不同的切片选择策略及怀疑度计算公式对错误定位效率的影响,提出一种基于切片谱的错误定位框架.该框架首先计算程序执行失败时的全切片和成功时的执行切片,随后提出一组基于相似度的切片挑选策略以构建切片谱,最后按照选定的公式计算怀疑度并生成定位报告.应用提出的错误定位框架,针对一组典型的Java基准程序开展错误定位实证研究.结果表明:最优怀疑度计算公式Wong,Russel&Rao和Binary的错误定位效率与切片选择策略无关,而提出的怀疑度计算公式HSS,Tarantula,DStar,Naish1和Naish2在低相似度切片谱上定位效果较好.

关键词: 程序调试, 错误定位, 切片谱, 怀疑度计算, 错误诊断

Abstract: Fault localization is an important task of program debugging. The statistical fault localization techniques, based on slice spectrum, can reduce the effort of fault localization by analyzing the program slices. However, the effectiveness of these techniques depends on slice selection criteria and suspiciousness computing formulas. Thus, we propose a fault localization framework to evaluate the influence on the effectiveness of fault localization by the above two factors. Firstly, we compute the full slices of failed runs and the execution slices of passed runs, respectively. Secondly, we give a definition of the similarity between slice spectrums, and develop a set of slices selection criteria to construct a hybrid slice spectrum. Finally, we choose a suspiciousness evaluation formula and then generate a fault location report. To investigate the impact of the two factors (i.e., the similarity between slices, and the evaluation formulas) on the effectiveness of fault localization, we conduct empirical study on several classical Java benchmarks consisting of more than 90 faults. The experimental result suggests that the performance of Wong, Russel&Rao, and Binary cannot be influenced by the similarity of slice spectrum. However, our proposed formula (HSS), Tarantula, DStar, Naish1, and Naish2 can perform better on slice spectrum of lower similarity.

Key words: program debugging, fault localization, slice spectrum, suspiciousness evaluation, fault diagnosis

中图分类号: