一种开源代码仓库摘要自动生成方法技术

技术编号:42656114 阅读:18 留言:0更新日期:2024-09-10 12:16
本公开提供一种开源代码仓库摘要自动生成方法。基于客户端‑服务端架构构建了三个模块,分别为:Eclipse插件与交互模块、依赖分析模块和摘要生成模块;所述Eclipse插件与交互模块和所述依赖分析模块集成在客户端,所述Eclipse插件与交互模块包括所述Eclipse客户端与Eclipse插件;所述依赖分析模块和摘要生成模块中包括生成文件摘要接口、预训练语言模型、生成项目摘要接口、BPE分词器、微调模型;该方案提供了一种针对项目级别粒度的代码摘要自动生成技术。使得项目级别时,整个代码仓库的源代码输入与目标摘要匹配,并提供一款能够自动解析项目代码并生成项目摘要的工具。

【技术实现步骤摘要】

本公开涉及计算机领域,更具体地讲,涉及一种开源代码仓库摘要自动生成方法


技术介绍

1、自动生成开源代码仓库摘要属于代码摘要领域的研究任务,但是粒度提升到了项目级别。当前代码摘要领域的研究主要集中在函数级别的粒度,早期的研究方式主要基于模板和信息检索方式。随着神经网络快速发展,基于深度学习的代码摘要自动生成技术成为主流研究方向。大多数方法基于神经机器翻译模型,将源代码和摘要看作两种语言,需要搜集大量语料并训练出正确的映射关系。少数研究者会将研究粒度上升至文件级别,但是仅限于单一编程语言。由于开源代码仓库的复杂结构和庞大输入,项目级别粒度的代码摘要研究属于空白状态。

2、考虑到项目级别粒度的代码摘要尚无成熟方案,主要介绍函数级别代码摘要的相关技术。iyer等人首次提出了基于深度神经网络的代码摘要生成方法,名为code-nn。code-nn在编码和解码的时候都采用了lstm单元和注意力机制。生成代码摘要的能力要比传统的方式更优。hu等人对模型的输入做了改变,不再是将源代码的嵌入序列作为输入,而是通过抽象语法树(abstract syntax tre本文档来自技高网...

【技术保护点】

1.一种开源代码仓库摘要自动生成方法,其特征在于,基于客户端-服务端架构构建三个模块,分别为:Eclipse插件与交互模块、依赖分析模块和摘要生成模块;

2.如权利要求1所述的一种开源代码仓库摘要自动生成方法,其特征在于,所述窗口展示采用Web服务实现,利用Flask框架将模型生成摘要的功能封装到Web服务中,对外提供访问接口,并添加缓存策略,避免相同请求的重复计算;在Web服务中添加LRU缓存机制,对于文件摘要生成接口/file,根据请求中的name参数判断缓存中是否存在相同的请求记录,对于项目摘要生成接口/project,则是将项目名称与所有的文件摘要拼接成一个字符串并进...

【技术特征摘要】

1.一种开源代码仓库摘要自动生成方法,其特征在于,基于客户端-服务端架构构建三个模块,分别为:eclipse插件与交互模块、依赖分析模块和摘要生成模块;

2.如权利要求1所述的一种开源代码仓库摘要自动生成方法,其特征在于,所述窗口展示采用web服务实现,利用flask框架将模型生成摘要的功能封装到web服务中,对外提供访问接口,并添加缓存策略,避免相同请求的重复计算;在web服务中添加lru缓存机制,对于文件摘要生成接口/file,根据请求中的name参数判断缓存中是否存在相同的请求记录,对于项目摘要生成接口/project,则是将项目名称与所有的文件摘要拼接成一个字符串并进行哈希映射为一个固定长度的键值,作为判断缓存是否存在的依据。如果缓存命中,则直接将缓存结果返回...

【专利技术属性】
技术研发人员:王旭沃天宇管政孟祥鑫胡春明
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1