首页 | 官方网站   微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 32 毫秒
1.
基于谓词切片的字符串测试数据自动生成   总被引:3,自引:0,他引:3  
字符串谓词使用相当普遍,如何实现字符串测试数据的自动生成是一个有待解决的问题,针对字符串谓词,讨论了路径Path上给定谓词的谓词切片的动态生成算法,以及基于谓词切片的字符串测试数据自动生成方法,并给出了字符串间距离的定义,利用程序DUC(Definithon-Use-Control)表达式,构造谓词的谓词切片,对任意的输入,通过执行谓词切片,获取谓词中变量的当前值,进而对谓词中变量的每一字符进行分支函数极小化,动态生成给定字符串谓词边界的ON-OFF测试点,实验表明,该方法是行之有效的。  相似文献   

2.
基于Z规格说明的软件测试用例自动生成   总被引:17,自引:1,他引:16  
提出了一种基于Z规格说明的软件测试用例自动生成方法,通过对软件Z规格说明的分析,找出描述软件输入、输出约束的线性谓词,经过经性谓词转换,线性谓词到线性不等式组的转换,找出区域边界顶点和边界附近的测试点等过程自动生成测试用例。同时还介绍了基于Z规格说明的软件测试用例自动生成方法的实例,并通过一个实例进一步加以说明。  相似文献   

3.
一种基于路径的测试数据自动生成算法   总被引:3,自引:0,他引:3  
陈继锋  朱利  沈钧毅  陈玲 《控制与决策》2005,20(9):1065-1068
提出了一种新的基于路径测试数据自动生成的算法,该算法将路径中的线性谓词函数直接作为线性算术表示来构造谓词函数关于输入变量的线性约束,仅当谓词函数是输入变量的非线性函数时,才计算其线性算术表示,因而不必计算所有谓词函数的线性算术表示,也不必计算谓词片和确定输入依赖集,以及构造谓词函数关于输入变量的增量的线性约束,理论分析和实例证明,该算法具有简单、容易、有效且计算量小等特点。  相似文献   

4.
通过构造新的程序流图,利用Fibonacci法优化选取路径.为指定的分支生成测试数据。提出了路径测试数据生成代价的概念,并给出了代价的计算方法。当所选路径的分支谓词均为线性表达式时,直接求解线性约束集即可生成测试数据,或判定路径不可行;当分支谓词含有非线性表达式时,利用均差近似导数将非线性函数线性化,通过简单的迭代,亦能容易生成测试数据或判定路径在很大程度上不可行。若所选路径不可行或在很大程度上不可行,则选取新的路径,重复以上过程,直至求出所期望的数据,或无新的路径被选取,给定分支不可达。实例和实验表明,算法可行、有效。  相似文献   

5.
软件测试是保证软件可靠性的一个重要手段.面向路径测试是软件测试中一种重要方法.提出了一种分支函数线性逼近的测试数据自动生成算法.结合赵瑞莲给出的谓词切片算法和程序DUC表达方式以及本文提出的算法,给出了一个基于程序执行的路径测试及测试数据自动生成新算法.由于算法采用DUC表达式,不仅可以从源端判断子路径是否可行,而且有效地降低了不可行路径对算法性能的影响.另外,与现有文献中单纯利用分支函数极小化方法的算法相比,新算法由于有机结合了分支函数线性逼近和极小化方法的长处,因此减少了测试用例的数量,提高了测试效率.  相似文献   

6.
针对字符串测试数据自动生成,讨论了字符串间的距离,将不满足路径条件的字符串谓词表示成一个实值目标函数;利用快速下降搜索算法实施目标函数极小化,实现了基于搜索的面向路径字符串测试数据自动生成方法;探讨了其测试数据生成效率与初始输入、路径处理顺序之间的关系,并与遗传算法等几种算法进行了比较.实验结果表明:该方法是一种更经济有效的测试数据生成方法.  相似文献   

7.
目前BWDSP104X编译器对程序中条件分支的处理是采用传统的谓词优化方法,及每条指令和一个谓词相关,只有当谓词为真时指令才被执行,但它存在的局限性是当涉及到多条件谓词时,并不能消除跳转分支,且多条件谓词之间可能存在控制依赖关系,不利于指令并行和指令流水. 因此在现有编译器框架下,针对传统谓词优化方法的不足之处,本文提出一种基于BWDSP104X体系结构下多条件谓词编译优化方法. 实验结果表明,与传统谓词优化方法相比,该优化算法在BWDSP104X编译器上能够取得平均5.62的加速比.  相似文献   

8.
田祖伟  孙光 《计算机科学》2010,37(5):130-133
程序中大量分支指令的存在,严重制约了体系结构和编译器开发并行性的能力。有效发掘指令级并行性的一个主要挑战是要克服分支指令带来的限制。利用谓词执行可有效地删除分支,将分支指令转换为谓词代码,从而扩大了指令调度的范围并且删除了分支误测带来的性能损失。阐述了基于谓词代码的指令调度、软件流水、寄存器分配、指令归并等编译优化技术。设计并实现了一个基于谓词代码的指令调度算法。实验表明,对谓词代码进行编译优化,能有效提高指令并行度,缩短代码执行时间,提高程序性能。  相似文献   

9.
陈继锋 《计算机科学》2008,35(7):274-276
提出了一种新的带数组和循环的路径测试数据自动生成的方法.该方法只考虑数组中与路径中谓词函数有关的数组元素,将循环中的同一变量名在每一次执行时用不同的变量参数来替代,从而较好地解决了路径中数组循环有效处理的问题.为有效、简单地自动生成测试数据,建立了谓词函数关于输入变量的线性约束系统.当谓词函数为线性表达式时,不需要计算其线性算术表示,仅计算非线性函数谓词函数的线性算术表示,且不需计算路径中的谓词片和确定输入依赖集,以及构造谓词函数关于输入变量增量的线性约束系统.理论分析和实例验证该方法具有简单、直观、有效且计算量小等特点.  相似文献   

10.
《计算机》1999,(35)
DIP Switch设定法 DIP Switch 可说较Jumper方便,同样要调整ON/OFF的位置,不过只要调整按键上或下即可,不用手拿小小的Jumper——插上,实地使用后会发现比较好操作。采用DIP Switch已是技嘉主机板的一大特色,这里就以技嘉GA-6BEX主机板为例,图5是GA6BEX的倍频表、外频表,左边的表格是倍频表,右边的表格是外频表。PentiumⅡ350的倍频应调整为3.5所以DIP1~4的位置应该是OFF、OFF、ON、ON;外频要调整成100MHz,所以DIP5~8的位置应该是OFF、OFF、OFF、OFF。经过调整之后,DIP Switch应该呈现如图6的设定,也就是OFF、OFF、ON、ON、OFF、OFF、OFF、OFF。  相似文献   

11.
李刚  于磊  孙回回  张兴隆  侯韶凡 《计算机科学》2016,43(11):252-256, 279
基于搜索的算法在以路径覆盖为目标的测试数据生成中应用广泛。然而对于字符串型测试数据的生成,现有方法效率不高。为了高效地生成字符串型测试数据,提出了一种基于变异粒子群算法的字符串型测试数据自动生成方法。在随机生成初始种群后,采用粒子群算法使种群在趋近最优个体的过程中实现进化,并以一定的概率对种群中的个体进行变异操作,以避免进化过程陷入局部最优。为了有效地指导种群进化过程,对经典适应度函数中分支距离的计算方法进行改进,使其适用于含有字符串型参数的程序。实验结果表明,该方法具有较高的成功率和稳定性,且能明显提升测试数据生成效率。  相似文献   

12.
基于选择性冗余思想,提出了一种测试数据自动生成算法.算法首先利用分支函数线性逼近和极小化方法,找出程序中所有可行路径,同时对部分可行路径自动生成适合的初始测试数据集;当利用分支函数线性逼近和极小化方法无法得到正确的测试数据时,基于使得测试数据集最小的原理和选择性冗余思想,针对未被初始测试数据集覆盖的谓词和子路径进行测试数据的增补.由于新算法结合谓词切片和DUC表达式,可以从源端判断子路径是否可行,因此能有效地降低不可行路径对算法性能的影响.算法分析和实验结果表明,该算法有效地减少了测试数据数量,提高了测试性能.  相似文献   

13.
冯玉才  余艳  周淳 《计算机工程》2004,30(12):68-70
研究了Gupta方法中的关键步骤——谓词函数的线性约束系统的建立,指出用Gupta方法建立的线性约束系统本身可能存在不相容、无法找到测试数据的问题;提出了一种算法来解决这一问题,提高了软件测试数据自动生成的有效性。  相似文献   

14.
Gupta方法的改进   总被引:2,自引:0,他引:2  
单锦辉  王戟  齐治昌  吴建平 《计算机学报》2002,25(12):1378-1386
Gupta等提出一种线性化谓词函数的方法(简称Gupta方法),为指定程序路径自动生成测试数据。该文给出了一种模型语言,研究静态,动态数据依赖关系的性质以及Gupta方法中各概念的形式化定义,将Gupta等提出的谓词出推广为路径静态切片,证明了路径静态切片构造算法的正确性,对Gupta方法的改进,省略了构造谓词片和输入依赖集的过程,改进后的方法构造线性约束的效率更高,以改进后的方法为核心算法,开发了面向路径的测试数据自动生成的原型工具,并用实际的程序路径对该工具进行实际,结果表明改进后的方法是比较有效的。  相似文献   

15.
由于现代网络数据量的急速增长,利用现有的算法生成关联规则时,冗余规则的数量远远大于实际有价值的规则,冗余规则不仅影响用户分析,而且使关联规则的利用率也大大降低。针对关联规则的冗余问题,提出了一种基于一阶谓词公式去除商务数据冗余关联规则的方法,利用一阶谓词公式来表示关联规则,通过等价公式进行转换,并利用算法和矩阵等价将谓词公式转换为邻接矩阵,然后利用冗余规则算法进行删除。实验原始数据为UCI数据集,并利用Weka生成关联规则。最后利用Matlab和Java实现冗余规则的去除。  相似文献   

16.
苏欣  缪力 《计算机系统应用》2012,21(11):198-201,207
谓词切换(Predicate Switching)通过动态改变程序中的谓词判断语句状态观察程序运行结果的变化,分析可能与错误相关的关键谓词判断语句,从而实现辅助错误定位.谓词判断语句排序算法决定了谓词切换定位关键谓词判断语句的效率.已有的排序算法如LEFS算法定位效率较低;PRIOR算法虽然提高了定位效率,但必须首先做程序动态切片找寻与错误相关的谓词判断语句集合,而后建立程序依赖图以定义谓词判断语句的优先级,这个过程需要花费大量的时间,且算法复杂度较高.在这两种算法基础上提出一种新的改进排序算法,首先通过对比成功和失败的测试用例在运行中所展现出来不同程序行为特征,以此定义谓词判断语句的优先级,然后对不同优先级别的谓词根据执行先后顺序进行反向排序.基于基准测试集SiemensSuite的程序进行了实验,结果表明本文的排序算法与LEFS算法相比定位效率更高,与PRIOR算法相比减少定义谓词优先级的耗费,且算法更易于实现.  相似文献   

17.
为对带谓词的数据流进行准确而有效的分析,首先介绍了John W.Sias等人提出的一种基于二进制决策图(BDD)的谓词分析系统(PAS);然后在其基础上,提出了结合芯片自身体系结构特点的谓词优化算法。将PAS及优化算法在学院研制的FT_D4芯片的编译器上实现,实验结果表明,这种基于BDD的谓词分析与优化方法简化了程序控制结构,减少了对谓词寄存器的使用,缩短了代码执行时间,性能获得了较大的提高。  相似文献   

18.
面向方面程序设计是面向对象程序设计技术的补充和完善,高效的面向方面程序测试方法是面向方面程序的质量保证.提出一个基于谓词动态切片技术的测试方法.首先,构造完整的AOP语句控制流图,它包含AOP的方面、切入点、连接点、建议等因素.然后,根据完整的AOP语句控制流图生成所有路径,针对每条路径,构造其分支函数,计算得到相应的测试数据,若路径不可执行,则不再计算其测试数据.在这个过程中,通过构建简化动态依赖图来生成谓词动态切片,再用谓词动态切片来帮助调整测试数据.最后,将各路径的实际输出数据与期望输出数据相比较,即可判断该程序是否有错误.经实例分析和实验验证,此方法可以系统地测试一个完整的面向方面程序,提高了测试数据的生成效率,并产生有效的测试用例.  相似文献   

19.
谓词执行能使分片式处理器充分利用众多的执行单元,开发指令级并行性.但因此形成的超块也使得分支误预测代价增大,所以提高分支预测器的性能至关重要.本文提出一种基于剖析信息决策的谓词执行技术,该技术利用剖析信息对谓词执行前后的执行周期进行估算,从而对分支的谓词执行进行决策.该技术使分支预测器的命中率提高了0.68%~3.50%,使系统性能提高了1.67%~8.33%.同时,利用select指令表示谓词化指令也消除了重命名阶段寄存器多定义问题.  相似文献   

20.
对采用谓词执行优化技术后的编译代码,为了更高效地进行寄存器分配,首先介绍了Sias等人提出的一种基于二进制决策图(BDD)的谓词分析系统;然后在其基础上,对传统寄存器分配算法进行改进,给出了一种建立精化干涉图的新算法;最后将算法在学院研制的YHFT—DSP/700芯片的编译器上实现,实验结果表明,减少了所需寄存器数目,缩短了代码执行时间,获得了较好的性能提高.  相似文献   

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

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

京公网安备 11010802026262号