面向条件判定覆盖的线性拟合制导测试生成
发布时间:2018-04-16 03:33
本文选题:测试用例自动生成 + 条件判定覆盖 ; 参考:《软件学报》2016年03期
【摘要】:条件判定覆盖(condition/decision coverage,简称C/DC)准则是各种安全攸关软件测试中常用的测试覆盖准则,它要求软件测试覆盖程序中每个判定以及条件的真/假取值.现有的自动测试生成方法在针对该准则的测试用例生成过程中存在很多不足.例如:符号执行方法很难处理较为复杂的非线性条件约束,并在处理程序的规模上受到很大限制;希尔攀登法由于在搜索过程中易陷入局部最优,而难以达到满足C/DC准则的高覆盖率;模拟退火法和遗传算法依赖于用户使用过程中的复杂配置,测试用例生成效果具有一定的随机性.针对这一现状,提出了一种线性拟合制导测试用例生成方法.依据C/DC准则,该方法将程序中的每一个条件判定规范化为一个与零值比较的数值函数,并以插桩与执行获得该函数当前输入下的采样.通过拟合这些采样,能够逐步判断出程序中各个条件判定与输入的关系,并利用这些关系生成高覆盖率的测试用例.相对于传统方法,该方法具有参数配置简易、生成过程高效等优点,并且能够处理带非线性条件约束、逻辑复杂的程序.在3个开源软件库中的25个真实程序上运行的实验结果表明,所提出的方法比目前以覆盖率见长的遗传算法(genetic algorithm,简称GA)制导方法具备更好的覆盖能力与更高的执行效率.
[Abstract]:Conditional decision coverageC- / DCCcriterion is a commonly used test coverage criterion in all kinds of security related software testing. It requires each decision and the true / false value of the condition in the software test overlay program.The existing automatic test generation methods have many shortcomings in the test case generation for this criterion.For example, the symbolic execution method is very difficult to deal with more complex nonlinear constraints, and is limited in the size of the processing program; Hill's climbing method is prone to fall into local optimum in the search process.The simulated annealing method and genetic algorithm depend on the complex configuration in the process of user usage, and the test case generation effect is random.In view of this situation, a method of generating test cases for linear fitting guidance is proposed.According to the C/DC criterion, each condition decision in the program is normalized to a numerical function compared with zero value, and the sampling under the current input of the function is obtained by inserting the pile and executing it.By fitting these samples, we can judge the relationship between each condition and input in the program step by step, and use these relationships to generate test cases with high coverage.Compared with the traditional method, this method has the advantages of simple parameter configuration, high efficiency in generating process, and can deal with programs with nonlinear constraints and complicated logic.The experimental results on 25 real programs in 3 open source software libraries show that the proposed method has better coverage ability and higher execution efficiency than the genetic algorithm (GAGA) guidance method, which has good coverage.
【作者单位】: 计算机软件新技术国家重点实验室(南京大学);南京大学软件学院;南京大学计算机科学与技术系;
【基金】:国家自然科学基金(61402222,91318301,61561146394) 国家重点基础研究发展计划(973)(2014CB340703) 教育部高等学校博士学科点专项科研基金(20110091120058) 江苏省产学研项目(BY2014126-03)~~
【分类号】:TP311.53
【相似文献】
相关期刊论文 前8条
1 王静;;判定覆盖和条件覆盖的比较研究[J];软件导刊;2011年01期
2 张卫民;申敬松;;修正的条件/判定覆盖相关的问题[J];载人航天;2008年02期
3 岳海;任慧敏;;基于修正条件判定覆盖的软件测试技术研究和方法应用[J];航天控制;2012年03期
4 赵瑾,高建华;对修正条件/判定覆盖方法测试集个数的分析[J];微机发展;2005年10期
5 曹小鹏;孙家泽;;增强条件/判定覆盖(RC/DC)准则的研究[J];微电子学与计算机;2009年07期
6 朱晓波;杨伟民;叶芯;;更改条件/判定覆盖最小真值表生成算法及其应用[J];上海理工大学学报;2007年01期
7 叶振宇;基于MC/DC的软件模块可靠性估计[J];微型机与应用;2005年07期
8 ;[J];;年期
相关会议论文 前1条
1 张卫民;刘松毅;;关键软件测试结构覆盖要求分析[A];2008年航空试验测试技术峰会论文集[C];2008年
相关硕士学位论文 前1条
1 赵瑾;修正条件判定覆盖测试准则的研究与实现[D];上海师范大学;2006年
,本文编号:1757140
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/1757140.html