一种基于双重信息检索的Bash代码注释生成方法

    公开(公告)号:CN113961237B

    公开(公告)日:2024-08-20

    申请号:CN202111220663.0

    申请日:2021-10-20

    Applicant: 南通大学

    Abstract: 本发明提供了一种基于双重信息检索的Bash代码注释生成方法,包括以下步骤:(1)搜集数据得到一个高质量语料库,对该语料库进行去重操作,得到数据集;(2)使用CodeBert提取代码语义特征;(3)将代码片段视为由词元组成的集合,通过文本编辑距离计算集合之间的词法相似度,通过词法相似度从k个候选代码片段中检索出与目标代码词法相似度最高的代码片段;(4)从数据集中检索出与目标代码最相似代码片段,将该代码对应的注释作为目标代码的代码注释。本发明的有益效果为:可以根据目标代码在代码库中检索出最相似代码,从而生成高质量的代码注释,提高Bash代码的可读性和可理解性,帮助开发人员快速理解Bash代码。

    一种基于CodeBERT微调和检索增强的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: 南通大学

    Abstract: 本发明提供了一种基于信息检索的智能合约代码注释生成方法,包括以下步骤:(1)搜集来自Etherscan.io的智能合约语料库,对该语料库进行预处理操作;(2)使用CodeBert提取代码语义特征,并通过BERT‑whitening进行关键特征提取和降维,计算语义相似度,选择排在前k位语义最相似的代码片段作为候选代码;(3)将代码片段视为由词元组成的集合,通过Jaccard相似度计算集合之间的词法相似度;(4)考虑智能合约代码的抽象语法树信息,通过编辑距离计算AST序列之间的语法相似度;(5)根据词法和语法相似度融合的比例计算出混合分数后,从候选代码中找出最相似的代码片段,用于生成代码注释。本发明的有益效果为:可以生成高质量的代码注释,提高智能合约代码的可读性和可理解性。

    基于对偶学习的shellcode代码和注释生成方法

    公开(公告)号:CN114546397B

    公开(公告)日:2024-08-20

    申请号:CN202210041705.2

    申请日:2022-01-14

    Applicant: 南通大学

    Abstract: 本发明提供了一种基于对偶学习的shellcode代码和注释生成方法,包括以下步骤:(1)搜集来自shellstorm和Exploit Database的shellcode语料库;(2)将shellcode注释生成和shellcode代码生成这两个任务形式化为一个对偶学习问题,并通过为输入添加前缀来区分两个任务,使用浅层的Transformer进行同步学习,实现知识共享,提高训练模型的性能和泛化能力;(3)提出了一种改进自注意力计算的归一化方法Adjust_QKNorm,以使Transformer适应低资源任务;(4)提出一个基于规则的修复组件。本发明的有益效果为:有利于软件的开发和维护,生成的高质量注释和代码可以帮助提高开发人员的工作效率,进而提高软件质量。

    一种基于Transformer的代码编程语言分类方法

    公开(公告)号:CN113139054B

    公开(公告)日:2023-11-24

    申请号:CN202110430772.9

    申请日:2021-04-21

    Applicant: 南通大学

    Abstract: 本发明提供了一种基于Transformer的代码编程语言分类方法,包括以下步骤:(1)从Stack Overflow上搜集问答帖子作为数据集,对原始数据集中的数据进行数据预处理;(2)对使用BPE分词后的数据进行词嵌入将词转换成向量;(3)基于上述构建的数据集,对RoBERTa模型进行微调,将生成的词向量输入进RoBERTa模型,通过双层的Transformer编码器进行代码语义的学习,生成语义表示向量Xsemantic;(4)将语义向量Xsemantic通过线性层映射到编程语言类别标签上,通过Softmax算法得到相应的编程语言。本发明的有益效果为:可以根据代码片段快速识别代码类型,以起到辅助开发人员在问答网站上快速寻找到解决方案的作用。

    基于Glove和RNN的Stack Overflow论坛问题贴提问目的预测方法

    公开(公告)号:CN114564654A

    公开(公告)日:2022-05-31

    申请号:CN202011564142.2

    申请日:2020-12-25

    Applicant: 南通大学

    Abstract: 本发明提供了一种基于Glove和RNN的Stack Overflow论坛问题贴提问目的预测方法,包括以下步骤:(1)搜集Stack Overflow网站上问题贴的内容,针对内容进行数据预处理,基于Glove模型生成分词对应的词向量;(2)通过分析问题贴的内容,确定提问目的;(3)基于上述构建的语料库,对构建的基于长短期记忆循环网络的RNN模型进行训练,利用结合Adam优化器以及注意力机制attention进行优化,得到问题帖提问目的的预测模型。本发明的有益效果为:该方法以提问目的对帖子进行分类,可以为分析Stack Overflow上的帖子讨论主题增加新的维度,方便开发人员对帖子的搜索和浏览,以起到辅助开发人员寻找解决方案的作用。

    基于对偶学习的shellcode代码和注释生成方法

    公开(公告)号:CN114546397A

    公开(公告)日:2022-05-27

    申请号:CN202210041705.2

    申请日:2022-01-14

    Applicant: 南通大学

    Abstract: 本发明提供了一种基于对偶学习的shellcode代码和注释生成方法,包括以下步骤:(1)搜集来自shellstorm和Exploit Database的shellcode语料库;(2)将shellcode注释生成和shellcode代码生成这两个任务形式化为一个对偶学习问题,并通过为输入添加前缀来区分两个任务,使用浅层的Transformer进行同步学习,实现知识共享,提高训练模型的性能和泛化能力;(3)提出了一种改进自注意力计算的归一化方法Adjust_QKNorm,以使Transformer适应低资源任务;(4)提出一个基于规则的修复组件。本发明的有益效果为:有利于软件的开发和维护,生成的高质量注释和代码可以帮助提高开发人员的工作效率,进而提高软件质量。

    一种基于Transformer的Python伪代码自动生成方法

    公开(公告)号:CN112947930A

    公开(公告)日:2021-06-11

    申请号:CN202110134579.0

    申请日:2021-01-29

    Applicant: 南通大学

    Abstract: 本发明提供了一种基于Transformer的Python伪代码自动生成方法,包括以下步骤:S1、在Github上下载Python源代码和对应的伪代码以构建初始语料库,并对该语料库执行一系列预处理操作得到语料库;S2、将语料库分成训练集、验证集,训练集用于构建并训练模型,验证集用于进行模型优化;S3、基于上述构建的语料库,对构建的基于Transformer的CNN模型进行训练,利用结合位置编码方法以及注意力机制attention进行优化,得到伪代码自动生成模型。本发明的有益效果为:该方法可以帮助开发人员自动快速地生成具有较强可读性的伪代码,生成的伪代码准确地描述代码的实现功能和具体实现步骤。

    一种基于Transformer的编程问题帖标题自动生成方法

    公开(公告)号:CN114238621B

    公开(公告)日:2024-09-06

    申请号:CN202111441323.0

    申请日:2021-11-30

    Applicant: 南通大学

    Abstract: 本发明提供了一种基于Transformer的编程问题帖标题自动生成方法,属于计算机应用技术领域;其技术方案为:包括以下步骤:(1)收集开发人员问答网站上与Java、C#、Python和JavaScript四种编程语言相关的问题帖,基于三种启发式规则以过滤掉其中的低质量问题帖;(2)基于上述构建的语料库,对构建的基于Transformer的T5模型进行微调,利用AdaFactor优化器以及注意力机制进行优化,构建出问题帖标题自动生成模型。本发明的有益效果为:为开发人员问答网站(例如Stack Overflow)的问题帖生成既简洁又准确的标题,实现了针对Java、C#、Python和JavaScript四种编程语言的问题帖标题生成的自动化。

Patent Agency Ranking