学位论文 > 优秀研究生学位论文题录展示

基于KBC特性及降噪的错误定位技术及其实践

作 者: 徐健
导 师: 李善平
学 校: 浙江大学
专 业: 计算机应用技术
关键词: 错误定位 关键基本块链 降噪 框架 工具集
分类号: TP311.52
类 型: 硕士论文
年 份: 2012年
下 载: 3次
引 用: 0次
阅 读: 论文下载
 

内容摘要


软件是充满错误的,而修复错误最重要的前提,就是如何快速地定位错误,这往往也是在软件开发周期里花费人力物力最多的一步。因而任何可以降低错误定位代价的技术都是非常有吸引力的。尽管现有的错误定位技术在单错误受测程序上进行了一定的研究,但是其精准度还远远不够。当一些在单错误受测程序上行之有效的手段推广到多错误受测程序上时,其效果更是不好。本文对错误定位技术的两个关键因素进行了改进,提出了一个新的错误指示器KBC和一个相似性公式的降噪规则。KBC是一种从程序控制流图上挖掘出的关键片段,该片段上的各个执行序列有着更加丰富的上下文信息。降噪规则是一套能够对大多数相似性公式进行降噪的形式化方法。通过运用这两个关键技术,本文提出了一个新的错误定位框架——MinusFKBC.实验表明,该框架可使单错误定位效率提升10%左右。通过输入输出优化(即测试案例分组以及辅助信息排序)进一步增强后,该框架还可以有效应用于多错误定位,并显著提高其定位效率。为了更好地研究错误定位技术及其在生产环境中的应用,本文还介绍了两个应用性成果——错误定位技术在线设计及评估平台FLOJ和用于Java工程开发的Eclipse插件Lunuo。FLOJ可以使得一项新的错误定位技术的研究、评估时间,从以“年”计量降低到以“小时”计量。Lunuo则是错误定位技术在生产环境中的第一个应用工具。应用表明,使用这些工具及错误定位技术,对软件设计教学有着很好的帮助作用。

全文目录


摘要  4-5
Abstract  5-6
目录  6-9
图目录  9-11
表目录  11-12
第1章 绪论  12-20
  1.1 研究对象  12-13
  1.2 存在的问题  13-14
  1.3 解决方案  14-19
    1.3.1 测试案例分组  16
    1.3.2 新的程序特征-错误指示器KBC  16-17
    1.3.3 降低错误定位算法的噪音  17
    1.3.4 辅助信息选择  17-18
    1.3.5 开发工具集以及在线研究平台  18
    1.3.6 其他方面  18-19
  1.4 总结  19-20
第2章 自动化错误定位相关技术  20-31
  2.1 基于特征统计的技术  20-26
    2.1.1 相似性公式  20-22
    2.1.2 程序特征  22-26
      2.1.2.1 基本块级别的技术  23-24
      2.1.2.2 分支级别的技术  24-25
      2.1.2.3 路径级别的技术  25
      2.1.2.4 其他特征及多特征组合  25-26
    2.1.3 其他技术  26
  2.2 受测对象和评判标准  26-29
    2.2.1 程序控制流图  26-27
    2.2.2 分析统计技术  27
    2.2.3 测试案例  27-28
    2.2.4 评判标准  28-29
  2.3 错误定位相关的工具  29-30
  2.4 总结  30-31
第3章 基于KBC和降噪技术的错误定位框架  31-56
  3.1 KBC  31-37
    3.1.1 KBC与Jimple  31-32
    3.1.2 KBC特性及判断序列  32-35
    3.1.3 构建KBC  35-37
  3.2 降噪技术  37-41
    3.2.1 相似性公式的形式化参数  37
    3.2.2 噪音  37-40
    3.2.3 降噪模型  40-41
  3.3 错误定位框架  41-44
    3.3.1 先决条件及整体结构  41-42
    3.3.2 MinusFKBC框架  42-44
  3.4 实验验证  44-53
    3.4.1 实验配置  45-47
      3.4.1.1 软硬件环境  45
      3.4.1.2 Benchmark  45-46
      3.4.1.3 受测的基本技术  46
      3.4.1.4 改进策略  46
      3.4.1.5 评估技术  46-47
    3.4.2 实验数据及分析  47-53
      3.4.2.1 整体分析  47-49
      3.4.2.2 独立分析  49-52
      3.4.2.3 性能分析  52-53
  3.5 讨论  53-54
  3.6 总结  54-56
第4章 多错误定位技术  56-77
  4.1 多错误程序应用KBC和降噪技术  56-57
  4.2 测试案例组合-输入规范化  57-59
    4.2.1 测试案例  57
    4.2.2 JUnit的启示  57-59
    4.2.3 组合策略  59
  4.3 辅助信息排序-输出规范化  59-63
    4.3.1 常规修正步骤  59-60
    4.3.2 输出问题  60-61
    4.3.3 解决方案  61-63
  4.4 多错误程序定位技术  63-64
  4.5 实验验证  64-75
    4.5.1 单错误实验分析  64-69
      4.5.1.1 整体分析  65-68
      4.5.1.2 独立分析  68
      4.5.1.3 单错误实验结论  68-69
    4.5.2 多错误实验分析  69-75
      4.5.2.1 受测程序  69-70
      4.5.2.2 测试案例分组  70-71
      4.5.2.3 双错误实验数据与分析  71-74
      4.5.2.4 五错误实验数据与分析  74-75
  4.6 总结  75-77
第5章 错误定位技术工具集  77-92
  5.1 错误定位技术在线评估平台FLOJ  77-82
    5.1.1 技术数量大爆炸  77-78
    5.1.2 FLOJ方案的原理和实现  78-79
    5.1.3 例子与应用  79-82
  5.2 Lunuo—基于Eclipse的自动错误定位插件  82-90
    5.2.1 Lunuo插件设计  83-86
    5.2.2 例子与应用  86-90
  5.3 总结  90-92
第6章 总结  92-94
附录  94-97
参考文献  97-103
攻读硕士期间主要研究工作  103-104
致谢  104

相似论文

  1. 带填充墙框架结构非线性有限元分析,TU323.5
  2. 基于OSGi的领域内框架扩展方法研究及应用,TP311.5
  3. 基于SOA的Portal定制系统的优化与实现,TP311.5
  4. 基于框架的课文口头复述训练对初中生英语口头能力的影响,G633.41
  5. 基于框架的词汇教学对高一学生写作中的假朋友现象的影响,G633.41
  6. 基于IAD框架的农村生活垃圾治理公共物品的供给影响因素分析,X33
  7. 农业供应链系统网络平台的构建,S126
  8. 自尊类型、自我框架对风险选择影响的实证研究,B849
  9. 大学生风险决策中的框架效应研究,B842
  10. 不完备信息系统的完备化及其上的知识获取,TP311.13
  11. 基于节点智能交互的物联网数据处理研究,TP391.44
  12. Banach空间上基和框架扰动的研究,O177.2
  13. 基于分布式环境压力测试问题的研究,TP311.52
  14. 汉语框架自动识别中的歧义消解,TP391.1
  15. 内嵌开洞填充墙框架结构有限元非线性分析,TU323.5
  16. 高速公路服务区综合服务建筑标准化设计研究,TU248
  17. 框架理论在英语辩论中的应用研究,H311.9
  18. 面向Seam框架的PIM到PSM转换研究,TP311.52
  19. 中学美术课堂教学模式探索,G633.955
  20. 机械液压约束活塞发动机多学科协同优化设计支持环境研究,TP311.52
  21. 人力资源管理系统的设计与实现,TP311.52

中图分类: > 工业技术 > 自动化技术、计算机技术 > 计算技术、计算机技术 > 计算机软件 > 程序设计、软件工程 > 软件工程 > 软件开发
© 2012 www.xueweilunwen.com