-
公开(公告)号:CN113961237B
公开(公告)日:2024-08-20
申请号: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代码。
-
公开(公告)号:CN114880022B
公开(公告)日:2024-06-14
申请号:CN202210469925.5
申请日:2022-04-28
Applicant: 南通大学
Abstract: 本发明提供了一种基于CodeBERT微调和检索增强的Bash代码注释生成方法,属于计算机技术领域,解决了Bash代码开发过程中需要耗费人工成本手动编写注释的问题。其技术方案为:(1)使用构建的数据集对预训练模型CodeBERT进行微调;(2)在代码注释生成阶段,使用构建的双重信息检索方法检索出目标代码的最相似代码;(4)将目标代码和相似代码输入到微调后的CodeBERT编码器中,对得到的两个表征向量经过归一化操作;(5)将两个表征向量输入到融合层得到融合向量;(6)将融合向量输入到解码器中得到代码注释。本发明的有益效果为:快速根据现有Bash代码生成对应注释,提高Bash代码可读性和理解性。
-
公开(公告)号:CN113743062A
公开(公告)日:2021-12-03
申请号:CN202110937182.5
申请日:2021-08-16
Applicant: 南通大学
IPC: G06F40/169 , G06F8/41 , G06N20/00
Abstract: 本发明提供了一种基于信息检索的智能合约代码注释生成方法,包括以下步骤:(1)搜集来自Etherscan.io的智能合约语料库,对该语料库进行预处理操作;(2)使用CodeBert提取代码语义特征,并通过BERT‑whitening进行关键特征提取和降维,计算语义相似度,选择排在前k位语义最相似的代码片段作为候选代码;(3)将代码片段视为由词元组成的集合,通过Jaccard相似度计算集合之间的词法相似度;(4)考虑智能合约代码的抽象语法树信息,通过编辑距离计算AST序列之间的语法相似度;(5)根据词法和语法相似度融合的比例计算出混合分数后,从候选代码中找出最相似的代码片段,用于生成代码注释。本发明的有益效果为:可以生成高质量的代码注释,提高智能合约代码的可读性和可理解性。
-
公开(公告)号:CN114546397B
公开(公告)日:2024-08-20
申请号:CN202210041705.2
申请日:2022-01-14
Applicant: 南通大学
IPC: G06F8/41 , G06F8/73 , G06F40/169 , G06F40/237 , G06F18/22 , G06N3/0455 , G06N3/048 , G06N3/08
Abstract: 本发明提供了一种基于对偶学习的shellcode代码和注释生成方法,包括以下步骤:(1)搜集来自shellstorm和Exploit Database的shellcode语料库;(2)将shellcode注释生成和shellcode代码生成这两个任务形式化为一个对偶学习问题,并通过为输入添加前缀来区分两个任务,使用浅层的Transformer进行同步学习,实现知识共享,提高训练模型的性能和泛化能力;(3)提出了一种改进自注意力计算的归一化方法Adjust_QKNorm,以使Transformer适应低资源任务;(4)提出一个基于规则的修复组件。本发明的有益效果为:有利于软件的开发和维护,生成的高质量注释和代码可以帮助提高开发人员的工作效率,进而提高软件质量。
-
公开(公告)号:CN113139054B
公开(公告)日:2023-11-24
申请号:CN202110430772.9
申请日:2021-04-21
Applicant: 南通大学
IPC: G06F16/35 , G06F40/30 , G06F40/289 , G06N3/0455 , G06N3/0499 , G06N3/08
Abstract: 本发明提供了一种基于Transformer的代码编程语言分类方法,包括以下步骤:(1)从Stack Overflow上搜集问答帖子作为数据集,对原始数据集中的数据进行数据预处理;(2)对使用BPE分词后的数据进行词嵌入将词转换成向量;(3)基于上述构建的数据集,对RoBERTa模型进行微调,将生成的词向量输入进RoBERTa模型,通过双层的Transformer编码器进行代码语义的学习,生成语义表示向量Xsemantic;(4)将语义向量Xsemantic通过线性层映射到编程语言类别标签上,通过Softmax算法得到相应的编程语言。本发明的有益效果为:可以根据代码片段快速识别代码类型,以起到辅助开发人员在问答网站上快速寻找到解决方案的作用。
-
公开(公告)号:CN114564654A
公开(公告)日:2022-05-31
申请号:CN202011564142.2
申请日:2020-12-25
Applicant: 南通大学
IPC: G06F16/9536 , G06F16/35 , G06F40/284 , G06F40/289 , G06K9/62 , G06N3/04 , G06N3/08 , G06Q10/04 , G06Q50/00
Abstract: 本发明提供了一种基于Glove和RNN的Stack Overflow论坛问题贴提问目的预测方法,包括以下步骤:(1)搜集Stack Overflow网站上问题贴的内容,针对内容进行数据预处理,基于Glove模型生成分词对应的词向量;(2)通过分析问题贴的内容,确定提问目的;(3)基于上述构建的语料库,对构建的基于长短期记忆循环网络的RNN模型进行训练,利用结合Adam优化器以及注意力机制attention进行优化,得到问题帖提问目的的预测模型。本发明的有益效果为:该方法以提问目的对帖子进行分类,可以为分析Stack Overflow上的帖子讨论主题增加新的维度,方便开发人员对帖子的搜索和浏览,以起到辅助开发人员寻找解决方案的作用。
-
公开(公告)号:CN114546397A
公开(公告)日:2022-05-27
申请号:CN202210041705.2
申请日:2022-01-14
Applicant: 南通大学
IPC: G06F8/41 , G06F8/73 , G06F40/169 , G06F40/237 , G06K9/62 , G06N3/04
Abstract: 本发明提供了一种基于对偶学习的shellcode代码和注释生成方法,包括以下步骤:(1)搜集来自shellstorm和Exploit Database的shellcode语料库;(2)将shellcode注释生成和shellcode代码生成这两个任务形式化为一个对偶学习问题,并通过为输入添加前缀来区分两个任务,使用浅层的Transformer进行同步学习,实现知识共享,提高训练模型的性能和泛化能力;(3)提出了一种改进自注意力计算的归一化方法Adjust_QKNorm,以使Transformer适应低资源任务;(4)提出一个基于规则的修复组件。本发明的有益效果为:有利于软件的开发和维护,生成的高质量注释和代码可以帮助提高开发人员的工作效率,进而提高软件质量。
-
公开(公告)号:CN114418033A
公开(公告)日:2022-04-29
申请号:CN202210170049.6
申请日:2022-02-24
Applicant: 南通大学
IPC: G06K9/62 , G06F40/289 , G06F16/35 , G06F8/41 , G06N3/08
Abstract: 本发明提供了一种基于CodeBert的代码编程语言分类方法,属于计算机应用技术领域。其技术方案为:包括以下步骤:(1)对原始数据集进行处理,去除其中的噪音,并使用BPE方法进行分词;(2)从CodeBert的每一层中提取表征信息作为表征信息序列,使用双向循环神经网络(Bi‑LSTM)和注意力机制关注可提供重要表征信息的层;(3)基于语料库对构建的模型进行训练,得到代码编程语言分类模型。本发明的有益效果为:该方法能快速识别源代码所属的编程语言类型,降低手工分类源代码编程语言的成本。
-
公开(公告)号:CN112947930A
公开(公告)日:2021-06-11
申请号:CN202110134579.0
申请日:2021-01-29
Applicant: 南通大学
Abstract: 本发明提供了一种基于Transformer的Python伪代码自动生成方法,包括以下步骤:S1、在Github上下载Python源代码和对应的伪代码以构建初始语料库,并对该语料库执行一系列预处理操作得到语料库;S2、将语料库分成训练集、验证集,训练集用于构建并训练模型,验证集用于进行模型优化;S3、基于上述构建的语料库,对构建的基于Transformer的CNN模型进行训练,利用结合位置编码方法以及注意力机制attention进行优化,得到伪代码自动生成模型。本发明的有益效果为:该方法可以帮助开发人员自动快速地生成具有较强可读性的伪代码,生成的伪代码准确地描述代码的实现功能和具体实现步骤。
-
公开(公告)号:CN114238621B
公开(公告)日:2024-09-06
申请号:CN202111441323.0
申请日:2021-11-30
Applicant: 南通大学
IPC: G06F16/34 , G06F16/36 , G06F40/258 , G06F8/30
Abstract: 本发明提供了一种基于Transformer的编程问题帖标题自动生成方法,属于计算机应用技术领域;其技术方案为:包括以下步骤:(1)收集开发人员问答网站上与Java、C#、Python和JavaScript四种编程语言相关的问题帖,基于三种启发式规则以过滤掉其中的低质量问题帖;(2)基于上述构建的语料库,对构建的基于Transformer的T5模型进行微调,利用AdaFactor优化器以及注意力机制进行优化,构建出问题帖标题自动生成模型。本发明的有益效果为:为开发人员问答网站(例如Stack Overflow)的问题帖生成既简洁又准确的标题,实现了针对Java、C#、Python和JavaScript四种编程语言的问题帖标题生成的自动化。
-
-
-
-
-
-
-
-
-