【摘 要】
:
故障注入技术作为一种常用的技术广泛应用于软件测试领域。它通过有意识地向待测系统中施加特定的故障,来观察系统对于异常状况的处理与反应。代码故障注入作为故障注入的一
论文部分内容阅读
故障注入技术作为一种常用的技术广泛应用于软件测试领域。它通过有意识地向待测系统中施加特定的故障,来观察系统对于异常状况的处理与反应。代码故障注入作为故障注入的一种,以其成本低、实现简单、可移植性强等优点受到了研究者们的青睐。但是,目前代码故障注入大多数是通过手动注入实现的。手动注入方法具有效率低下、工作量大以及故障文件可用率不高等不足,而自动注入方法恰好可以弥补这些不足,因此自动故障注入问题非常具有研究意义。论文围绕如何向C代码中自动注入故障以及注入什么样的故障这两个问题进行研究,提出了基于程序变异的C代码自动故障注入方法。该方法通过静态分析获取程序结构信息,然后利用分析抽象语法树的方式对故障注入点定位,接着对变异体进行语义检查,缩小变异范围,最后进行程序变异,生成故障文件。以上就是本文所设计的注入方法的基本流程。在使用传统变异算子时,故障文件存在无法应用于自动化测试的情况,因此本课题设计了基于语义检查的变异算子,来作为故障注入的参照模型。本课题使用了基于字符串编辑距离的候选变异体选择算法,从而令产生的故障更加符合真实编程环境的要求。在以上研究成果的基础之上,本文作者依托于代码测试系统Code Test System (CTS),开发了一款基于程序变异的C代码故障注入器。该注入器实现了C代码的自动故障注入,并且保证了故障注入结果文件适用于故障定位以及变异测试等研究领域。
其他文献
在各种神经网络中,单隐层前向网络(SLFNs)由于其简单的结构和逼近能力而在理论和应用领域都被广泛地研究。但是,传统的单隐层前向网络学习算法,比如基于梯度的方法,可能面临
机群系统拥有良好的性能价格比、可扩展性、可用性,已经成为设计超级计算机的主流体系结构,具有很大的发展潜力和市场前景.由于机群计算需要在各个结点之间频繁交换大量数据,
随着互联网、个人电脑及移动终端的普及,市场对各类软件的需求也与日俱增。由于开发过程中种种偏差,软件代码中总是存在着故障,给软件使用带来了不好的体验甚至安全上的隐患
计算机网络已经成为很多应用软件的基础计算平台,开放化、互联化、标准化、组件化已经成为应用软件的根本要求,网络的异构性、复杂性成为软件开发所必须考虑的因素。在这样的背
本文主要研究模糊控制在单路口信号灯控制中的应用.根据交警在指挥交通时的思想,提出一种多相位模糊控制方案.即在对某相位放行时,是否在给此相位绿灯延时,取决于此相位排队
模型驱动体系结构MDA是OMG组织推出的一种新的软件开发方法。MDA的核心思想就是以模型为中心,把关注的焦点集中在分布式应用系统的功能和行为,而不关注应用系统采用何种技术实
在20世纪80年代,计算技术经历了从主机计算到桌面计算的革新,使计算机从实验室、大公司带到了普通的办公室、家庭,极大的推动了计算技术极其相关产业的发展.然而,随着计算技
随着金融业的进一步开放,银行间的竞争亦将愈演愈烈。为客户提供更安全便捷、全方位、全天候的高质量服务是客户的愿望,也是银行自我生存参与竞争的必要手段。在以往,银行网点的
软件变更管理是软件维护和软件进化中的中心环节之一,有效的变更管理可以使得软件的功能和软件的质量以一种平滑的路线同时取得进步和发展;可以很大程度上提高开发者对于软件的
随着计算机辅助设计(Computer Aided Design)的发展,设计者逐渐从繁重的设计劳动中解脱出来.近几年CAD技术在企业中应用的不断深入,二维CAD技术已经不能满足企业进行技术设计