-
公开(公告)号:CN112162775A
公开(公告)日:2021-01-01
申请号:CN202011129802.4
申请日:2020-10-21
Applicant: 南通大学
Abstract: 本发明提供了一种基于Transformer和混合代码表示的Java代码注释自动生成方法,包括以下步骤:S1、下载Java项目,构建代码库;S2、在序列化处理层,基于AST遍历转换为代码token向量和SBT向量;S3、在编码层,使用Code编码器和SBT编码器,Code编码器从源代码中提取词法信息,使用SBT编码器来获取代码的结构信息;S4、在解码层,对语义信息进行解码生成注释。本发明的有益效果为:本发明的方法是用于代码注释生成,尤其是在编码层对Code和基于AST的SBT遍历序列进行编码,并合并两者学习的语义信息以捕获源代码的语义信息。
-
公开(公告)号:CN112947930B
公开(公告)日:2024-05-17
申请号:CN202110134579.0
申请日:2021-01-29
Applicant: 南通大学
IPC: G06F8/41 , G06N3/0464 , G06N3/0455 , G06N3/08
Abstract: 本发明提供了一种基于Transformer的Python伪代码自动生成方法,包括以下步骤:S1、在Github上下载Python源代码和对应的伪代码以构建初始语料库,并对该语料库执行一系列预处理操作得到语料库;S2、将语料库分成训练集、验证集,训练集用于构建并训练模型,验证集用于进行模型优化;S3、基于上述构建的语料库,对构建的基于Transformer的CNN模型进行训练,利用结合位置编码方法以及注意力机制attention进行优化,得到伪代码自动生成模型。本发明的有益效果为:该方法可以帮助开发人员自动快速地生成具有较强可读性的伪代码,生成的伪代码准确地描述代码的实现功能和具体实现步骤。
-
公开(公告)号:CN114676298B
公开(公告)日:2024-04-19
申请号:CN202210379210.0
申请日:2022-04-12
Applicant: 南通大学
IPC: G06F16/9035 , G06F16/951 , G06N3/045 , G06N3/08 , G06F18/22
Abstract: 本发明提供了一种基于质量过滤器的缺陷报告标题自动生成方法,属于软件质量保障技术领域。其技术方案为:首先从GitHub上选择高质量开源项目,再对数据集进行数据预处理,训练自动生成模型,当预测新的缺陷报告时,分别基于通过学习低质量缺陷报告特征进行过滤的深度学习模块和通过判断历史数据集中是否存在与新缺陷报告内容相似的数据实现预测的信息检索模块,来协同预测该缺陷报告能否生成高质量标题,若预测能,则通过自动生成模型生成标题,反之则提出警告。本发明的有益效果为:通过使用正则表达式进行数据预处理,提高了数据处理效率和方法的兼容性;通过双模块协同过滤,提高了自动生成模型生成的标题质量与效率。
-
公开(公告)号:CN113961237A
公开(公告)日:2022-01-21
申请号:CN202111220663.0
申请日:2021-10-20
Applicant: 南通大学
IPC: G06F8/73 , G06F40/169 , G06F40/253 , G06F40/284 , G06F40/30 , G06N20/00
Abstract: 本发明提供了一种基于双重信息检索的Bash代码注释生成方法,包括以下步骤:(1)搜集数据得到一个高质量语料库,对该语料库进行去重操作,得到数据集;(2)使用CodeBert提取代码语义特征;(3)将代码片段视为由词元组成的集合,通过文本编辑距离计算集合之间的词法相似度,通过词法相似度从k个候选代码片段中检索出与目标代码词法相似度最高的代码片段;(4)从数据集中检索出与目标代码最相似代码片段,将该代码对应的注释作为目标代码的代码注释。本发明的有益效果为:可以根据目标代码在代码库中检索出最相似代码,从而生成高质量的代码注释,提高Bash代码的可读性和可理解性,帮助开发人员快速理解Bash代码。
-
-
-