首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到18条相似文献,搜索用时 78 毫秒
1.
数组越界是软件中普遍存在的一种故障类型,并对软件安全造成了潜在的威胁.传统的故障检测使用程序插装的方法,并相应的以编译优化技术来排除掉多余的数组边界检查.这种检测方法不仅降低了程序运行效率,增加了开销,而且往往不能对故障进行彻底的测试,容易造成漏报.本文在对程序进行静态分析的基础上,通过引入区间概念,建立了整型区间集和数组区间集,进而给出了数组越界的故障模型,模型的建立对软件故障进行了规范.本文随后给出了故障检测算法,最后给出了实验.结果表明这种方法比以往的测试方法具有更强的故障检测能力.  相似文献   

2.
高凤娟  王豫 《软件学报》2020,31(10):2983-3003
随着移动计算、物联网、云计算、人工智能等领域的飞速发展,也涌现出了很多新的编程语言和编译器,但是C/C++语言依旧是最受欢迎的编程语言之一,而数组是C语言最重要的数据结构之一.当在程序中通过数组下标访问数组元素时,必须确保该下标在该数组的边界之内,否则就会导致数组越界.程序中的数组越界缺陷会使得程序在运行时导致系统崩溃,甚至使攻击者可以截取控制流以执行任意恶意代码.当前针对数组越界的静态检查方法无法达到高精度的分析,尤其是无法处理复杂约束和表达式,过多的误报额外增加了开发者的负担.因此,提出了一种基于污点分析的数组越界的静态检测方法.首先,提出流敏感、上下文敏感的按需指针分析方法,实现数组长度区间分析.然后,提出按需污点分析方法,实现数组下标和数组长度污染情况的计算.最后,定义数组越界缺陷判定规则,提出使用后向数据流分析方法,检测数组下标是否越界.在进行数组越界检测的过程中,为了处理程序中的复杂约束和表达式,在分析过程中将调用约束求解器来判断约束的可满足性.如果没有发现相应的语句,则报告数组越界缺陷警报.同时,实现了自动静态分析工具Carraybound,并通过实验展示了方法的有效性.  相似文献   

3.
数组越界的静态分析   总被引:1,自引:0,他引:1  
软件测试分为静态测试和动态测试,而数组越界是静态测试中最常见的问题之一,并且其带来的危害巨大,甚至导致软件系统崩溃。根据数组越界的现象及特点,详细描述了数组越界的定义和种类,给出了数组越界产生的条件及防范技巧,并对检测方法及工具进行比较分析,从而更好地实现软件测试。  相似文献   

4.
Java语言中数组越界故障的静态测试研究   总被引:1,自引:0,他引:1       下载免费PDF全文
面向具体故障的软件测试技术是当今一个研究热点。数组越界是Java程序设计中的常见故障,该类故障极易导致计算结果错误或系统崩溃。针对Java语言中常见数组越界故障进行了分析,并从面向具体故障的测试思想出发,建立了Java语言中数组越界的故障模型,结合静态测试的特点,给出了一种静态查找此类故障的方法。此方法已实现,并已应用于面向故障的软件测试系统中。  相似文献   

5.
数组越界的静态测试分析   总被引:4,自引:0,他引:4  
给出了一种静态分析方法,静态分析的主要优点就是在程序运行之前就可以对程序故障进行定位。文章首先针对数组越界错误类型进行了分析,介绍了软件测试的一些基本概念,给出了这类错误的静态分析方法,并给出了相应的算法,而后给出了测试系统设计和开发,最后给出了软件测试的实验结果和分析。  相似文献   

6.
基于抽象语法树的数组越界的静态检测方法   总被引:1,自引:0,他引:1  
徐明昌  刘坚 《计算机工程》2006,32(1):108-109,205
针对数组访问越界这一类安全漏洞,以源程序的抽象语法树作为分析对象,提出了一种新的静态解决方案。该方案通过分析数组访问越界安全漏洞的表现,抽象出安全模式,然后根据安全模式以及遍历ast过程中记录的节点属性构建安全规则,最后在安全规则的指导下实现对安全漏洞的检测。  相似文献   

7.
该文从指针在C语言中的作用入题,介绍了指针使用过程中常见的几种错误,并提出了改进方法。然后针对指针与数组,总体介绍了它们之间的联系与转换,并详细描述了数组越界的两类错误,最后我们经过详细分析,模拟出一种对数组下标是否越界的检测方法。  相似文献   

8.
本文介绍了数组越界问题的解决方法,并给出了相应的程序和出错时的处理方法。  相似文献   

9.
缓存区溢出能引起非常严重的安全问题,对网络和分布式系统(如机群,网格,P2P系统等)构成严重威胁。数组越界在缓存区溢出中占据重要位置,如何检测数组越界错误是一个重要且极具意义的课题。针对该课题,给出一种对C语言数组越界进行运行时验证的方法。分析了数组越界的错误类型,根据这些类型分别研究了数组越界的运行时验证的思想;设计了基于程序插桩进行数组越界动态检测的算法,给出了该方法基于开源编译器Clang的具体实现;用实验证明了该方法是切实可行并且有效的。  相似文献   

10.
作为一个类型安全的程序语言,Java要求对每次数组访问提供越界检查.这些检查指令减慢了Java程序的运行速度.算法ABCE维护着一张不等式图,并在图中不断更新记录变量的取值信息,然后根据这些信息识另q出那些冗余的数组边界检查,最后删除它们,从而达到提高程序性能的目的.科学计算类测试集SciMark2.0的测试表明ABCE算法平均删除了76%的越界检查指令,其中LU子程序,该算法的加速近似达到理论最大值.  相似文献   

11.
软件测试中故障模型的建立   总被引:6,自引:0,他引:6  
在软件测试中,会碰到各种类型的软件故障,而且这些故障的灵活性很强。这篇文章旨在建立不同类型的故障模型,以便于管理和标准化这些故障。该文建立了6种故障模型,可以覆盖相当数量的软件故障。而且在文章的附录部分给出了试验数据,有效地证明了这些故障模型的建立是非常有意义的。  相似文献   

12.
软件测试是排除软件故障,提高软件质量和可靠性的重要手段。基于故障模型的软件测试是软件编码阶段的主流测试方法之一。基于故障模型的代码静态测试技术具有测试效率高、对逻辑复杂故障测试效果好等特点。鉴于此,本文采取一种特殊的静态分析技术来实现对代码的测试。首先讨论传统软件测试方法的缺点和局限性,给出基于故障模型的静态测试方法的优越性;然后在分析过程中,综合应用抽象语法树和控制流图,提出一种基于故障模型的软件测试方法。依据该算法开发自动化测试工具,给出实验结果和对比分析,并指出下一步的研究方向。  相似文献   

13.
况迎辉 《传感技术学报》2010,23(12):1731-1735
超声相控阵探测技术是在工业无损检测领域具有良好应用前景的新技术。论文介绍了超声相控阵检测的基本原理,对相控阵探头单一阵元模型和多维线性模型进行了仿真对比,证实了多维线性相控阵模型在应用中的优势;进而针对多维线性相控阵结构参数与探测性能的关系进行了仿真研究,基于实验仿真和理论推算给出了探头参数的优化方案,为相控阵探头结构设计奠定了基础。  相似文献   

14.
单国栋  连一峰 《计算机工程》2004,30(19):113-114,182
环境错误注入是一种动态的测试软件脆弱性的技术,建立在对系统脆弱性分类模型的基础上,通过选择一个恰当的错误模型,测试系统有意识地触发软件内部存在的安全漏洞。该测试方法对于通常使用的静态检测方法,是一种重要的补充。文章论述了环境错误注入系统的一种实现机制。  相似文献   

15.
软件故障诊断过程中代价最昂贵和最耗时的活动之一就是软件故障定位.为了辅助测试人员进行软件故障的定位,在设计分层思想的指导下,在分析软件及其各个模块以及模块中代码之间复杂关系的基础上,通过分析历史数据中软件故障与现象之间的对应关系,建立了基于拓扑图的软件故障传播模型,使得软件故障诊断人员能够利用该拓扑图模型描述具体的软件故障现象.通过该拓扑图模型,软件故障传播模型可转换成更容易进行问题求解的基于二分图的故障检测模型.然后针对该模型设计了基于贪心策略的算法,该算法解决了基于二分图故障检测模型的最小覆盖求解问题,这一问题的求解结果描述了软件故障原因假设集合,通过故障原因与软件模块关系分析可找出与该故障原因对应的相应模块,从而实现故障定位.实验表明,本研究方案能够有效处理软件故障定位问题.  相似文献   

16.
一种RVM模糊模型辨识方法及在故障预报中的应用   总被引:2,自引:0,他引:2  
对复杂、病态、非线性动态系统进行故障预报的重点和难点是建立系统故障状况的数学模型, 通常难以建立精确的数学模型, 相比之下构建其模糊模型是一个有效途径. 本文研究了相关向量机(Relevance vector machine, RVM)与模糊推理系统(Fuzzy inference system, FIS)之间的内在联系, 证明了基于RVM的FIS具有一致逼近性, 并提出了一种基于RVM和梯度下降(Gradient descent, GD) 算法的模糊模型辨识方法. 基于所给出的模糊模型辨识方法提出了一种新的故障预报算法. 仿真结果表明所建立的模糊模型不仅结构更加简单, 而且能达到更高的预测精度, 所提出的故障预报算法能准确地预报系统故障.  相似文献   

17.
软件测试在软件的迅速发展中越来越突显其重要性,在软件测试中,会碰到各种类型灵活性很强的软件故障,所以测试用例的设计显得很重要.针对软件测试用例的难以确定性,通过故障模型的建立,利用故障树分析原理,对故障模式判决软件进行测试用例的设计.  相似文献   

18.
针对D-S证据理论合成公式处理并发故障诊断中高冲突证据时存在的不足,提出了一种改进的证据组合方法:考虑焦元属性之间及证据之间的相互关联性,利用证据的相似度给每个证据确定支持度,再采用组合公式融合.并结合某型飞机燃油系统并发故障诊断实例验证了算法的有效性.  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号