首页> 中文学位 >基于关键范围不变量的软件错误定位
【6h】

基于关键范围不变量的软件错误定位

代理获取

目录

声明

摘要

1.1研究背景及意义

1.2研究现状

1.2.1 软件错误定位研究现状

1.2.2程序不变量研究现状

1.3本文主要研究内容

1.4论文组织结构

第2章方法概览

第3章范围不变量错误定位方法介绍

3.1程序插桩

3.1.1手动插桩

3.1.2基于语法树的插桩

3.2删除偶然正确测试用例

3.3范围不变量训练

3.4范围不变量错误定位

3.5本章小结

第4章基于关键范围不变量的错误定位方法

4.1关键变量筛选

4.1.1动态过滤机制Ⅰ

4.1.2动态过滤机制Ⅱ

4.1.3静态约简机制

4.2关键范围不变量训练

4.3关键范围不变量错误定位

4.4本章小结

第5章实验

5.1监控的变量数

5.2检查的可疑语句数

5.3定位到错误的版本数

5.4实验小结

6.1 总结

6.2展望

参考文献

攻读学位期间的研究成果

致谢

展开▼

摘要

软件错误定位在软件调试过程中代价昂贵且耗时。随着软件规模的不断扩大,目前已经提出了许多的自动化软件错误定位方法。基于范围不变量的软件错误定位方法就是其中的一种。与其它方法相比,该方法有许多好处,但是需要训练和监控程序中的每条语句中的每个变量,所需的运行时开销较大。然而,这种开销不是必须的。因为只有一个关键变量集合才能以有意义的方式真正影响系统的结果。基于此,本文提出了一种基于关键范围不变量的软件错误定位方法。 本文的方法描述如下:首先,在程序执行之前对程序的源代码进行插桩处理。然后执行插桩后的程序,通过检查实际输出结果与预期输出结果是否相同来区分成功测试用例和失败测试用例。然后删除成功测试用例中的偶然正确测试用例。其次,通过分析成功测试用例中的变量取值信息,使用关键变量筛选机制筛选出程序的关键变量集合。然后对关键变量集合中的变量进行训练,从而得到程序的关键范围不变量集合。最后,检测失败测试用例,若关键变量在失败测试用例中的取值不在其对应的关键范围不变量的范围内,则标记违规,即将该关键变量所在的语句标记为可疑语句。当我们需要最小化监控变量的开销时,可以使用该方法以忽略认为不重要的变量。本文以西门子测试集为例来验证有效性。实验结果表明,在错误定位时仅对关键变量集合进行训练和监控,仍然能保持良好的错误定位效果,同时检查的可疑语句数也有所减少。 本文方法的主要贡献有: (1)在现有的范围不变量错误定位方法中增加了关键变量筛选阶段。在该阶段,采用动态与静态相结合的筛选方法对变量进行筛选,从而得到程序的关键变量集合。 (2)仅使用筛选的关键变量集合进行范围不变量的训练和错误定位。在对筛选的关键变量集合进行训练时,整型变量和非数值型变量被训练成离散型不变量区间,以此来避免漏报。 (3)本文方法是在不知道正确版本程序的情况下进行错误定位的。并通过开源程序集对该方法的有效性进行了验证。

著录项

  • 作者

    马琳;

  • 作者单位

    浙江理工大学;

  • 授予单位 浙江理工大学;
  • 学科 信号与信息处理
  • 授予学位 硕士
  • 导师姓名 丁佐华;
  • 年度 2018
  • 页码
  • 总页数
  • 原文格式 PDF
  • 正文语种 中文
  • 中图分类 代数、数论、组合理论;
  • 关键词

    不变量;

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号