线性拟合制导的面向CDC/MCDC的测试用例自动生成方法

来源 :南京大学 | 被引量 : 0次 | 上传用户:binfeb91
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
测试是软件开发过程中的重要环节,是工业界常用的质量保障手段。为满足测试充分覆盖的要求,测试人员需要花费大量的时间和精力来设计测试用例。测试用例自动生成技术针对给定的测试覆盖准则自动生成有效的测试用例,从而减少测试人员的工作量,降低软件生产成本,是软件测试技术研究的一个重要方向。在白盒测试中,条件判定覆盖(CDC)和改进的条件判定覆盖(MCDC)是各种安全攸关软件测试中常用的测试覆盖准则。由于非线性运算的存在,相应的测试用例自动生成问题已经被理论证明是NP问题。目前的研究工作主要采用符号执行技术和启发式搜索方法探寻满足程序约束条件的解。符号执行技术受制于当前的约束求解器不能有效求解非线性约束条件;启发式搜索方法(主要代表是基于遗传算法的搜索和基于模拟退火算法的搜索)的主要问题在于搜索区间不可扩展且搜索的效能受到多个参数的影响,从而针对一个具体程序找到最优的参数设定是非常困难的。分量线性拟合法也是一种启发式搜索方法,但是不同于基于遗传算法的搜索和基于模拟退火算法的搜索,分量线性拟合法不采用适应度函数,而是借鉴了程序中的条件是关于程序输入的函数这一特性,通过线性拟合关于条件的输入分量函数来预测问题的解,具有搜索空间可扩展、可以处理非线性约束和浮点型计算、参数设定简单等特点,已经被应用于解决面向路径的测试用例生成问题。本文面向条件判定覆盖和改进的条件判定覆盖准则,研究基于分量线性拟合法的测试用例自动生成技术,主要工作包括以下两个方面:·针对条件判定覆盖和改进的条件判定覆盖准则,提出基于边界区间上分量线性拟合函数的区间扩展法和基于可变区间的搜索机制,在此基础上提出了基于分量线性拟合方法的CDC/MCDC测试用例自动生成算法。该算法能够处理复合约束条件、非线性条件以及浮点型条件。它首先设定一个分量作为自变量,然后随机的生成一组输入来执行待测程序,记录执行过程经过条件语句的点集合,紧接着以这些点为样本来计算条件关于自变量的分量线性拟合函数,并用该函数预测条件的变化趋势,进而获得可能的输入。算法不断地重复执行程序和拟合分析可能输入,在搜索到所求的解或达到搜索阈值后停止。·设计并实现了原型工具:CLF-CDC,该工具为一款eclipse插件,能够为C函数自动生成满足CDC覆盖准则的测试用例。为了评价CLF生成测试用例的能力和性能,本文从数学包Numerical Recipes和开源网站选取了 25个基准C程序,将CLF算法与GA算法生成的测试用例的覆盖率和生成测试用例的时间进行对比了实验。基于统计性检验方法检测两种方法的覆盖效果和性能是否具有显著性差异。实验结果表明,CLF在生成测试用例的能力上优于GA,特别地,CLF能够覆盖更多的极值条件。从性能上看,CLF覆盖一个条件所花费的时间和最优参数下的GA相当,但CLF算法不需要寻找最优的参数设定。
其他文献
目的:急性缺血性脑卒中为临床多见卒中类型,占据了临床卒中类型的80%以上,有发病急、病情变化快、致残率、致死率高等特征,对患者的生活与生存质量产生了严重威胁,对患者家庭和社会带来了沉重的医疗负担。指南指出累及大血管或血管主干的病变推荐4.5h内应用阿替普酶静脉溶栓,但往往效果不佳;近几年“动静脉桥接技术”逐渐发展起来,能有效提高血管再通率,但取栓过程中支架会对血管内皮产生剪切力等损伤,从而造成再通
学位
经筋疗法是基于传统经筋理论指导下的各种经筋病治疗方法,其在中医长达数千年的历史中虽被广泛践行,但与占主导地位的经脉理论相反,其相关理论发挥与临床方法创新却鲜有阐述.
本论文研究目的是通过对跳台出发动作技术的研究、改革和实验,达到提高游泳运动员出发起跳距离,进而提高游泳竞赛成绩的目的。从流体力学、生物力学和结构力学等理论角度,对
随着数据存储技术的快速发展,存储设备生产成本的急剧下降,大容量存储设备逐渐被越来越多的企业应用于保存海量的数据资源,比如电子邮件、技术文档、业务数据等。随着使用时
无线传感器网络融合了网络通信、微型传感器等多学科技术,在军事、防灾、交通、医疗等各个领域都有着广泛的应用前景,并随着物联网概念的普及而引起了国际学术界的广泛关注和
研究目的将心脏神经官能症(CN)患者作为研究对象,探讨该类患者体质类型分布规律。应用“辨体-辨证-辨病”三维辨治疗法,观察临床疗效。总结汤毅主任治疗CN患者的临床经验。为应用三维辨治疗法治疗CN提供新的临床依据。研究方法本研究采用横断面研究方法,让患者填写资料收集表,同时对患者进行体质辨识量表、症状积分量表的评测并记录数据,患者治疗8周后复测症状积分量表。对比患者治疗前后各量表数据的变化。口服汤剂
随着科学技术的进步和人们对太空领域不断的探索,卫星技术也得到了不断的提升以及飞速的发展,这也使得卫星在现代社会中军事领域、商用领域以及民用领域所扮演的角色越来越重
群体模式是利用群体的智慧完成相关工作的一种新兴模式。随着近些年互联网的快速发展和普及,群体模式在很多社会创新领域被采用。研究者将群体模式引入软件工程领域并提出群
制定行之有效的教师激励机制是每所高校都应予以考虑的问题,是关系到大学教师能否实现育人功能的重要支撑。渤海大学作为一所地方高校,于2014年提出“转动课堂”教学模式,改
布鲁姆过滤器(Bloomfilter)是一种具有空间节俭、查询高效的数据结构。在无线传感网中,一种将信息加密传输的方式是,在传输的每一个节点中进行消息的加密和解密,频繁的加密和