[发明专利]一种程序隐性约束提取方法及系统有效
| 申请号: | 201810215371.X | 申请日: | 2018-03-15 |
| 公开(公告)号: | CN108563561B | 公开(公告)日: | 2020-06-23 |
| 发明(设计)人: | 宫云战;张明哲;王雅文;金大海 | 申请(专利权)人: | 北京邮电大学 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36 |
| 代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 王莹;吴欢燕 |
| 地址: | 100876 北京市*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | 本发明提供一种程序隐性约束提取方法及系统,包括:对于待测程序中的任一函数,将任一路径上的入口节点作为当前节点;获取当前节点与任一函数对应的抽象语法树上对应的当前语法节点,若当前语法节点包含目标变量,获取目标变量类型,根据目标变量类型和作用于目标变量的运算符类型匹配隐性约束规则,提取目标变量的隐性约束;否则,将当前节点的下一个节点重新作为当前节点,重复上述步骤,直到任一路径的出口节点为当前节点。本发明提出一种程序隐性约束提取方法及系统,可以实现隐性约束的提取,可以在一定程度上减小目标变量的搜索空间,保证生成测试数据的正确性,进而确保后续测试数据顺利执行。 | ||
| 搜索关键词: | 一种 程序 隐性 约束 提取 方法 系统 | ||
【主权项】:
1.一种程序隐性约束提取方法,其特征在于,包括:S1,对于待测程序中的任一函数,获取所述任一函数的控制流图的入口节点到出口节点的任一路径,将所述任一路径上的入口节点作为当前节点;S2,获取所述当前节点与所述任一函数对应的抽象语法树上对应的当前语法节点,若所述当前语法节点对应赋值语句或分支语句,则对当前语法节点进行遍历访问,获取目标变量和作用于所述目标变量的运算符,根据所述目标变量类型和作用于所述目标变量的运算符类型,匹配对应的预设隐性约束规则,根据确定的预设隐性约束规则提取所述目标变量的隐性约束,所述目标变量为所述待测程序的输入变量或所述待测程序的全局变量;否则,将所述当前节点的下一个节点重新作为所述当前节点,重复上述步骤,直到所述任一路径的出口节点为当前节点。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京邮电大学,未经北京邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201810215371.X/,转载请声明来源钻瓜专利网。





