基于程序执行的错误定位方法

来源 :南京理工大学 | 被引量 : 0次 | 上传用户:huandakedi222
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
软件调试是软件开发和维护中最为耗时耗力的部分,而其中的错误定位是最为重要且最为困难的。传统的错误定位方法往往是采用手工定位的方法(比如借助于调试工具设置断点),但是这类方法缺点是可能出错的语句的搜索空间巨大,且往往耗费大量的精力和时间。因此目前在错误定位方面的主要研究内容是自动化错误定位,这类方法主要的手段是借助于设计良好的测试用例集,通过对测试结果和程序特征的自动化分析,计算出可能出错语句的集合。基于程序行为特征的自动化错误定位方法一般根据覆盖信息计算出程序语句的可疑度,然后按照可疑度由高到低的顺序逐条检查程序的可疑语句。为了提高定位错误的效率,本文对现有的基于程序行为特征的方法进行改进。首先,通过对目前的自动化错误定位方法的研究对比,给出了几种基于程序执行的错误定位方法:基于测试用例对语句可疑度的贡献随着测试用例数目的增加而降低(简记为贡献率的降低)的思想给出了方法Heuristic1,基于程序执行补集的概念给出Heuristic2和Heuristic3,基于贡献率的降低的思想和Tarantula的思想给出了Heuristic4。其次,给出了一个具有可视化界面的通用的自动化错误定位架构的实现流程,其中的可视化是为了方便调试人员查看可疑的语句。最后,为了验证方法的有效性,本文根据前面给出的流程实现了一个自动化的错误定位工具Visualdebug,采用测试数据集Siemens Suite作为研究对象,将本文提出的方法和现有的几种方法进行比较。实验结果表明,较之于同类思想的方法,Heuristic1方法的效率略有提高,而Heuristic2、Heuristic3和Heuristic4方法表现出60%左右程序只需要检查20%左右的代码。由此可见本文提出的方法在错误定位的效率方面有所提高,即只需要检查更少的语句就能够定位出程序中的错误。
其他文献
近年来,随着信息技术、电子技术和通讯技术的飞速发展,我们迎来了语音、数据和多媒体等多业务融合机会,三屏互动的概念也在这种需求下而被提出。三屏互动是指用户以固定接入网和
卫星通信以其特有的优势已逐渐成为Internet的重要组成部分,利用卫星进行Internet接入是卫星通信发展的一个趋势。TCP是应用最广泛的传输层协议,提供端到端的可靠传输。但是
随着互联网规模的不断扩大,已有的IPv4地址即将枯竭,IPv6将逐渐得到广泛的应用。目前,随着各个国家大规模的部署IPv6网络,各种支持IPv6协议的网络设备也已经投入到实际的网络应用
随着电子计算机设计和制造技术的不断进步,特别是微处理器面向多核-众核的技术演进,使单机的集成度进一步提高,计算资源得到成倍的提升。面对丰富的计算资源,如何进行高效利用和
遗传编程作为演化算法的一个分支,被成功应用于科学研究与工业生产中。在本文中,我们提出了两种新的技术,以提高遗传编程在解决诸如算法合成等问题上的求解效率。   (1)以往
在移动无线传感网(M-WSNs)中用线性网络编码提高网络传输性能和健壮性的同时,线性网络编码策略造成的编码包线性相关问题也会给整个网络中数据传输性能带来极大的不稳定性。
应用于军事领域和商业领域的无线传感器网络对自身的安全性能有很高的要求,由于节点受到计算能力、存储空间和能量的限制,所以,无线传感器网络无法直接采用现已成熟运用于无线网
为了能满足不断增长的性能需求,现代计算机系统工艺技术不断提高,导致系统的能耗问题日益突出,解决能耗问题难度不断上升到新的层次,应用多种能耗管理技术,实现系统级能耗管理,成为
本文首先简要论述了无线图像传感器网络的一些背景知识如无线传感器网络的特点、网络结构以及与之相关的性能评估。分析了无线图像传感器网络这一特定类型的传感器网络系统的
随着Internet的不断发展,如网络视频会议、网络音频、视频广播、远程教育和会诊等分布式多媒体应用需求不断增长,而且带宽应用要求高。传统Internet服务的单一性已经不能满足