首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到10条相似文献,搜索用时 15 毫秒
1.
误报率和漏报率是静态缺陷检测的关键技术指标,提高分析精度是降低误报和漏报的主要手段.文中介绍了缺陷模式及其有限状态机描述,提出基于传统数据流分析的缺陷检测方法.采用变量抽象取值来近似地表示程序动态执行信息,通过状态条件中的变量抽象取值范围为空来判断不可达路径,以实现路径敏感分析;使用缺陷相关的函数摘要来表示缺陷检测所需函数调用信息,其中缺陷相关的函数摘要包括前置约束信息、后置约束信息和函数特征信息三部分,实现了上下文敏感的跨函数分析.文中方法已在缺陷检测系统DTS中实现,在大型开源软件分析中的实验结果表明,该方法能减少误报和漏报.  相似文献   

2.
基于缺陷模式的软件测试中的区间运算应用   总被引:5,自引:2,他引:3  
基于缺陷模式的软件测试采用静态分析技术,误报问题比较严重.通过对区间数学理论扩展,提出了区间集的运算,以及实数、布尔变量、句柄变量、数组变量等不同数据类型的区间计算方法;采用May和Must集合来描述条件语句对区间的限定;通过修改数据流方程来跟踪控制流图遍历中的区间变化.将区间运算应用于基于缺陷模式的软件测试,实验结果表明,区间运算能够较好地减少误报和提高缺陷检测精度.  相似文献   

3.
提高检测精度是在基于缺陷模式的软件测试中一个亟待解决的问题。在区间运算技术的基础上,将函数执行后对上下文产生的影响定义为函数的副作用,如函数中对全局变量或类成员变量的更改、对指针型参数或引用型参数的更改,以及函数的返回值等。并给出函数副作用的形式化描述和生成算法,将其用于区间运算的过程中,显示软件静态测试的效果。实验结果表明,使用该方法的测试工具对缺陷的误报及漏报情况明显减少,测试精度显著提高。  相似文献   

4.
在软件日益丰富的信息时代,程序的正确性验证问题需要深入地研究。提出了基于抽象解释和数值熵协同的数值程序正确性分析方法。利用抽象解释理论框架对数值程序进行抽象解释分析,提取不变量的抽象域区间;在抽象域区间上进行数值熵运算;运行程序获取数值变量的实际取值,计算数值熵;将抽象域区间数值熵和实际数值熵信息进行对比分析,准确地判断程序的正确性等性质。单纯的抽象解释分析只可以近似得到数值变量的取值范围,而引入数值熵算法,在取值范围的基础上对程序静态分析的准确性进一步检验,同时也做到了对程序的正确性验证。通过C语言程序实例,对抽象解释基础上的熵值分析方法进行了验证,证明了该分析方法的可行性和正确性。  相似文献   

5.
变量区间分析是程序代码数据流分析的重要部分。固件反汇编代码存在字节运算和位运算两类运算,当变量取值范围较大时,依次迭代法不能高效地分析经位运算后的结果的取值区间。提出一种快速位运算方法,即根据变量取值区间范围,先将变量转化为不确定位形式再进行位运算;提出一种区间生成算法,即把不确定位形式转化为区间来实现字节运算。实验结果表明,该基于位运算的固件代码变量区间分析方法在程序变量取值范围较大时效率远远高于依次迭代法,而且在各种变量取值区间范围内所需时间稳定,并随着区间范围的增大,其有略微下降趋势。  相似文献   

6.
软件缺陷是衡量软件测试充分性的一项重要指标,为了提高基于BPEL的组合Web服务流程的可靠性和健壮性提出了一种死路径语义下路径敏感的缺陷检测方法.死路径是BPEL提供的特殊语义,不具有任何执行信息,但是可以连接两个可执行路径片段.为了避免死路径对检测精度的影响,将死路径和路径条件有机地结合起来,采用了变量的抽象取值范围来表示流程的执行状态,即属性状态条件.通过状态条件中变量抽象取值范围为空来识别不可达路径及死路径,并在汇合节点进行了属性状态条件的合并.采用一个既与死路径相关又与执行路径相关的未初始化变量的缺陷检测贯穿整个分析与验证过程,进而说明了该方法的有效性.  相似文献   

7.
一种路径敏感的静态缺陷检测方法   总被引:10,自引:0,他引:10  
提出一种多项式复杂度的路径敏感静态缺陷检测算法.该方法采用变量的抽象取值范围来表示属性状态条件,通过属性状态条件中的变量抽象取值范围为空来判断不可达路径.在控制流图(control flow graph,简称CFG)中的汇合节点上合并相同属性状态的状态条件,从而避免完整路径上下文分析的组合爆炸问题.该算法已应用于缺陷检测系统DTS(defect testing system).实际测试结果表明,该方法能够减少误报.  相似文献   

8.
蔄羽佳  尹青  朱晓东 《计算机应用》2016,36(6):1567-1572
针对传统的数据随机化技术静态分析精度不高的问题,提出一种基于域敏感指针分析算法的细粒度数据随机化技术。在静态分析过程中,首先对中间表示进行语法抽象,得到形式化的语言表示;然后建立非标准类型系统,描述变量之间的指向关系;最后按照类型规则进行类型推断并求解,得到域敏感的指向关系。根据指向关系对数据进行随机化加密,得到经过随机化的可执行程序。实验数据表明,基于域敏感指针分析的数据随机化技术与传统的数据随机化技术相比,分析精度显著提高;处理时间开销平均增加了2%,但运行时间开销平均减少了3%。所提技术利用域敏感的指针分析,给程序带来更少的执行开销,并能够更好地提高程序的防御能力。  相似文献   

9.
闫鑫  金大海  宫云战 《软件》2013,(11):67-70
随着计算机技术的飞速发展,软件的覆盖面越来越广,软件质量的保证成为了一个越来越重要的环节。结构体在程序设计语音中被广泛使用,在静态代码检测的时,对结构体变量进行区间运算的时候不能给出其明确的区间信息,会对其相关运算的判断精度造成影响,本文介绍了一种对结构体赋值运算的区间计算方法。首先,从抽象语法树中识别结构体变量节点,其次为他们建立抽象内存模型,再次根据控制流图节点在其进行赋值运算的时候对它的子成员变量进行运算。  相似文献   

10.
为权衡对矩阵运算静态分析的精度和效率,针对程序中表示矩阵的变量,提出一种基于抽象解释的抽象与分析算法,即区间向量抽象域。将矩阵变量抽象为一个区间向量对,即行区间向量和列区间向量,矩阵各元素的值范围是由这两个区间向量对应元素的交集表示;设计在该抽象域上的操作以及迁移函数。通过对区间向量抽象域的计算,较好地权衡矩阵元素值范围分析的精确度和分析效率。实验结果表明,该抽象域能够较精确地分析程序中矩阵各元素的值范围,与现有的分析数组的抽象域相比,在分析精度和效率之间取得了合理权衡。  相似文献   

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

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