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

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

3.
基于条件范围约束的越界访问检测方法   总被引:1,自引:0,他引:1  
程序执行时的越界访问将导致异常的行为,已有的越界检测方法存在效率低或精度不高的缺点.分两步检测程序中的越界访问语句:在约束产生阶段,提出一个流敏感、过程间的约束状态产生算法,为每条语句建立一个范围约束集合和值约束集合;在约束求解阶段,利用线性规划计算程序访问的内存大小和偏移量,报告可能的越界访问漏洞.实验表明,检测效率明显高于路径敏感的范围分析方法,而平均检测精度高于80%.  相似文献   

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

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

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

7.
本对单片机的C语言编译器进行了研究分析,指出了与一般C语言的区别及其在软件开发过程中须注意的存储区的定位及访问,专用寄存器的访问方法、并行接口的定义、位变量的定义等几个关键性的问题,并且结合8279扩展键盘/显示器实例进行了编程。  相似文献   

8.
内存数据库是外存数据库的"工作版本",它们无论在数据上、结构上等都应该保持一致性.怎么定义内存数据库的存储结构,特别当外存数据库中表的结构发生改变时,内存数据库中表结构的相应改变,都直接影响系统的性能.研讨了内存数据库结构的定义以及实现,并对静态和动态存储结构的机制作了详尽的分析,突出地反映了动态特性.  相似文献   

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

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

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

12.
C/C++程序安全漏洞的分类与分析   总被引:6,自引:0,他引:6  
C/C++语言开发者追求的是语言的高效性、灵活性,为此不同程度上忽略了语言的安全性。目前很多机构比如NASA犤2犦等对不同语言中存在的安全问题提供了相关信息,文章在此基础上对C/C++程序中存在的安全漏洞进行分类并为每一小类作简要分析,为开发和确保安全的软件提供了指导  相似文献   

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

14.
谭丞 《福建电脑》2009,25(4):178-178
本文通过对C++中new[]和delete[]的深入剖析以及其在Visual Studio中的实现,描述了对象数组在内存中存储的结构。并且对常见的“数组越界”问题提出了新的解决方案。  相似文献   

15.
越界率是衡量无线蜂窝网络性能的重要指标之一.主要考察用户移动模型中3个要素(速度、方向和蜂窝小区的信号覆盖范围)对用户越界率的影响.这种影响的检测是分别在简单移动模型和支持突发事件影响的移动模型上进行多组实验所得的,分别画出了两种移动模型下用户最大速度、最小速度以及平均速度的变化、BS的信号覆盖范围和用户移动方向改变频率与用户越界率之间的曲线图.通过对比两种不同移动模型下的实验数据,发现用户的越界率与用户的移动速度和BS的信号覆盖范围关系较大,而用户移动方向的改变频率对越界率的影响相对较弱.  相似文献   

16.
俞明 《软件》2013,(1):47-49
类构成面向对象程序设计的基础,当创建一个有意义的对象时需要对成员进行初始化操作,对于不同的情况应使用不同的方法来实现。类的成员可以被声明为公有、私有或保护,需有不同的访问方式。  相似文献   

17.
基于客户端对XML文档的访问控制管理   总被引:2,自引:0,他引:2  
对XML文档的访问控制管理的研究目前是个热点问题,已有诸多文献提出了许多访问控制模型,它们大多是以静态的方式共享加密数据。然而在某些情况下,会出现临时的、动态的访问控制规则,这样静态模型就不能解决这种情况。随着客户端设备软硬件的发展,出现了基于客户端的动态访问控制方案。本文提出了一个结合静态模型和动态模型的新的混合方案,举例介绍了基于客户端的动态访问控制部分,并与纯动态方案在性能上作了比较。  相似文献   

18.
陈柏强  郭涛  阮辉  严俊 《计算机应用》2009,29(5):1376-1379
介绍了静态分析的相关背景知识,对Java程序中数组越界和空指针错误的常见表现形式进行了归类,并通过实验评估了现有的Java静态分析工具功能,指出了其在跨过程分析中的不足,并对如何改进进行了讨论。  相似文献   

19.
本文主要介绍了PDU中7-bit字符串编解码的算法,及其程序的设计,并针对不同长度和内容的字符对程序的有效性进行了测试,测试结果表明程序是正确的。  相似文献   

20.
本文利用c语言的库函数编写了四个对字符串处理的简单程序,包括输出字符串中的一部分、删除字符串首(尾)部的空格和按指定宽度输出字符串等,为c语言程序设计的初学者扩展了学习思路,同时也可加强对相关库函数的应用和理解,培养其编程技巧。  相似文献   

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

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