首页> 中文学位 >软件错误定位中的巧合正确性问题研究
【6h】

软件错误定位中的巧合正确性问题研究

代理获取

目录

封面

中文摘要

英文摘要

目录

第1章绪 论

1.1 研究目的与意义

1.2 国内外研究现状

1.3 论文的主要研究内容及章节安排

第2章基于程序谱的软件错误定位方法

2.1 软件错误定位方法的分类

2.2 Tarantula错误定位方法的原理

2.3 SOBER错误定位方法的原理

2.4 本章小结

第3章 巧合正确性测试用例的特征及影响研究

3.1 巧合正确性测试用例的普遍性

3.2 巧合正确性测试用例的特征分析

3.3 巧合正确性测试用例对错误定位的影响分析

3.4 本章小结

第4章 降低巧合正确性影响的错误定位方法研究

4.1 基于测试用例加权降低巧合正确性影响的错误定位方法

4.2 基于迭代预测降低巧合正确性影响的错误定位方法

4.3 实验结果与分析

4.4 本章小结

第5章原型系统的设计实现与测试

5.1 系统的总体设计

5.2 系统各模块的设计与实现

5.3 系统的功能测试

5.4 系统的性能测试

5.5 测试结论

5.6 本章小结

结论

参考文献

攻读硕士学位期间发表的论文及其它成果

声明

致谢

展开▼

摘要

近年来软件自动化调试方法迅速发展,各种各样的错误定位方法层出不穷,用来辅助开发人员进行软件调试。自动化软件错误定位技术就是在给定出错程序P和测试用例集合T的条件下,定位P中可能导致错误产生的程序实体。自动化软件调试,有助于降低发现错误时程序员需要检查的代码量,节约软件调试成本。
  然而,测试用例集中通常会存在一种被称为巧合正确性(Coincidental Correctness,简称为CC)测试用例,这类测试用例常常被忽视。由于这类测试用例的存在,会影响错误定位的准确性,特别是对基于程序谱的软件错误定位方法(Spectrum Based Fault Localization,简称为SBFL),它对错误定位的准确性会产生消极的影响。更重要的是,目前的软件错误定位方法通常都没有考虑这类测试用例对错误定位精度的影响。
  因此,为了解决以上相关问题。本文主要研究巧合正确性测试用例对错误定位精度的影响,以及如何避免巧合正确性测试用例对错误定位精度的影响。
  首先,通过列举容易产生巧合正确性测试用例的错误代码片段,分析巧合正确性测试用例存在的普遍性,以及巧合正确性测试用例对错误定位产生的影响,进而阐明巧合正确性测试用例的危害。
  其次,为了降低巧合正确性测试用例对SBFL错误定位方法准确性的影响,想提高错误代码行的可疑值,及其在可疑度排名中的位置,提出了基于测试用例加权降低巧合正确性测试用例影响的错误定位方法,通过设计不同类型的权值计算函数,为不同的测试用例赋予不同大小的权值,并且用这个权值代替可疑度计算公式中的数据,来降低巧合正确性测试用例的影响,提升错误语句的可疑度排名。
  此外,还提出了一种基于迭代预测降低巧合正确性测试用例影响的错误定位方法,该方法的基本思想是通过迭代的方法,预测巧合正确性测试用例的数目N,然后对候选测试用例的巧合正确性可疑值进行排序,去掉可疑值较高的前N个巧合正确性测试用例,利用新的测试集进行错误定位,直到找到错误语句,或者候选的巧合正确性测试用例的个数小于迭代预测值N。
  最后,使用Siemens Suit测试用例集和实验程序对本文方法进行了测试,通过测试,结果表明本文提出的两种方法均在降低巧合正确性测试用例对SBFL方法影响的问题上都是可行的。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号