共查询到18条相似文献,搜索用时 93 毫秒
1.
面向具体故障的软件测试技术是当今一个研究热点。数组越界是Java程序设计中的常见故障,该类故障极易导致计算结果错误或系统崩溃。针对Java语言中常见数组越界故障进行了分析,并从面向具体故障的测试思想出发,建立了Java语言中数组越界的故障模型,结合静态测试的特点,给出了一种静态查找此类故障的方法。此方法已实现,并已应用于面向故障的软件测试系统中。 相似文献
2.
3.
随着移动计算、物联网、云计算、人工智能等领域的飞速发展,也涌现出了很多新的编程语言和编译器,但是C/C++语言依旧是最受欢迎的编程语言之一,而数组是C语言最重要的数据结构之一.当在程序中通过数组下标访问数组元素时,必须确保该下标在该数组的边界之内,否则就会导致数组越界.程序中的数组越界缺陷会使得程序在运行时导致系统崩溃,甚至使攻击者可以截取控制流以执行任意恶意代码.当前针对数组越界的静态检查方法无法达到高精度的分析,尤其是无法处理复杂约束和表达式,过多的误报额外增加了开发者的负担.因此,提出了一种基于污点分析的数组越界的静态检测方法.首先,提出流敏感、上下文敏感的按需指针分析方法,实现数组长度区间分析.然后,提出按需污点分析方法,实现数组下标和数组长度污染情况的计算.最后,定义数组越界缺陷判定规则,提出使用后向数据流分析方法,检测数组下标是否越界.在进行数组越界检测的过程中,为了处理程序中的复杂约束和表达式,在分析过程中将调用约束求解器来判断约束的可满足性.如果没有发现相应的语句,则报告数组越界缺陷警报.同时,实现了自动静态分析工具Carraybound,并通过实验展示了方法的有效性. 相似文献
4.
数组越界是软件中普遍存在的一种故障类型,并对软件安全造成了潜在的威胁.传统的故障检测使用程序插装的方法,并相应的以编译优化技术来排除掉多余的数组边界检查.这种检测方法不仅降低了程序运行效率,增加了开销,而且往往不能对故障进行彻底的测试,容易造成漏报.本文在对程序进行静态分析的基础上,通过引入区间概念,建立了整型区间集和数组区间集,进而给出了数组越界的故障模型,模型的建立对软件故障进行了规范.本文随后给出了故障检测算法,最后给出了实验.结果表明这种方法比以往的测试方法具有更强的故障检测能力. 相似文献
5.
作为一个类型安全的程序语言,Java要求对每次数组访问提供越界检查.这些检查指令减慢了Java程序的运行速度.算法ABCE维护着一张不等式图,并在图中不断更新记录变量的取值信息,然后根据这些信息识另q出那些冗余的数组边界检查,最后删除它们,从而达到提高程序性能的目的.科学计算类测试集SciMark2.0的测试表明ABCE算法平均删除了76%的越界检查指令,其中LU子程序,该算法的加速近似达到理论最大值. 相似文献
6.
7.
8.
基于抽象语法树的数组越界的静态检测方法 总被引:1,自引:0,他引:1
针对数组访问越界这一类安全漏洞,以源程序的抽象语法树作为分析对象,提出了一种新的静态解决方案。该方案通过分析数组访问越界安全漏洞的表现,抽象出安全模式,然后根据安全模式以及遍历ast过程中记录的节点属性构建安全规则,最后在安全规则的指导下实现对安全漏洞的检测。 相似文献
9.
该文从指针在C语言中的作用入题,介绍了指针使用过程中常见的几种错误,并提出了改进方法。然后针对指针与数组,总体介绍了它们之间的联系与转换,并详细描述了数组越界的两类错误,最后我们经过详细分析,模拟出一种对数组下标是否越界的检测方法。 相似文献
10.
11.
阵列天线方向图综合是针对阵列天线方向图进行的相关研究中的一项基础性的研究内容。不同的应用场景中不仅需要设计形式不同的天线阵列,更需要阵列天线方向图并根据不同的性能参数指标要求进行分析优化,从而获得符合使用要求的阵列方向图。针对传统阵列天线方向图综合算法在方向图综合过程中未考虑主瓣增益约束的问题,提出了一种用于阵列天线方向图综合的改进遗传算法。在经典遗传算法的基础上设计了新的适应度函数以满足特殊情况下对主瓣增益进行约束的需求;并在算法计算过程中增加了精英保留策略,设计了随进化代数改变的交叉、变异概率。经仿真实验,结果表明所提算法能够在阵列天线方向图综合时在保证主瓣方向上的增益满足要求的同时可以获得相对低的副瓣电平水平。 相似文献
12.
13.
14.
随着嵌入式系统硬件可靠性水平的不断提高和嵌入式软件的日益复杂化,软件的可靠性在嵌入式系统整体可靠性中所占的比重也越来越大.在探讨了代码静态分析技术中关键步骤的基础上,制定了编码标准,并且选择了合适的静态分析工具;同时,介绍了自行开发的代码测试框架和测试用例设计方法,并将其运用到某智能仪表软件的测试中,得到了良好的测试效果. 相似文献
15.
程序静态分析技术与工具 总被引:8,自引:0,他引:8
静态分析对于保证程序质量,提高软件生产率有重要的意义。本文综述了静态分析常用的策略,介绍了当前静态分析的研究现状,比较了目前已有的静态程序分析工具。 相似文献
16.
1.引言演绎综合是一种形式化开发算法程序的方法,它从给定问题的一个易于理解、简洁明确的规范说明出发(规范说明表达了所要设计程序的目的),通过定理证明,程序变换,演绎推理等手段,形式化地推导出解决问题的正确算法或程序。算法程序演绎综合的基础 相似文献
17.
为了解决VB.NET中控件不能象VB6.0使用数组的问题,提出了基于类的控件数组解决方案,并就类控件数组的设计原理和实现方法进行了介绍。 相似文献
18.
基于签名与数据流模式挖掘的Android恶意软件检测系统 总被引:1,自引:0,他引:1
随着Android软件开发和维护的不断增多,以及恶意软件的抗检测能力逐渐增强,主流的静态检测方法开始面临一些问题:签名检测虽然检测速度快,但是对代码混淆、重打包类的恶意软件的检测能力不强;基于数据流的检测方法虽然精度高,但检测效率低。针对上述技术存在的缺点,提出了一种混合型静态检测系统。该系统改进了多级签名检测方法,通过对method与class签名进行多级匹配,提高了对代码混淆类恶意软件的检测能力。系统还改进了传统数据流分析技术,通过数据流模式挖掘,找出恶意软件频繁使用的数据流模式,省去了人工确认环节,提高了数据流分析的自动化程度与效率。两种技术的结合使得系统在检测精度与效率两方面达到一个合理的折中点。实验结果表明,该系统对于代码混淆和重打包的恶意软件具有较好的检测能力,对主流恶意软件的检测精确度达到88%。 相似文献