共查询到18条相似文献,搜索用时 93 毫秒
1.
静态分析由于并不执行源代码,导致无法获取变量在实际运行中的取值,进而对一些和变量取值相关的缺陷检测带来了一定困难.利用符号执行和区间运算技术,虽然可以模拟程序实际执行时变量的可能取值范围,但对于结构体、数组等,由于不能对其成员进行独立描述,导致数据流无法支持域敏感分析,对和其成员变量相关的缺陷的检测难以实现,产生很多漏报.基于域敏感指向分析的区间运算模型,在域敏感指向分析模型的基础上对其进行了改进,将复杂数据类型拆分成独立的成员变量进行分析,并提出一种关联抽象取值集的类型系统,该系统可以保守的描述程序在动态执行时变量的可能取值.结合赋值语句的抽象语法定义,给出了该类型系统在数据流计算时的具体推导算法,并将其应用在缺陷检测系统(DTSGCC和DTSCPP)中.选用DTSCPP作为实验平台,对6个C++开源工程进行了测试,并对其数据进行了统计分析,结果表明该方法可以减少漏报,且测试效率与非域敏感版本相当. 相似文献
2.
区间算术在软件测试中的应用 总被引:10,自引:0,他引:10
程序结构测试可以分为4个阶段:静态分析、路径选择、测试数据生成和动态分析.本文应用区间算术在测试数据生成阶段对约束集求解.由于正则约束式的引入,能够处理复杂的逻辑表达式组,找到一组解以供第4阶段动态分析使用.文中提出的算法具有非常大的灵活性,可以处理非线性约束,经改进后,它甚至可以处理包含函数的表达式. 相似文献
3.
为利用软件测试活动检测到的缺陷信息进行测试活动的有效性评估,改进软件测试活动,提出一种基于缺陷度量和缺陷基线的测试有效性评估方法.以正交缺陷分类方法为基础建立软件缺陷的分类框架,研究缺陷触发特征、缺陷类型统计信息与测试活动的关联,建立缺陷关联基线.通过分析实际缺陷度量与缺陷基线的偏离情况,评估测试活动的有效性,明确测试活动的改进方向.实例分析表明,该模型能够便捷地应用于测试活动有效性的定性评估. 相似文献
4.
5.
《软件》2016,(11):146-149
随着信息技术的飞速发展,应用软件的规模不断扩大,越来越多的软件安全问题频频出现,因此如何保证和提高软件质量日益成为一个备受关注的问题。研究表明,在测试阶段修正错误所付出的成本比代码编写阶段多出10倍,因此以静态分析的方式来检测软件质量能大大降低投入成本。基于缺陷模式的软件测试是近些年发展起来的一种程序源代码静态分析技术,主要用于自动或者半自动的软件缺陷检测及预防,此类缺陷检测工具由于效率高和使用简单等特点在高可信软件测试中得到了广泛应用。所谓的缺陷模式,是指程序中经常发生的错误或缺陷所呈现出的特定规律。缺陷模式通常由具有领域程序设计经验的人或者测试人员总结出来。本文通过利用开源软件为实验工具,运用静态分析的相关理论,自定义检测器对软件项目做测试得出了一些存在的问题。 相似文献
6.
变量区间分析是程序代码数据流分析的重要部分。固件反汇编代码存在字节运算和位运算两类运算,当变量取值范围较大时,依次迭代法不能高效地分析经位运算后的结果的取值区间。提出一种快速位运算方法,即根据变量取值区间范围,先将变量转化为不确定位形式再进行位运算;提出一种区间生成算法,即把不确定位形式转化为区间来实现字节运算。实验结果表明,该基于位运算的固件代码变量区间分析方法在程序变量取值范围较大时效率远远高于依次迭代法,而且在各种变量取值区间范围内所需时间稳定,并随着区间范围的增大,其有略微下降趋势。 相似文献
7.
面向对象软件开发应用越来越广泛,自动化测试也随之被程序员认可和接受,随之而来的就是基于UML的软件开发技术的大范围普及和基于模型的软件测试技术的普遍应用。由于被测软件的特点不同,测试的目的也不尽然相同,测试模型相对应的就会有很多种类。笔者在本文详细描述了基于模型的软件测试技术的现状,同时对于不同模型在测试中适用情况做了深入的比较,主要讨论了有限状态机模型、马尔可夫链模型和UML模型。文章最后,笔者就该种测试方法的未来发展前景做了分析。 相似文献
8.
随着软件产业的飞速发展,人们对软件质量的要求也越来越高.现在,软件已经直接影响到了我们项目的成功和设备的安全.而软件中的复杂缺陷难以排除,因为它们涉及到许多程序要素之间的相互作用.论文扩展了基于信息流覆盖的缺陷定位技术.扩展后的技术融合了语句覆盖和分支覆盖技术,它还能定位复杂缺陷.试验结果表明,文中方法比基于语句覆盖、分支覆盖和定义使用对覆盖的方法要更可靠、更精确. 相似文献
9.
本文通过采用ARIMA模型(求和自回归滑动平均模型)对嵌入式软件项目开发中缺陷数量的预测方法进行了研究,提出将嵌入式软件项目测试过程中发现的缺陷数量,按时间顺序阶段作为时间序列事件数据,按照ARIMA(p,d,q)模型的方式,对此数据的时间过程进行分析与建模,根据所得模型对下一个相似的软件项目测试发现缺陷数量进行预测的方法。同时采用这种方法对实际项目数据进行了建模,利用所得模型进行了预测,并与实际项目的数据进行了比较,对更深一步的研究进行了讨论。 相似文献
10.
11.
通过对软件测试框架的研究,给出了测试框架表述的三层模型,并从研究解决的软件测试问题域出发,提出基于缺陷知识的测试框架,具体阐述了该测试框架的三层模型,并且实现了基于缺陷知识的静态分析和灰盒动态测试技术。该测试框架为后续测试技术的研究提供了整体的理论支持。 相似文献
12.
13.
14.
半监督软件缺陷挖掘研究综述 总被引:3,自引:0,他引:3
软件质量是计算机系统安全可靠运行的保障,而软件缺陷是导致软件质量低下的重要诱因。软件缺陷挖掘技术凭借其能够通过对软件代码及其相关数据进行分析建模,发现软件系统潜在的缺陷,已得到了软件质量保障领域的广泛关注。要准确发现软件模块中潜在的缺陷,需要利用大量带有缺陷情况标注的模块进行学习。然而,缺陷情况标注往往需要通过详细测试或人工代码检查获取,要消耗大量测试和人工资源,在实际应用中难以满足,这严重制约了软件缺陷挖掘的性能。针对这一问题,半监督学习技术被引入软件
缺陷挖掘,通过对大量缺少标注的模块进行利用,辅助提升软件缺陷挖掘的性能。本文对半监督缺陷挖掘技术的研究现状进行综述。首先综述了软件缺陷挖掘研究现状,然后简要介绍了半监督学习的4种学习范式;最后系统梳理了基于半监督学习进行软件缺陷挖掘的多种方法与技术。 相似文献
15.
目前的缺陷分析还是基于数据层面分析与预测,对软件测试工作的价值贡献受到局限。本文设计了一种基于三层知识模型的软件缺陷管理系统。通过把知识库的结构引入到软件缺陷管理中,把缺陷分析从数据管理层面提升为知识管理层面。通过事实知识层、中间层、策略层三层知识库结构对软件开发测试过程中产品产生的技术数据、管理过程数据进行采集沉淀,提取软件缺陷预测规则,并生成能指导软件测试工作的策略报告。有助于从根本上提升软件测试工作水平和效率。 相似文献
16.
17.
测试用例的数量和质量决定软件测试的成本和有效性。文中提出了一种基于UML面向对象软件静态测试的方法,论述了软件测试方法的分类、静态分析方法的基本测试框架及具体实现流程。针对面向对象软件的特点,静态测试主要是通过分析源程序得到类关系图,使测试人员能快速而清晰地了解程序结构,有效地设计测试用例。探讨了在对源程序进行充分的词法分析与语法分析的基础上,提取程序中类的有关信息,利用了数据库技术和UML图形模型,从而保证了分析结果的准确有效和标准化。 相似文献
18.
基于扩展有限状态机测试中测试输入数据自动选取的研究 总被引:11,自引:0,他引:11
扩展有限状态机(EFSM)模型是有限状态机(FSM)模型的一个扩展,它在FSM模型的基础上增加了变量、操作以及状态迁移的前置条件,通过EFSM我们可以更加精确地刻画软件系统的动态行为.基于EFSM的测试可以应用到许多领域,因此具有重要的研究价值和实际意义.许多研究人员已经提出了基于FSM测试的测试输入序列的构造方法,但基于EFSM的测试与FSM相比由于变量和状态迁移的前置条件的引入,增加了构造其测试输入的复杂性.我们认为基于EFSM测试的测试输入应该包含两个部分:即测试输入序列以及该输入序列上包含的输入变量的确定值(测试输入数据).手工选取这些测试数据的工作十分繁琐,极大地增加了测试的花费,因此自动选取这些测试数据可以大大提高实际测试工作的效率.该文提出一种基于EFSM测试的测试数据自动选取方法,该方法利用两个关键的步骤:①区间削减和②分段梯度最优下降算法来自动选取测试数据.实验表明利用该方法可以自动选取大部分的测试数据,并且收敛速度较快;在某些无法得到确定解的情况下,区间削减也可以为测试人员提供一个较小的输入变量取值区间,方便了测试人员从中手工选择测试数据. 相似文献