[发明专利]一种软件代码片段历史追溯的方法有效
申请号: | 201910801120.4 | 申请日: | 2019-08-28 |
公开(公告)号: | CN110532019B | 公开(公告)日: | 2021-03-12 |
发明(设计)人: | 邹艳珍;潘兴禄;曹英魁;谢冰 | 申请(专利权)人: | 北京大学 |
主分类号: | G06F8/70 | 分类号: | G06F8/70 |
代理公司: | 北京君尚知识产权代理有限公司 11200 | 代理人: | 司立彬 |
地址: | 100871 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种软件代码片段历史追溯的方法,其步骤包括:1)对于每一目标软件项目,从Git版本控制系统中采集该项目的各版本代码提交信息,得到该项目的Git库,从Jira缺陷追踪系统中采集该项目的Issue数据;2)对于一待查询的代码片段,首先扫描对应项目的Git库,定位该代码片段所属版本的类文件,然后获取该类文件的所有版本;然后对各个版本代码构建抽象语法树AST,并且对相邻版本的AST的节点进行匹配,获得相邻版本中相关代码片段;3)比较代码片段是否相同,如果相同,过滤掉后一个版本的代码片段;最终,通过过滤保留发生更改的代码片段,以时间轴的方式展示其对应版本的代码提交信息和相关Issue信息。 | ||
搜索关键词: | 一种 软件 代码 片段 历史 追溯 方法 | ||
【主权项】:
1.一种软件代码片段历史追溯的方法,其步骤包括:/n1)对于每一目标软件项目,从Git版本控制系统采集该目标软件项目的各版本的代码提交信息,得到对应目标软件项目的Git库,从Jira缺陷追踪系统采集该目标软件项目的Issue数据;然后将所述代码提交信息和所述Issue数据分别作为实体存入到图数据库neo4j中,其中如果一个代码提交信息中描述了相关的Issue id号,则建立该代码提交信息与对应Issue数据之间的关联;/n2)对于一待查询的最新版本的代码片段及其所属的类型,首先扫描对应软件项目的Git库,定位该代码片段所属版本的类文件,然后获取该类文件的所有版本;然后对该类文件的各个版本代码构建抽象语法树AST,并且对相邻版本的两棵AST的节点进行匹配,获得相邻版本中相关代码片段的内容;/n3)通过比较步骤2)中所得的相邻版本的代码片段是否相同,如果相同,过滤掉其中一个版本的代码片段;通过过滤保留发生更改的代码片段及对应版本的代码提交信息并以时间轴的方式展示,其中如果发生更改的代码片段对应的代码提交信息中包含Issue id号,则展示出关联的Issue信息。/n
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京大学,未经北京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201910801120.4/,转载请声明来源钻瓜专利网。
- 上一篇:代码提交方法及装置
- 下一篇:一种微服务编排的数据处理方法、装置及系统