[发明专利]一种面向程序状态的故障分类方法、变异测试方法及设备有效
申请号: | 201810204976.9 | 申请日: | 2018-03-13 |
公开(公告)号: | CN108664391B | 公开(公告)日: | 2021-03-23 |
发明(设计)人: | 王雅文;林欢;宫云战;金大海 | 申请(专利权)人: | 北京邮电大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 王莹;吴欢燕 |
地址: | 100876 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 程序 状态 故障 分类 方法 变异 测试 设备 | ||
1.一种面向程序状态的故障分类方法,其特征在于,包括:
基于待测源程序的语法对应的变异算子,为所述待测源程序的每条语句构造故障节点集和状态变异点集;
基于所述故障节点集、所述状态变异点集、所述每条语句的状态变异之间的触发关系和传播关系,构造所述待测源程序的变异流图;
根据所述变异流图的直接后向支配关系,构造故障类支配树,以对所述待测源程序进行故障分类;
所述基于所述故障节点集、所述状态变异点集、所述每条语句的状态变异之间的触发关系和传播关系,构造所述待测源程序的变异流图,具体包括:
对于每条语句,若语句的故障程序的执行会改变所述语句的源程序执行后的变量的取值,则构造所述语句的状态变异之间的触发关系;
对于每条语句,若语句的第一状态变异通过输入和执行会在第二语句的输出变量上产生第二状态变异,则构造从所述第一状态变异到所述第二状态变异之间的传播关系;
以所述故障节点集和状态变异点集中的点为节点、以所述触发关系和传播关系为有向边,构造所述待测源程序的变异流图。
2.根据权利要求1所述的方法,其特征在于,所述基于待测源程序的语法对应的变异算子,为所述待测源程序的每条语句构造故障节点集和状态变异点集,具体包括:
基于待测源程序的语法对应的变异算子,为所述待测源程序的每条语句构造对应于每个变异算子的故障节点,所有故障节点组成故障节点集;
为所述待测源程序的每条语句构造变量状态变异点,所有变量状态变异点组成状态变异点集;所述变量状态变异点由包括第一数据、第二数据和第三数据的三元组表示,其中,第一数据表示变量名,第二数据表示程序语句点,第三数据表示第一数据的状态值在故障程序与源程序间的相对变化。
3.根据权利要求2所述的方法,其特征在于,所述第一状态变异到所述第二状态变异之间的传播关系,包括数据传播关系、控制传播关系和操作传播关系;
所述数据传播关系为:若第二语句使用了最后一次在第一语句中重定义的变量,且所述第二语句的直接数据依赖于所述第一语句,则从所述第一语句的状态变异到所述第二语句的状态变异之间的数据传播关系;
所述控制传播关系为:若第一语句的直接控制依赖于条件谓词,则构造从所述第一语句的输出变量的状态变异到所述条件谓词的状态变异的控制传播关系;
所述操作传播关系为:对于指令语句的每个重定义变量和每个使用变量,都构造从使用变量的状态变异到重定义变量直接的状态变异的操作传播关系。
4.根据权利要求2所述的方法,其特征在于,所述根据所述变异流图的直接后向支配关系,构造故障类支配树,以对所述待测源程序进行故障分类,具体包括:
根据所述变异流图直接后向支配关系,构造变异支配树;
根据所述变异支配树,对于状态变异点集中的每个变量状态变异点,为变量状态变异点构造一个故障类;
根据所有的故障类,构造故障类支配树,将所有被所述变量状态变异点后向支配的故障归纳到所述故障类中,以实现对所述待测源程序进行故障分类。
5.一种面向程序状态的变异测试方法,其特征在于,包括:
为待测源程序构造权利要求1-4任一项所述一种面向程序状态的故障分类方法的故障类支配树;
自上而下遍历故障类支配树的每个故障类,对所述每个故障类进行测试和变异评估,以对所述待测源程序进行变异测试。
6.根据权利要求5所述的方法,其特征在于,所述自上而下遍历故障类支配树的每个故障类,对所述每个故障类进行测试和变异评估,以对所述待测源程序进行变异测试,具体包括:
自上而下遍历故障类支配树的每个故障类Cm;
测试所述每个故障类Cm的故障,获得所述每个故障类Cm的变异评估分数score(Cm,T),其中T为待评估的测试用例集;
根据下式计算所述待测源程序的故障节点集的变异评估分数:其中MT为故障节点集。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京邮电大学,未经北京邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810204976.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种内存泄露检测方法及设备
- 下一篇:一种应用测试方法、装置、终端及存储介质