[发明专利]基于加权软件行为图的等价变异体检测方法在审
申请号: | 202210068537.6 | 申请日: | 2022-01-20 |
公开(公告)号: | CN114416570A | 公开(公告)日: | 2022-04-29 |
发明(设计)人: | 苏小红;龚丹;王甜甜;张彦航 | 申请(专利权)人: | 哈尔滨工业大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 哈尔滨龙科专利代理有限公司 23206 | 代理人: | 李智慧 |
地址: | 150001 黑龙*** | 国省代码: | 黑龙江;23 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 加权 软件 行为 等价 异体 检测 方法 | ||
本发明公开了一种基于加权软件行为图的等价变异体检测方法,首先解析原始程序和变异体的源代码,进行语句级插桩,为后续执行时捕获执行路径奠定基础。其次,分别运行原始程序和变异体,在相同的输入下,如果变异体的输出与原始程序的输出不一致,这类变异体一定是不等价的,直接排除,否则可能是等价的,继续后续处理。最后,逐一对比相同输入下变异体和原始程序的加权软件行为图,如果在任一输入下二者不相等,则该变异体与原始程序不等价,如果在全部输入下二者始终相等,则该变异体等价于原始程序。该方法既能够像人工判定时一样准确追踪程序的内部执行行为,提高等价变异体判断的准确性,又能够减少人工判定成本,提高等价变异体检测的效率。
技术领域
本发明属于计算机软件测试领域,涉及一种自动检测等价变异体的方法,具体涉及一种基于加权软件行为图的等价变异体检测方法。
背景技术
变异测试是一种基于错误的测试方法。该方法通过向原始程序植入简单的语法变更来模拟编程错误,从而得到原始程序的变异体。在给定测试集下运行原始程序和变异体,如果变异体的运行结果与原始程序的不同,则称该变异体被杀死,否则称该变异体存活。测试集能够杀死某变异体,就表明它能够检测到该变异体模拟的编程错误。被杀死的变异体占全部非等价变异体的比例称为变异得分。变异得分越高,则表示测试集能够检测到的编程错误越多,也就是说测试集的测试充分性越好。
等价变异体是一种特殊的变异体,它在任何输入数据下,都会与原始程序有相同的输出。这种变异体不能够代表编程错误,在计算变异得分时要被去除。但等价性的判定是异常困难的。当前普遍认为,人工判定是最准确的。
变异体可被杀死的三个条件分别是可达性、感染性和传播性。即发生变异的语句确实可被执行,该变异确实使得运行状态发生了变化,该状态变化从发生处可被传播到最终的输出。任一条件不满足,变异体都会存活下来,成为待判定的等价变异体。可达性易于处理,针对被变异的语句去优化测试集,实现语句覆盖即可,而如果某语句始终无法执行,则表明该语句是死语句,应该被去除,不在考虑的范围内。而感染性和传播性则必须追踪程序的执行,才能够捕捉到状态变化的发生,否则只对比输出将导致输出相同但内部行为不同的变异体被误判为等价变异体。
当前被普遍认可的等价变异体自动检测方法是平凡编译器等价技术(TrivialCompiler Equivalence,简称TCE,出自Papadakis,Jia和Harman等人在ICSE2015发表的论文“Trivial Compiler Equivalence:A Large Scale Empirical Study of a Simple,Fast and Effective Equivalent Mutant Detection Technique”)。该方法认为,程序的所有可执行语句都是来自源程序被编译后得到的目标代码,如果两个程序的目标代码相同,它们执行起来也一定是等价的。但是,已有的编译器优化规则有限,不能覆盖多样化的变异,更重要的是目标代码也是静态的,不能表达语句是否真的被执行以及执行多少次。
控制流图是一种表达程序行为的模型,包含了所有可执行的路径,而无法确定任一路径是否真的执行了。软件行为图压缩了控制流图,仅保留一次运行时的执行路径,但是仅能表示语句执行了或未执行,无法表达执行次数。在此基础上,加权软件行为图将语句的执行频度信息引入到软件行为模型中,更精确地抽象了软件动态行为,为更加准确地判断程序的行为是否等价贡献了重要作用。
发明内容
本发明的目的是提供一种基于加权软件行为图的等价变异体检测方法,该方法既能够像人工判定时一样准确追踪程序的内部执行行为,提高等价变异体判断的准确性,又能够减少人工判定成本,提高等价变异体检测的效率。由于加权软件行为图不仅能够表达语句是否执行,还能够表达语句的执行频度,因此能够更加准确地追踪程序的内部状态变化和传播情况。
本发明的目的是通过以下技术方案实现的:
一种基于加权软件行为图的等价变异体检测方法,包括如下步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于哈尔滨工业大学,未经哈尔滨工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210068537.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种财务管理装置
- 下一篇:一种文档的评论显示方法、装置、设备及介质