摘要
本发明公开了一种基于AST抽象语法树的有效代码度量方法,包括以下步骤:S1.读取代码仓库中的变更前与变更后的源代码文件;S2.对获取到的源代码文件通过ASTs进行树状转换,分别生成变更前与变更后的树状AST;S3.遍历变更前与变更后的树状AST,通过对比生成Tree diff变更节点;S4.根据生成的Tree diff变更节点类型进行加权计算,获得有效代码量。本发明通过AST级比对,可精准识别代码重构(如方法移动)、功能修改等传统diff工具难以检测的语义变更,排除源代码级别的噪音,比如空格、死代码等,可应用编译优化技术,使评估更加准确。
技术关键词
代码仓库
语法结构
度量
编译优化技术
深度优先遍历
移动节点
语义
自动机
标识
格式化
序列
脚本
重构
冗余
模式