-
公开(公告)号:CN112966095B
公开(公告)日:2022-09-06
申请号:CN202110368686.X
申请日:2021-04-06
Applicant: 南通大学
IPC: G06F16/335 , G06F8/71
Abstract: 本发明提供一种基于JEAN的软件代码推荐方法,主要用于解决在软件开发中向开发人员推荐代码段的问题。包括如下步骤:S1、构建JEAN模型;S2、从GitHub上收集带有描述的java代码段数据集,并对其预处理用作训练集,用来训练JEAN模型;S3、构建代码库,使用JEAN模型中的代码嵌入表示模块将代码库中的所有代码段嵌入成代码向量;S4、开发人员进行在线搜索代码,输入查询后,JEAN模型中的描述嵌入表示模块将查询嵌入成查询向量;S5、使用余弦相似性计算查询向量和代码库中的所有代码向量之间的相似性,返回与查询向量最相关的向量的代码段。本发明能够有效地帮助软件开发人员根据自己的需求推荐合适的代码段,具有较高的精确率和效率。
-
公开(公告)号:CN114647418A
公开(公告)日:2022-06-21
申请号:CN202210336803.9
申请日:2022-03-31
Applicant: 南通大学
Abstract: 本发明提供一种树序列化嵌入的软件代码推荐方法,主要用于解决开发过程中出现的代码功能实现问题,包括如下步骤:步骤1、通过解析抽象语法树AST分别将向量化的代码和注释嵌入到向量空间中并计算相似度,建立TCDEnn模型;步骤2、收集java代码,通过AST节点提取进行预处理构建训练集和测试集,用来训练和测试TCDEnn模型;步骤3、收集高质量的java代码,建立代码搜索库,开发人员输入描述查询代码搜素库,对搜索代码库中的AST向量与功能描述向量计算相似度,将相似度值最高的k个代码向量返回给开发人员。本发明可以通过直接描述功能需求的形式得到对应代码,有效节省开发时间,提高开发效率。
-
公开(公告)号:CN112925563B
公开(公告)日:2022-01-04
申请号:CN202110205302.2
申请日:2021-02-24
Applicant: 南通大学
Abstract: 本发明提供一种面向代码重用的源代码推荐方法,主要用于帮助公司程序员根据软件需求规范查找实例代码和相关实现,包括如下步骤:源代码预处理和验证;生成函数摘要;获取函数标签词;构造键值对;生成问题词条;查询匹配度计算;搜索结果输出;本发明新提出的代码推荐方法具有较高的实用性和正确性,能有效辅助程序员理解软件需求文档,实现功能,节省软件开发时间。
-
公开(公告)号:CN112966095A
公开(公告)日:2021-06-15
申请号:CN202110368686.X
申请日:2021-04-06
Applicant: 南通大学
IPC: G06F16/335 , G06F8/71
Abstract: 本发明提供一种基于JEAN的软件代码推荐方法,主要用于解决在软件开发中向开发人员推荐代码段的问题。包括如下步骤:S1、构建JEAN模型;S2、从GitHub上收集带有描述的java代码段数据集,并对其预处理用作训练集,用来训练JEAN模型;S3、构建代码库,使用JEAN模型中的代码嵌入表示模块将代码库中的所有代码段嵌入成代码向量;S4、开发人员进行在线搜索代码,输入查询后,JEAN模型中的描述嵌入表示模块将查询嵌入成查询向量;S5、使用余弦相似性计算查询向量和代码库中的所有代码向量之间的相似性,返回与查询向量最相关的向量的代码段。本发明能够有效地帮助软件开发人员根据自己的需求推荐合适的代码段,具有较高的精确率和效率。
-
公开(公告)号:CN113190219A
公开(公告)日:2021-07-30
申请号:CN202110497846.0
申请日:2021-05-08
Applicant: 南通大学
Abstract: 本发明提供一种基于递归神经网络模型的代码注释生成方法,主要用于解决开发人员节省编写注释所需的时间。包括如下步骤:使用scrapy从开源社区上爬取评分高的代码项目,获得java数据集;对获得的java数据集进行一些筛选和处理,优化数据集;将处理过的数据集输入Seq2Seq+Attention&Copy模型中,进行信息的编码;将输出的信息编码输入Attention机制层和Copy机制层得到上下文向量;将结构信息的编码输出和上下文向量输入解码层,由源代码注释和序列概率分布生成输出序列;基于已训练好的Seq2Seq+Attention&Copy代码注释模型,对代码进行自动注释。本发明中,自动代码注释生成不仅可以帮助开发人员理解源代码,还可以节省编写注释所需的时间。
-
公开(公告)号:CN112860879A
公开(公告)日:2021-05-28
申请号:CN202110251408.6
申请日:2021-03-08
Applicant: 南通大学
IPC: G06F16/335 , G06F16/31 , G06F8/71
Abstract: 本发明提供一种基于联合嵌入模型的代码推荐方法,包括:S1、从GitHub帖子的评论中提取对问题的补充性问题;S2、将 用来训练sequence‑to‑sequence模型,并保存为问题提升模型;S3、从GitHub上收集带有注释的Java开源项目数据集,并对其预处理;S4、建立联合嵌入模型,进行向量化处理;S5、从GitHub中收集至少有20个stars的Java开源项目来构建代码库,将所有的代码段嵌入到向量中;S6、将查询问题输入到问题提升模型中,将得到的结果输入到联合嵌入模型中进行向量化;S7、计算查询问题的向量和代码向量的相似度得分来推荐Top‑k代码段。本发明解决了自然语言查询中反映的高级意图与源代码中低级实现细节之间不匹配的问题,以及深度学习方法中缺乏不可扩展性的问题。
-
公开(公告)号:CN112925563A
公开(公告)日:2021-06-08
申请号:CN202110205302.2
申请日:2021-02-24
Applicant: 南通大学
Abstract: 本发明提供一种面向代码重用的源代码推荐方法,主要用于帮助公司程序员根据软件需求规范查找实例代码和相关实现,包括如下步骤:源代码预处理和验证;生成函数摘要;获取函数标签词;构造键值对;生成问题词条;查询匹配度计算;搜索结果输出;本发明新提出的代码推荐方法具有较高的实用性和正确性,能有效辅助程序员理解软件需求文档,实现功能,节省软件开发时间。
-
-
-
-
-
-