买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:北京思码逸科技有限公司;码睿科技(北京)有限公司;宁波思码逸科技有限公司
摘要:本公开的实施例公开了代码当量信息可视化方法、装置、电子设备和可读介质。该方法的一具体实施方式包括:响应于确定代码仓库中接收到提交的代码文件,对代码文件进行过滤处理,以生成过滤后代码文件;确定与代码文件对应的初始统一代码抽象语法树;对过滤后代码文件进行代码解析,以构建代码抽象语法树;构建与代码抽象语法树对应的统一代码抽象语法树;确定初始统一代码抽象语法树和统一代码抽象语法树的函数差异,以生成代码函数对集合;基于代码函数对集合,生成代码当量信息,以及将代码当量信息和统一代码抽象语法树进行可视化展示。该实施方式可以及时进行代码当量信息可视化。
主权项:1.一种代码当量信息可视化方法,包括:响应于确定代码仓库中接收到提交的代码文件,对所述代码文件进行过滤处理,以生成过滤后代码文件;确定与所述代码文件对应的初始统一代码抽象语法树;对所述过滤后代码文件进行代码解析,以构建代码抽象语法树;构建与所述代码抽象语法树对应的统一代码抽象语法树;确定所述初始统一代码抽象语法树和所述统一代码抽象语法树的函数差异,以生成代码函数对集合;基于所述代码函数对集合,生成代码当量信息,以及将所述代码当量信息和所述统一代码抽象语法树进行可视化展示;其中,所述基于所述代码函数对集合,生成代码当量信息,包括:基于所述代码函数对集合,生成统一代码抽象语法树中存在变化的各个节点对应的函数编辑脚本,其中,所述函数编辑脚本包括节点对应的编辑操作类型;确定所述代码函数对集合中每个代码函数对对应的代码类型,得到代码类型集;基于所述代码类型,对所述代码函数对集合中的各个代码函数对进行分组处理,得到第一代码函数对组和第二代码函数对组,其中,所述第一代码函数对组中各个第一代码函数对对应的代码类型为可编辑类型,所述第二代码函数对组中各个第二代码函数对对应的代码类型为不可编辑类型;基于所述函数编辑脚本包括的各个节点对应的编辑操作类型,确定所述第一代码函数对组中各个第一代码函数对的编辑动作类型权重,得到编辑动作类型权重集;确定所述第一代码函数对组中各个第一代码函数对的节点类型权重,得到节点类型权重集;确定所述第一代码函数对组中各个第一代码函数对的节点功能重复权重,得到节点功能重复权重集;确定所述第一代码函数对组中各个第一代码函数对的节点批量编辑权重,得到节点批量编辑权重集;确定所述第一代码函数对组中各个第一代码函数对的节点开源代码权重,得到节点开源代码权重集;确定所述第一代码函数对组中各个第一代码函数对的节点文件类型权重,得到节点文件类型权重集;确定所述第一代码函数对组中各个第一代码函数对的节点提交类型权重,得到节点提交类型权重集,其中,节点提交类型权重表征节点对应的代码函数在提交至代码仓库时的类型对应的权重,代码函数提交至代码仓库时的类型包括以下至少一项:恢复类型、筛选类型、合并类型、修改以及筛选类型、批量插入类型、批量删除类型和黑名单类型;基于所述编辑动作类型权重集、所述节点类型权重集、所述节点功能重复权重集、所述节点批量编辑权重集、所述节点开源代码权重集、所述节点文件类型权重集、所述节点提交类型权重集,确定与所述第一代码函数对组中每个第一代码函数对对应的第一代码当量信息,以生成第一代码当量信息集;确定所述第二代码函数对组中各个所述第二代码函数对对应的代码修改行数,得到代码修改行数集;基于预设的语言函数权重对照表,确定所述第二代码函数对组中各个第二代码函数对的节点线差异权重,得到节点线差异权重集;利用所述代码修改行数集和所述节点线差异权重集,确定所述第二代码函数对组中每个第二代码函数对的第二代码当量信息,以生成第二代码当量信息集;将所述第一代码当量信息集和所述第二代码当量信息集确定为代码当量信息。
全文数据:
权利要求:
百度查询: 北京思码逸科技有限公司 码睿科技(北京)有限公司 宁波思码逸科技有限公司 代码当量信息可视化方法、装置、电子设备和可读介质
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。