解析失效状态传播的软件故障定位方法研究

来源 :哈尔滨工业大学 | 被引量 : 0次 | 上传用户:Mr__x007
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
软件缺陷会降低系统的可靠性、可用性和安全性。开发人员发现软件失效后,通常需要观察程序的执行状态,查找失效的根源并消除软件缺陷。然而由于程序状态空间规模巨大,并且错误的程序状态会沿着执行路径传播。这使理解“什么导致了程序失效?”以及“为什么程序会失效?”成为值得研究的问题,亟需自动化的软件故障定位技术来提供这些信息,辅助软件调试。程序设计教育领域也需要软件故障定位技术的支持,为学生在线学习编程提供及时的调试反馈和辅助。不同于软件开发,学生程序特别是初学者的程序中经常含有概念错误,错误密度大、缺陷种类多样,甚至缺少关键语句,可能对所有的测试用例都执行失效。“缺陷程序存在部分成功执行”的假设,不完全适用于学生程序调试,需要结合学生程序设计自身特点研究故障定位方法。本文提出了“失效-故障定位-理解”模型,分析了软件故障定位领域的关键科学问题,并针对软件开发和学生程序调试的不同特点,分别研究这两类场景下的故障定位技术。首先围绕“存在部分成功测试用例的情况下,有效地报告缺陷位置,为开发人员理解和修复缺陷提供充分的信息。”这一目标,研究测试用例优选方法和基于程序不变量的故障定位方法。然后,围绕“存在充分示例程序的情况下,即使缺陷程序不能通过任何测试用例,也可以有效定位其中的可疑语句。”的目标,研究学生程序的故障定位方法。主要研究内容分为以下四个部分。(1)为了“最大化地利用测试信息,选择适合于故障定位的测试用例集合”,提出了面向有效故障定位的测试用例优选方法。首先,提出“失效覆盖向量相似度优先排序”准则,将执行路径与失效执行路径相似的成功测试用例赋予较高的优先级;然后提出“失效覆盖等价划分优化选择”准则,选择能够最大区分失效执行语句的成功测试用例子集合;在此基础上,建立测试用例优选模型。实验结果表明,在约简率和故障定位有效性两个指标方面,本方法均优于已有基于语句和基于向量的测试用例约简方法。(2)针对已有方法对不变量定义不完善导致可定位的缺陷种类有限、因缺少对测试用例的影响分析导致不变量违背检测的漏检等问题,提出了基于程序不变量分析多种缺陷类型的故障定位方法。首先,在浮点型范围不变量的基础上,扩展了集合型不变量和真值表型不变量,还识别了仅被失效覆盖的语句和永真/永假条件谓词这两类难于用不变量违背定位的可疑语句。然后,将测试用例优选与程序不变量故障定位相结合,以降低不变量违背检测漏检。实验结果表明,与已有基于程序不变量的故障定位方法相比,本方法可以有效定位更多种类的缺陷。(3)针对已有方法缺少对失效状态传播的分析,导致不变量违背检测的漏检和误检,难于准确定位到失效的产生根源等问题,提出了基于程序不变量解析失效状态传播的故障定位方法。一方面,利用变量到达定值分析,定位常量赋值缺陷,降低漏检。另一方面,利用依赖分析过滤掉因失效状态传播导致的不变量违背检测误检。实验结果表明,本方法能有效降低不变量故障定位的误检和漏检,且与程序谱方法相比更有效。(4)针对学生程序可能对所有测试用例都失效,但存在大量可供参考的示例程序等特点,研究基于示例的故障定位方法。首先,提出基于结构度量和执行值序列的程序聚类方法,从大量已有程序中识别示例程序。然后,提出解析失效状态传播上下文的故障定位方法,通过识别缺陷程序和示例程序的执行状态和结构语义差异,定位可疑语句。实验结果表明,在有充足示例程序的情况下,该方法可以有效定位可疑语句,并为修复缺陷提供辅助。
其他文献
目的分析血培养阳性病原菌的科室分布及抗菌药物敏感性特征。方法以WHONET5.4软件分析2006~2008年医院血培养阳性结果。结果2006~2008年医院血培养阳性分离株1065例,阳性率为11
为了充分发挥高校的科研优势,促进高校与行业企业的深度合作,实现高校人才培养与企业科技进步的同步提升,对我校建立的行业企业与高校研究生联合培养基地的建设情况进行了总
自从空化现象出现以后,就受到了广泛的关注。对超声空化效应的应用也越来越普遍,比如:超声清洗、超声乳化、超声治疗以及利用超声加速化学反应或提高化学产量等,这些应用主要
<正>一、放养前的准备按常规池塘消毒方法进行清塘消毒,即放养前20天左右将池水排干,铲除池底过多的淤泥,使淤泥保持在30厘米以下,连续曝晒数天,晒至龟裂状,清除塘底杂物。然
结构决定功能。结构解析是理解各种基本生命过程分子机制的重要途径。传统的结构解析方法如X射线晶体衍射学和核磁共振方法(NMR)已产生大量蛋白结构,极大丰富了我们对细胞中
以区域网络制造服务平台下的动态信息发布系统的开发为基础,对基于Web的动态信息发布系统关键技术进行了探讨,主要包括Web数据库访问技术、信息实时刷新技术、ASP邮件服务技
本文旨在分析我国当前地方政府债券发行制度对商业银行的影响。本文从现行地方政府债券发行制度出发,从收益和风险两个角度对地方债发行对商业银行的影响进行了分析。首先,在
目的探索孤独谱系障碍(ASD)的风险因素,比较高功能(HFASD)和低功能孤独谱系障碍(LFASD)男孩的认知结构及其脑影像学特征。方法(一)对符合DSM-5之ASD诊断标准的2-16岁的患儿(n
微细矿物颗粒表面水化膜对其在水溶液中的分散与聚团具有重要影响。本文主要介绍了水化膜的形成机理及其对溶液中微细矿物颗粒分散与聚团的影响。并且分析了水化膜厚度及强度
莜麦是内蒙古地区特色作物之一,具有降血糖、降血脂等生理功能。为了最大程度提取莜麦中的多酚,拟采用酶-微波法协同提取莜麦中的酚类物质。试验以多酚得率为依据,莜麦经复合