[发明专利]一种基于数据流和状态机的模型覆盖率分析统计方法在审
| 申请号: | 202310540000.X | 申请日: | 2023-05-15 |
| 公开(公告)号: | CN116627806A | 公开(公告)日: | 2023-08-22 |
| 发明(设计)人: | 黄丽桃;王彦芳;高栋栋;陈睿;江云松;张小龙;杨帆 | 申请(专利权)人: | 北京轩宇信息技术有限公司 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36 |
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 |
| 地址: | 101300 北京市顺义*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 数据流 状态机 模型 覆盖率 分析 统计 方法 | ||
1.一种基于数据流和状态机的模型覆盖率分析统计方法,包括步骤一,分析数据流和状态机模型;步骤二,条件关键点分析;步骤三,生成模型代码;步骤四,执行及覆盖率分析;其特征在于:
其中在上述步骤一中,通过遍历获取数据流模型的所有输入输出节点和计算操作节点;获取状态机模型的状态节点和有向边;
其中在上述步骤二中,按照节点类型和有向边的条件统计基本块,进行关键点分析和统计;
其中在上述步骤三中,将模型生成代码并依据分析统计结果进行插桩;对模型进行仿真;记录关键点覆盖情况;
其中在上述步骤四中,以模型和子模型的维度进行统计分析。
2.根据权利要求1所述的一种基于数据流和状态机的模型覆盖率分析统计方法,其特征在于:所述步骤一中,对于数据流模型进行遍历:根据输出节点获取以其为终止节点的有向边;根据有向边查找其起始节点;重复上述两步,直至找到节点满足以下条件:没有其作为终止节点的有向边;遍历过程中,遍历到的每个节点都作为一个基本块;遍历过程中收集每个节点的类型,根据节点类型收集节点属性;输入节点和输出节点收集数据类型;计算操作节点分为当前层逻辑和子模型层逻辑:简单计算操作节点和复杂计算操作节点的当前层逻辑收集输入个数和输入数据类型、输出个数和输出数据类型;复杂计算操作节点的子逻辑层逻辑不在当前层次中收集。
3.根据权利要求1所述的一种基于数据流和状态机的模型覆盖率分析统计方法,其特征在于:所述步骤一中,对于状态机模型进行遍历:根据初始状态节点查找其作为起始点的有向边;根据有向边查找其终止节点;重复上述两步,直至找到的节点满足以下条件:该节点已经被遍历过;遍历过程中每个节点作为一个基本块,每条有向边作为一个基本块;遍历过程中收集每个节点的类型和有向边的条件;状态操作节点分为当前层逻辑和子模型层逻辑;简单状态节点和复杂状态节点的当前逻辑收集,包含节点预期状态收集和以该节点为起点的有向边条件变量收集;复杂状态节点的子逻辑层逻辑收集不在当前层中进行。
4.根据权利要求3所述的一种基于数据流和状态机的模型覆盖率分析统计方法,其特征在于:所述步骤一中,对于包含子模型的节点,递归向下逐层分析;对于子模型的数据流和状态机,采取同首层一致的数据流模型和状态机模型的分析方法,直至找到的所有节点满足以下条件:对于数据流模型,所有的计算操作节点都为简单计算操作节点;对于状态机模型,所有的状态节点都是简单状态节点;遍历完成后数据流和状态机模型中的元素和基本块的对应关系如表1。
5.根据权利要求1所述的一种基于数据流和状态机的模型覆盖率分析统计方法,其特征在于:所述步骤二中,对于当前层模型中收集到的关键点进行分析,遵循以下规则:数据流图的输入变量关键点和输出变量关键点:查看变量类型,布尔类型变量的关键点有true和false共计两个,其他类型变量的关键点有value共计一个;数据流图的操作计算节点关键点:查看输入类型和输出类型,布尔类型输入输出的关键点有true和false共计两个,其他类型输入输出的关键点有value共计一个;输入变量、输出变量的关键点逻辑如表2;遍历过程收集计算操作节点关键点如表3。
6.根据权利要求1所述的一种基于数据流和状态机的模型覆盖率分析统计方法,其特征在于:所述步骤二中,状态机图的状态节点关键点:节点的active共计一个,以状态为起点的每个跃迁条件,具有条件满足与条件不满足共计两个;遍历过程收集状态节点的关键点如表4;编辑过程收集状态跃迁条件满足情况的关键点如表5。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京轩宇信息技术有限公司,未经北京轩宇信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310540000.X/1.html,转载请声明来源钻瓜专利网。





