-
公开(公告)号: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进行优化,得到伪代码自动生成模型。本发明的有益效果为:该方法可以帮助开发人员自动快速地生成具有较强可读性的伪代码,生成的伪代码准确地描述代码的实现功能和具体实现步骤。
-
公开(公告)号:CN113743064B
公开(公告)日:2024-09-06
申请号:CN202111060940.6
申请日:2021-09-10
Applicant: 南通大学
IPC: G06F40/169 , G06F8/41 , G06F18/2415 , G06N3/0464 , G06N3/0475 , G06N3/0455 , G06N3/094
Abstract: 本发明提供了一种基于决策的融合信息检索和深度学习的代码注释生成方法,包括以下步骤:(1)基于GitHub网站,挖掘高质量开源项目,搜集代码内的函数及其注释形成语料库,并划分成训练集和验证集;(2)构建基于信息检索的模型,通过融合语义、词法和语法相似度,在训练集中搜索出与目标代码段c最为相似的代码段csim,并复用其注释;(3)构建基于深度学习的模型,考虑对抗样本,并使用一种基于Transformer的模型生成代码注释;(4)在验证集上分析这两种模型的性能与两个代码段c和csim之间相似度分数的关系,确定相似度阈值;(5)当为一个新的目标代码生成注释时,根据决策模块输出对应的代码注释。本发明的有益效果为:可以生成高质量的代码注释。
-
公开(公告)号:CN114418033B
公开(公告)日:2024-05-24
申请号:CN202210170049.6
申请日:2022-02-24
Applicant: 南通大学
IPC: G06F18/2415 , G06F18/2431 , G06F18/214 , G06F40/211 , G06F40/284 , G06F40/30 , G06F16/35 , G06N3/08 , G06N3/0442 , G06N3/045
Abstract: 本发明提供了一种基于CodeBert的代码编程语言分类方法,属于计算机应用技术领域。其技术方案为:包括以下步骤:(1)对原始数据集进行处理,去除其中的噪音,并使用BPE方法进行分词;(2)从CodeBert的每一层中提取表征信息作为表征信息序列,使用双向循环神经网络(Bi‑LSTM)和注意力机制关注可提供重要表征信息的层;(3)基于语料库对构建的模型进行训练,得到代码编程语言分类模型。本发明的有益效果为:该方法能快速识别源代码所属的编程语言类型,降低手工分类源代码编程语言的成本。
-
公开(公告)号:CN114676298A
公开(公告)日:2022-06-28
申请号:CN202210379210.0
申请日:2022-04-12
Applicant: 南通大学
IPC: G06F16/9035 , G06F16/951 , G06K9/62 , G06N3/04 , G06N3/08
Abstract: 本发明提供了一种基于质量过滤器的缺陷报告标题自动生成方法,属于软件质量保障技术领域。其技术方案为:首先从GitHub上选择高质量开源项目,再对数据集进行数据预处理,训练自动生成模型,当预测新的缺陷报告时,分别基于通过学习低质量缺陷报告特征进行过滤的深度学习模块和通过判断历史数据集中是否存在与新缺陷报告内容相似的数据实现预测的信息检索模块,来协同预测该缺陷报告能否生成高质量标题,若预测能,则通过自动生成模型生成标题,反之则提出警告。本发明的有益效果为:通过使用正则表达式进行数据预处理,提高了数据处理效率和方法的兼容性;通过双模块协同过滤,提高了自动生成模型生成的标题质量与效率。
-
公开(公告)号:CN113139054A
公开(公告)日:2021-07-20
申请号:CN202110430772.9
申请日:2021-04-21
Applicant: 南通大学
IPC: G06F16/35 , G06F40/30 , G06F40/289 , G06N3/04 , G06N3/08
Abstract: 本发明提供了一种基于Transformer的代码编程语言分类方法,包括以下步骤:(1)从Stack Overflow上搜集问答帖子作为数据集,对原始数据集中的数据进行数据预处理;(2)对使用BPE分词后的数据进行词嵌入将词转换成向量;(3)基于上述构建的数据集,对RoBERTa模型进行微调,将生成的词向量输入进RoBERTa模型,通过双层的Transformer编码器进行代码语义的学习,生成语义表示向量Xsemantic;(4)将语义向量Xsemantic通过线性层映射到编程语言类别标签上,通过Softmax算法得到相应的编程语言。本发明的有益效果为:可以根据代码片段快速识别代码类型,以起到辅助开发人员在问答网站上快速寻找到解决方案的作用。
-
-
-
-
-
-
-
-
-