基于程序关键基本块选择的错误定位

来源 :中山大学 | 被引量 : 0次 | 上传用户:dracula1103
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
调试在程序的开发与维护阶段占据相当大的比重,而定位错误则是调试过程中至关重要的一个步骤。由于手工定位错误往往缺乏导向性,因此需要耗费程序员大量的时间和精力,而且往往效果不好。因此,现阶段关于错误定位的研究,主要借助预先设计好的测试用例,采用自动化分析的方法,将可能出现错误的范围缩小到一个语句集合中,从而尽可能减少程序员搜索错误的范围。现有的方法由于仅仅考虑了单个或者某些引起错误输出的测试用例运行,而没有综合考虑程序所有测试用例运行所得到的信息,因此,并不能很好的反映程序运行过程所展现的行为,以及该行为对测试用例运行结果的影响。 本文提出一种基于程序基本块选择的错误定位的解决方案,该方法综合分析所有通过(passed)以及失败(failed)的测试用例中程序基本块的运行频率,将运行频率对测试结果起着决定作用的基本块定义为程序关键基本块。按照程序基本块与测试用例运行结果的相关程度,以信息增益作为评价标准,利用特征选择的方法对其进行排序。根据该排序,挑选关键基本块集,将每个关键基本块的入口和出口语句作为搜索范围。由于程序关键基本块能区别程序的典型和异常特征,通过探查其入口和出口,可以找到导致其运行频率异常的原因,有效定位由于条件判断或者缺失所引起的错误。为了验证该方法的可行性,本文将其实现为一个自动化工具CRITIC,借助该工具,本文对Siemens Suite中132个预先植入错误的程序进行了实验。结果表明,利用CRITIC进行错误定位,超过30%的程序仅仅需要探查不多于1%的语句,接近60%的程序仅仅需要探查不多于10%的语句,超过80%的程序仅仅需要探查不多于20%的语句,即可以定位到程序中的错误,其效果明显优于其他错误定位方法。
其他文献
电力系统短期负荷预测是电力系统安全和经济运行的重要依据,随着价格竞争机制的引入和电力市场改革的深入,电力部门对短期负荷预测的精度提出了更高的要求。支持向量机是一种新型的机器学习方法,具有全局最优、结构简单、推广能力强等优点,在解决小样本、非线性及高维模式识别问题中表现出许多特有的优势。然而支持向量机在进行大数据量的负荷预测时存在数据噪声、收敛速度慢等缺点,针对这些缺点,本文提出了一种利用聚类分析选
随着光通信技术的飞速发展,光网络向着大规模、复杂拓扑、面向业务的智能化网络方向发展,对网络的生存性提出了更高的要求。为了定义网络的管理边界、提高路由和信令的性能、
图像工程根据研究方法的不同可以分为三个层次:图像处理、图像分析和图像理解,图像工程是三者的有机结合及它们工程应用的总称。图像滤波和边缘检测技术是图像分析和处理的基
植物叶片识别对于相关植物知识的普及和植物学相关学科的发展有一定的促进作用,对于研究植物的系统的进化具有很重要的意义。近年来,国内外在植物叶片识别方面的研究取得了很
自动抄表系统利用现代通信和计算机技术实现对远程流量计量器的实时监控与数量采集,提高企业的运营效率,方便用户的使用。自动抄表系统中数据收集转发器保障外部设备与远程流
电子商务的大繁荣使得数以万计的用户开始通过网络购买各种产品、服务,并在线发表评论信息。许多消费者在购买某种产品或服务的时候,通常会先参考之前购买者的评论信息,获得直观
半监督学习是近年来倍受人们关注的新的机器学习方法,本文将李群理论引入到半监督学习领域中,给出了基于李群的半监督学习算法。主要包括以下几方面内容:1.分析了半监督学习
伴随信息技术的发展以及无线通信设备普及,移动学习(M-Learning)应运而生。移动学习是一种新型的学习方式,它充分利用无线技术和移动计算机设备来辅助教学,为学生通过移动设
学位
自动交换光网络(ASON,Automatic Switched Optical Network)是下一代光网络的发展方向。随着ASON网络规模日益扩大,如果将所有网络设备放在同一路由域内来管理,则单个节点需