基于错误传播上下文分析的软件错误定位方法研究

来源 :哈尔滨工业大学 | 被引量 : 0次 | 上传用户:tt_lang
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着软件规模变得越来越庞大,保证软件的质量变得越来越难,软件失效发生的概率也随之增高。软件失效指的是软件的期望结果和实际结果不一致。在软件失效发生以后,如何去定位那些导致代码漏洞的语句便是错误定位问题。目前已经有许多优秀的软件错误定位方法。然而它们都忽略了一点,巧合正确性。巧合正确性指的是测试用例执行了错误语句,执行结果未表现出任何失败信息。它往往是由错误传播引起的。基于以上考虑,本文把错误定位分成两部分,包括错误关联语句的定位和错误理解。本文的研究内容包括:首先,为了获得程序执行路径信息,作为后续模块的输入,需要进行程序插装,而现有的插装技术实现过于复杂。本文通过词法和语法分析源程序,实现了一种较为简便的程序插装技术。其次,为了进行错误关联语句定位,必须构建联合依赖网络,那么就需要进行程序依赖分析,然后建立程序依赖图并进行转化。本文实现了比较经典的程序依赖分析,在此基础上建立了程序依赖图并对其进行特定节点转化和节点状态规格化。然后,目前的错误定位方法大部分情况下不仅不能准确地定位错误语句,连与其关联的语句都无法准确定位,因此提出了条件概率、路径概率和联合依赖概率的概念,以此来提高错误关联语句定位的精确度。最后,巧合正确性对错误定位结果有很大影响,目前的错误定位方法没有理解其产生的本质,因此提出了基于错误传播上下文分析的错误理解方法,消除巧合正确性的影响。该方法的输出结果为程序语句的可疑值序列,可疑值越大,语句错误的概率越高。本文使用软件错误定位领域常用的Siemens suit进行测试,在定位有效性和稳定性两方面与其它典型的方法进行了比较,结果表明本文方法在这两方面都较之前方法有极大的提升,并且结果呈现形式更加有利于开发人员找到错误的根本原因。
其他文献
Hash函数是密码学重要的组成部分,它广泛应用于电子商务、信息安全和电子政务等安全性要求比较高的领域中,同时也是实现数字签名、消息的完备性和消息可认证性的重要工具。MD
随着数据的爆炸式增长,单机聚类算法无论是存储能力还是处理能力都无法满足海量数据的聚类,必须寻求并行化的解决方案。Google提出的分布式编程模型MapReduce给并行聚类带来了
上下文感知推荐系统(Context-aware Recommendation Systems,简称CARS)已经成为个性化推荐研究领域最为活跃的研究领域之一。上下文感知推荐技术的主要研究任务,就是如何利用用户
移动对象轨迹数据的挖掘是移动对象数据库的一个重要研究方向,从轨迹数据中得到的信息可以应用到交通控制、气候预测以及生态研究等多个方面。轨迹数据量庞大、结构复杂,且轨迹
近年来微博凭借其集成化、开放化、操作简单、传播迅速以及覆盖面广等特点在世界范围内得到流行,然而随之而来的微博隐私泄露方面问题也日益引起人们的担忧。目前针对微博类社
随着计算机与互联网技术的快速发展,人与人,人与信息之间的交互变得越来越频繁。如何从海量繁杂的信息中快速获取用户想要的信息,是推荐系统研究的核心问题。传统的基于协同过滤
近几年来,随着信息科学和传感器技术的进步,基于传感器的人体行为识别获得了极大的发展。其中基于可穿戴传感器的行为识别作为移动式计算的重要方面给各种上层应用提供了许多支
图像超分辨率重建是当前数字图像处理领域的研究热点,在公共安全领域、高清电视、医学成像领域以及卫星遥感领域都有广泛的应用。其中由于其应用的灵活简便,及实用性,使得基于单
偏振探测作为一种重要的探测技术,能够提供传统的强度探测所无法获取的斯托克斯矢量、偏振度、偏振角等信息,增加被探测目标的信息维度,在大气遥感、目标识别、医学诊断等领域具
基于视频序列的行人检测和行为分析问题是当今计算机视觉和模式识别领域的一个研究热点,它在智能视频监控、智能交通、人机交互、运动分析、辅助临床医学等多个领域有着良好的