摘要:变异测试是一种有效的基于故障的测试方法,但大量冗余变异体所带来的昂贵的测试成本问题,阻碍了它在实际工程开发中的应用.为解决该问题,本文针对程序中的顺序语句所产生的变异体,基于故障的可达-感染-传播模型,提出了使用区间抽象域来表示程序状态,通过区间运算判断变异体之间冗余关系的算法;针对程序中的条件语句,基于谓词故障层级,分别给出了面向简单谓词和复合谓词的冗余变异体选择算法.并对这两种算法对冗余变异体的判定效果进行了分析,最后给出了在分层抽样背景下,非冗余变异体生成的约束边界条件.对Siemens和开源项目等共8个工程进行了实验,并与随机选择法进行了对比.结果表明,本文所提方法在减少变异测试时间成本的同时,可以保持较高的变异得分.
关键词:变异测试 变异算子 冗余变异体 变异成本 变异体约减
单位:北京邮电大学网络与交换技术国家重点实验室; 北京100876; 桂林电子科技大学广西云计算与大数据协同创新中心; 广西桂林541004; 桂林电子科技大学广西高校云计算与复杂系统重点实验室; 广西桂林541004; 长春汽车工业高等专科学校; 吉林长春130013
注:因版权方要求,不能公开全文,如需全文,请咨询杂志社