版权所有:内蒙古大学图书馆 技术提供:维普资讯• 智图
内蒙古自治区呼和浩特市赛罕区大学西街235号 邮编: 010021
专利申请号:CN201810490655.X
公 开 号:CN110515823B
发 明 人:王飞
代 理 人:北京清亦华知识产权代理事务所(普通合伙)宋合成
代理机构:北京清亦华知识产权代理事务所(普通合伙)
专利类型:发明专利
申 请 日:20230407
公 开 日:20180521
专利主分类号:G06F11/36
关 键 词:复杂度 父子关系 根节点 查询 程序代码 语法树 层级 顺序标注 标注 方法和装置 复杂度计算 复杂度评估 代码分支 节点标注 节点代码 叶子节点 代码层 嵌套层 正向
摘 要:本发明提出一种程序代码复杂度评估方法和装置,其中,方法包括:根据程序代码,生成对应的语法树;将语法树的根节点作为首个代码层级,并从根节点开始,根据各节点之间的父子关系,对各节点顺序标注对应的代码层级;从语法树中代码层数最高的叶子节点开始,查询具有父子关系的节点,并对查询到的节点继续查询具有父子关系的节点,直至查询到节点为根节点后停止查询,并对查询到的各节点标注复杂度;根据根节点标注的复杂度,确定程序代码的复杂度最大值。该方法通过依据父子关系正向顺序标注各节点代码层级后,反向标注复杂度,从而确定复杂度最大值,解决了现有技术中在代码分支较多且嵌套层数不等的情况下,复杂度计算效率较低的技术问题。