CN116841609B - 代码注释信息的补全方法、系统、电子设备和存储介质 - Google Patents
代码注释信息的补全方法、系统、电子设备和存储介质 Download PDFInfo
- Publication number
- CN116841609B CN116841609B CN202311084993.0A CN202311084993A CN116841609B CN 116841609 B CN116841609 B CN 116841609B CN 202311084993 A CN202311084993 A CN 202311084993A CN 116841609 B CN116841609 B CN 116841609B
- Authority
- CN
- China
- Prior art keywords
- annotation information
- code
- information
- temporary
- annotation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 230000001502 supplementing effect Effects 0.000 title claims description 18
- 230000000295 complement effect Effects 0.000 claims abstract description 11
- 238000012545 processing Methods 0.000 claims description 18
- 230000011218 segmentation Effects 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 9
- 238000012549 training Methods 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 7
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 230000009469 supplementation Effects 0.000 claims description 4
- 239000002699 waste material Substances 0.000 abstract description 4
- 238000001514 detection method Methods 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 6
- 238000012423 maintenance Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000018109 developmental process Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/73—Program documentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/169—Annotation, e.g. comment data or footnotes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Library & Information Science (AREA)
- Document Processing Apparatus (AREA)
Abstract
本发明公开了一种代码注释信息的补全方法、系统、电子设备和存储介质,属于代码检测技术领域,该补全方法包括:对代码注释进行注释信息检查;获取需要补全注释信息的代码的代码文件名、文件路径、类信息和全局变量信息,以构成一个序列化数据;设置Seq2seq模型参数;将序列化数据输入到Seq2seq模型中,以生成临时注释信息;判断临时注释信息是否合理;获取时间戳和提交人信息,以添加到临时注释信息中;采用添加后的临时注释信息,对需要补全注释信息的代码进行注释信息补全。本发明保证代码注释信息的正确性、准确性和完整性,降低了人工从零开始编写注释造成的时间浪费。
Description
技术领域
本发明属于代码检测技术领域,尤其涉及一种代码注释信息的补全方法、系统、电子设备和存储介质。
背景技术
随着软件项目的复杂度和软件产品迭代频率的不断提升,程序理解在整个软件开发环节的重要性也日益提高。开发人员平均需要花费59%的时间在程序理解上。因此,高质量的代码注释是提高开发人员程序理解效率的关键。
但开发人员由于项目开发预算有限、编程经验不足或者对代码注释的重视程度不够,经常会出现代码注释的缺失、不足或者与代码实际内容不匹配等问题,导致代码表达的含义不清或者容易造成混乱,同时代码可能存在的潜在风险也会被遗漏,也会给后续代码维护增加不必要的工作量。
发明内容
有鉴于此,本发明的目的之一,在于提供一种代码注释信息的补全方法,该补全方法能够保证代码注释信息的正确性、准确性和完整性,降低了人工从零开始编写注释造成的时间浪费,减少了后续维护和交接时人力成本。
本发明的目的之二,在于提供一种代码注释信息的补全系统。
本发明的目的之三,在于提供一种电子设备。
本发明的目的之四,在于提供一种存储介质。
为了达到上述目的之一,本发明采用如下技术方案实现:
一种代码注释信息的补全方法,所述补全方法包括:
步骤S1、对代码注释进行注释信息检查,以确定需要补全注释信息的代码;
步骤S2、获取所述需要补全注释信息的代码的代码文件名、文件路径、类信息和全局变量信息,以构成一个序列化数据;
步骤S3、设置Seq2seq模型参数;
步骤S4、将所述序列化数据输入到Seq2seq模型中,以生成临时注释信息;
步骤S5、判断所述临时注释信息是否合理,如是,则进入步骤S6;如否,则调整所述Seq2seq模型参数,返回步骤S4;
步骤S6、获取时间戳和提交人信息,以添加到所述临时注释信息中;
步骤S7、采用添加后的所述临时注释信息,对所述需要补全注释信息的代码进行注释信息补全。
进一步的,在所述步骤S4中,所述Seq2seq模型包括编码器和解码器;
所述编码器,用于对所述序列化数据进行编码处理,以生成一个固定长度的语义向量;
所述解码器,用于对所述语义向量进行解码处理。
进一步的,所述语义向量为:所述编码器中最后一个隐藏层的隐藏状态;
或者为:所述编码器中所述编码器中最后一个隐藏层的隐藏状态的语义变换结果。
进一步的,所述语义向量为:所述编码器中所有隐藏层输入的隐藏状态的语义变换结果。
进一步的,在所述步骤S5中,所述判断所述临时注释信息是否合理的具体过程包括:
步骤S51、将所述临时注释信息补充到所述需要补全注释信息的代码中;
步骤S52、对补充后的需要补全注释信息的代码进行分词处理;
步骤S53、将分类标志符【CLS】和句子划分分割符【SEP】分别插入到对分词处理后的需要补全注释信息的代码的开头和各个句子结尾处;
步骤S54、将插入后的需要补全注释信息的代码输入到BERT模型中进行语义分析;
步骤S55、判断语义分析结果是否有错误日志信息,如是,则所述临时注释信息不合理;如否,则所述临时注释信息合理。
进一步的,在所述步骤S52和步骤S53之间,所述判断所述临时注释信息是否合理的具体过程还包括:
对分词处理后的需要补全注释信息的代码进行Word Piece拆分处理。
进一步的,所述补全方法还包括:
将合理的临时注释信息补充到所述需要补全注释信息的代码中后依次进行分词处理、插入分类标志符【CLS】和句子划分分割符【SEP】,作为训练语料;
将所述训练语料输入到所述BERT模型中进行训练,以更新所述BERT模型参数。
为了达到上述目的之二,本发明采用如下技术方案实现:
一种代码注释信息的补全系统,所述补全系统包括:
注释信息检查模块,用于对代码注释进行注释信息检查,以确定需要补全注释信息的代码;
构成模块,用于获取所述需要补全注释信息的代码的代码文件名、文件路径、类信息和全局变量信息,以构成一个序列化数据;
设置模块,用于设置Seq2seq模型参数;
生成模块,用于将所述序列化数据输入到Seq2seq模型中,以生成临时注释信息;
判断模块,用于判断所述临时注释信息是否合理,如是,则将所述临时注释信息传输给添加模块;如否,则调整所述Seq2seq模型参数,并传输给所述生成模块;
添加模块,用于获取时间戳和提交人信息,以添加到所述临时注释信息中;
补全模块,用于采用添加后的所述临时注释信息,对所述需要补全注释信息的代码进行注释信息补全。
为了达到上述目的之三,本发明采用如下技术方案实现:
一种电子设备,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时,实现上述所述的一种代码注释信息的补全方法中的步骤。
为了达到上述目的之四,本发明采用如下技术方案实现:
一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现上述所述的一种代码注释信息的补全方法中的步骤。
综上,本发明的技术方案的有益效果:
本发明将代码文件名、文件路径、类信息和全局变量信息构成的序列化数据,输入到通过Seq2seq模型,自动生成临时注释信息,再通过临时注释信息的合理性判断,保证了临时注释信息的正确性、准确性和完整性,降低了代码注释信息不全的几率,减少了人工从零开始编写注释,造成的时间浪费;本发明针对注释信息的语义判断,保证注释信息的全面,减少了后续维护和交接时人力成本。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的代码注释信息的补全方法流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例只是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本实施例给出了一种代码注释信息的补全方法,参考图1,该补全方法包括:
S1、对代码注释进行注释信息检查,以确定需要补全注释信息的代码。
本实施例通过自动扫描代码,识别未添加注释信息、注释信息不规范、错误注释信息和缺少必要的注释信息。本实施例中的注释信息包括类名、方法名、函数名、参数名、参数类型、函数返回值类型和继承关系。如现识别到如下代码段是一个未加注释信息的函数:
BatServiceEventHandler::BatServiceEventHandler(const std::shared_ptr<ApExFw::EveRunn>& runner,
const wptr<BatService>& service)
: ApExFw::EveHandler(runner), service_(service)
{
BAT_LOGD(LABAL, "Instance created");
}。
S2、获取所述需要补全注释信息的代码的代码文件名、文件路径、类信息和全局变量信息,以构成一个输入序列化数据。
本实施例中的序列化数据包括代码文件名、文件路径、类信息、全局变量信息以及需要补全注释信息的代码。
S3、设置Seq2seq模型参数。
S4、将所述序列化数据输入到Seq2seq模型中,以生成临时注释信息。
本实施例采用Seq2seq模型包括编码器encoder和解码器decoder。其中,编码器encoder,用于对所述序列化数据进行编码处理,以生成一个固定长度(预先设定的)的语义向量。语义向量为序列化数据序列的语义,可为编码器中最后一个隐藏层的隐藏状态;也可为:编码器中最后一个隐藏层的隐藏状态的语义变换结果;也可为:所有隐藏层输入的隐藏状态的语义变换结果。
解码器decoder,用于对所述语义向量进行解码处理。
本实施例将代码文件名、文件路径、类信息、全局变量信息和上面函数代码段作为输入序列化数据,经过Seq2Seq模型的编码器encoder处理,输出成一个向量context,送到解码器decoder。Encoder和decoder都是RNN网络(可为通用结构,这里不在追溯),每一步RNN都做相同的处理,根据之前的隐藏状态和输入,更新现在的隐藏状态。最终输出临时注释信息如下:
S5、判断所述临时注释信息是否合理,如是,则进入步骤S6;如否,则调整所述Seq2seq模型参数,返回步骤S4。
本实施例通过将包括临时注释信息的代码的分词处理,将包括临时注释信息的代码中的每个字转换成一个一维的词向量,并在第一个单词(即起始位置)的前面标记CLS标志,在每个句子的结尾处标记分割符【SEP】后,作为BERT模型的输入,利用BERT模型输出的结果,判断临时注释信息是否合理,具体过程包括:
步骤S51、将所述临时注释信息补充到所述需要补全注释信息的代码中;
步骤S52、对补充后的需要补全注释信息的代码进行分词处理;
步骤S53、将分类标志符【CLS】和句子划分分割符【SEP】分别插入到对分词处理后的需要补全注释信息的代码的开头和各个句子结尾处;
步骤S54、将插入后的需要补全注释信息的代码输入到BERT模型中进行语义分析;
步骤S55、判断语义分析结果是否有错误日志信息,如是,则所述临时注释信息不合理;如否,则所述临时注释信息合理。
为了防止未登录词的出现,在所述步骤S52和步骤S53之间,所述判断所述临时注释信息是否合理的具体过程还包括:
对分词处理后的需要补全注释信息的代码进行Word Piece拆分处理,以得到更细粒度的Word Piece。比如将分词playing切割成play和##ing(即实现词本身和时态分开)。
如果此段代码中的临时注释信息如下:
通过BERT模型的语义分析后判断注释信息有5个错误,error1:函数名错误,应该是“BatServiceEventHandler”,而不是“BatServiceEvent”。error2:参数名错误,应该是“runner”,而不是“runnerold”。error3:参数类型错误,应该是“const std::shared_ptr<ApExFw::EveRunn>&”,而不是“const char &”。error4:参数个数错误,应该是2而不是3。error5:父类名称错误,应该是“ApExFw::EveHandler(runner),service_(service)”,而不是“ApExFw::EveHandler(runner)”。输出如下错误日志信息:
!!!Comment error:
Error1:function name should be “BatServiceEventHandler” not
“BatServiceEvent”
Error2:param name should be “runner” not “runnerold”
Error3:param type should be “const std::shared_ptr<ApExFw::EveRunn>&”
not “const char &”
Error4:param count should be 2,not 3
Error5:father should be “ApExFw::EveHandler(runner), service_ (service)” not “ApExFw::EveHandler(runner)”。
S6、获取时间戳和提交人信息,以添加到所述临时注释信息中。
为了便于后续代码维护、交接、修改以及必须回滚时,确定准确的回滚时间,本实施例将修改责任人(提交人信息)和修改时间(时间戳)。便于后续代码维护、交接、修改,以及必须回滚时,确定准确的回滚时间。本实施例可从git版本库中获取时间戳和提交人信息。
S7、采用添加后的所述临时注释信息,对所述需要补全注释信息的代码进行注释信息补全。
为了实时更新BERT模型,本实施例中的补全方法还包括:
将合理的临时注释信息补充到所述需要补全注释信息的代码中后依次进行分词处理、插入分类标志符【CLS】和句子划分分割符【SEP】,作为训练语料;
将所述训练语料输入到所述BERT模型中进行训练,以更新所述BERT模型参数。
本实施例将代码文件名、文件路径、类信息和全局变量信息构成的序列化数据,输入到通过Seq2seq模型,自动生成临时注释信息,再通过临时注释信息的合理性判断,保证了临时注释信息的正确性、准确性和完整性,降低了代码注释信息不全的几率,减少了人工从零开始编写注释,造成的时间浪费;本实施例针对注释信息的语义判断,保证注释信息的全面,减少了后续维护和交接时人力成本。
上述实施例的技术方案可通过如下实施例给出的技术方案实现:
另一实施例给出了一种代码注释信息的补全系统,该补全系统包括:
注释信息检查模块,用于对代码注释进行注释信息检查,以确定需要补全注释信息的代码;
构成模块,用于获取所述需要补全注释信息的代码的代码文件名、文件路径、类信息和全局变量信息,以构成一个序列化数据;
设置模块,用于设置Seq2seq模型参数;
生成模块,用于将所述序列化数据输入到Seq2seq模型中,以生成临时注释信息;
判断模块,用于判断所述临时注释信息是否合理,如是,则将所述临时注释信息传输给添加模块;如否,则调整所述Seq2seq模型参数,并传输给所述生成模块;
添加模块,用于获取时间戳和提交人信息,以添加到所述临时注释信息中;
补全模块,用于采用添加后的所述临时注释信息,对所述需要补全注释信息的代码进行注释信息补全。
又一实施例给出了一种电子设备,该电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时,实现上述实施例给出的一种代码注释信息的补全方法中的步骤。
再一实施例给出了一种存储介质,该存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现上述实施例给出的一种代码注释信息的补全方法中的步骤。
上述实施例所涉及的原理、公式及其参数定义,均可适用,这里不再一一追溯。
请注意,以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (9)
1.一种代码注释信息的补全方法,其特征在于,所述补全方法包括:
步骤S1、对代码注释进行注释信息检查,以确定需要补全注释信息的代码;
步骤S2、获取所述需要补全注释信息的代码的代码文件名、文件路径、类信息和全局变量信息,以构成一个序列化数据;
步骤S3、设置Seq2seq模型参数;
步骤S4、将所述序列化数据输入到Seq2seq模型中,以生成临时注释信息;
步骤S5、判断所述临时注释信息是否合理,如是,则进入步骤S6;如否,则调整所述Seq2seq模型参数,返回步骤S4;
在所述步骤S5中,所述判断所述临时注释信息是否合理的具体过程包括:
步骤S51、将所述临时注释信息补充到所述需要补全注释信息的代码中;
步骤S52、对补充后的需要补全注释信息的代码进行分词处理;
步骤S53、将分类标志符【CLS】和句子划分分割符【SEP】分别插入到对分词处理后的需要补全注释信息的代码的开头和各个句子结尾处;
步骤S54、将插入后的需要补全注释信息的代码输入到BERT模型中进行语义分析;
步骤S55、判断语义分析结果是否有错误日志信息,如是,则所述临时注释信息不合理;如否,则所述临时注释信息合理;
步骤S6、获取时间戳和提交人信息,以添加到所述临时注释信息中;
步骤S7、采用添加后的所述临时注释信息,对所述需要补全注释信息的代码进行注释信息补全。
2.根据权利要求1所述的补全方法,其特征在于,在所述步骤S4中,所述Seq2seq模型包括编码器和解码器;
所述编码器,用于对所述序列化数据进行编码处理,以生成一个固定长度的语义向量;
所述解码器,用于对所述语义向量进行解码处理。
3.根据权利要求2所述的补全方法,其特征在于,所述语义向量为:所述编码器中最后一个隐藏层的隐藏状态;
或者为:所述编码器中最后一个隐藏层的隐藏状态的语义变换结果。
4.根据权利要求2所述的补全方法,其特征在于,所述语义向量为:所述编码器中所有隐藏层输入的隐藏状态的语义变换结果。
5.根据权利要求1所述的补全方法,其特征在于,在所述步骤S52和步骤S53之间,所述判断所述临时注释信息是否合理的具体过程还包括:
对分词处理后的需要补全注释信息的代码进行Word Piece拆分处理。
6.根据权利要求1所述的补全方法,其特征在于,所述补全方法还包括:
将合理的临时注释信息补充到所述需要补全注释信息的代码中后依次进行分词处理、插入分类标志符【CLS】和句子划分分割符【SEP】,作为训练语料;
将所述训练语料输入到所述BERT模型中进行训练,以更新所述BERT模型参数。
7.一种代码注释信息的补全系统,其特征在于,所述补全系统包括:
注释信息检查模块,用于对代码注释进行注释信息检查,以确定需要补全注释信息的代码;
构成模块,用于获取所述需要补全注释信息的代码的代码文件名、文件路径、类信息和全局变量信息,以构成一个序列化数据;
设置模块,用于设置Seq2seq模型参数;
生成模块,用于将所述序列化数据输入到Seq2seq模型中,以生成临时注释信息;
判断模块,用于判断所述临时注释信息是否合理,如是,则将所述临时注释信息传输给添加模块;如否,则调整所述Seq2seq模型参数,并传输给所述生成模块;
所述判断所述临时注释信息是否合理的具体过程包括:
将所述临时注释信息补充到所述需要补全注释信息的代码中;
对补充后的需要补全注释信息的代码进行分词处理;
将分类标志符【CLS】和句子划分分割符【SEP】分别插入到对分词处理后的需要补全注释信息的代码的开头和各个句子结尾处;
将插入后的需要补全注释信息的代码输入到BERT模型中进行语义分析;
判断语义分析结果是否有错误日志信息,如是,则所述临时注释信息不合理;如否,则所述临时注释信息合理;
添加模块,用于获取时间戳和提交人信息,以添加到所述临时注释信息中;
补全模块,用于采用添加后的所述临时注释信息,对所述需要补全注释信息的代码进行注释信息补全。
8.一种电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时,实现权利要求1至6中任一项所述的一种代码注释信息的补全方法中的步骤。
9.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现权利要求1至6中任一项所述的一种代码注释信息的补全方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311084993.0A CN116841609B (zh) | 2023-08-28 | 2023-08-28 | 代码注释信息的补全方法、系统、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311084993.0A CN116841609B (zh) | 2023-08-28 | 2023-08-28 | 代码注释信息的补全方法、系统、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116841609A CN116841609A (zh) | 2023-10-03 |
CN116841609B true CN116841609B (zh) | 2023-11-24 |
Family
ID=88162029
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311084993.0A Active CN116841609B (zh) | 2023-08-28 | 2023-08-28 | 代码注释信息的补全方法、系统、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116841609B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110018820A (zh) * | 2019-04-08 | 2019-07-16 | 浙江大学滨海产业技术研究院 | 一种基于深度强化学习的Graph2Seq自动生成Java代码注释的方法 |
CN111090461A (zh) * | 2019-11-18 | 2020-05-01 | 中山大学 | 一种基于机器翻译模型的代码注释生成方法 |
CN112394974A (zh) * | 2020-11-23 | 2021-02-23 | 平安科技(深圳)有限公司 | 代码变更的注释生成方法、装置、电子设备及存储介质 |
CN113190219A (zh) * | 2021-05-08 | 2021-07-30 | 南通大学 | 一种基于递归神经网络模型的代码注释生成方法 |
CN113705238A (zh) * | 2021-06-17 | 2021-11-26 | 梧州学院 | 基于bert和方面特征定位模型的方面级情感分析方法及模型 |
CN114816516A (zh) * | 2022-04-27 | 2022-07-29 | 南通大学 | 基于多重源码表示和循环神经网络的代码注释生成方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230124296A1 (en) * | 2021-10-18 | 2023-04-20 | Samsung Electronics Co., Ltd. | Method of natural language processing by performing semantic analysis using syntactic information, and an apparatus for the same |
-
2023
- 2023-08-28 CN CN202311084993.0A patent/CN116841609B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110018820A (zh) * | 2019-04-08 | 2019-07-16 | 浙江大学滨海产业技术研究院 | 一种基于深度强化学习的Graph2Seq自动生成Java代码注释的方法 |
CN111090461A (zh) * | 2019-11-18 | 2020-05-01 | 中山大学 | 一种基于机器翻译模型的代码注释生成方法 |
CN112394974A (zh) * | 2020-11-23 | 2021-02-23 | 平安科技(深圳)有限公司 | 代码变更的注释生成方法、装置、电子设备及存储介质 |
CN113190219A (zh) * | 2021-05-08 | 2021-07-30 | 南通大学 | 一种基于递归神经网络模型的代码注释生成方法 |
CN113705238A (zh) * | 2021-06-17 | 2021-11-26 | 梧州学院 | 基于bert和方面特征定位模型的方面级情感分析方法及模型 |
CN114816516A (zh) * | 2022-04-27 | 2022-07-29 | 南通大学 | 基于多重源码表示和循环神经网络的代码注释生成方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116841609A (zh) | 2023-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Panthaplackel et al. | Deep just-in-time inconsistency detection between comments and source code | |
US11657232B2 (en) | Source code compiler using natural language input | |
CN105279149A (zh) | 一种中文文本自动校正方法 | |
Moosbrugger et al. | This is the moment for probabilistic loops | |
US11657151B2 (en) | System and method for detecting source code anomalies | |
US9336207B2 (en) | Measuring linguistic markers and linguistic noise of a machine-human translation supply chain | |
CN113326244A (zh) | 一种基于日志事件图和关联关系挖掘的异常检测方法 | |
CN114217766A (zh) | 基于预训练语言微调与依存特征的半自动需求抽取方法 | |
Ge et al. | Keywords guided method name generation | |
CN114048129A (zh) | 软件功能变更的自动化测试方法、装置、设备及系统 | |
CN103034553A (zh) | 一种报表设计器智能验证的算法、方法及装置 | |
CN116841609B (zh) | 代码注释信息的补全方法、系统、电子设备和存储介质 | |
CN112733517B (zh) | 需求模板符合性检查的方法、电子设备及存储介质 | |
CN117971860A (zh) | 基于大语言模型生成sql语句的方法、装置及终端设备 | |
CN117555792A (zh) | 一种测试代码生成方法及装置 | |
CN115904482A (zh) | 接口文档生成方法、装置、设备及存储介质 | |
CN113127635B (zh) | 数据处理方法、装置及系统,存储介质和电子设备 | |
CN114896269A (zh) | 结构化查询语句检测方法、装置、电子设备及存储介质 | |
CN114049642A (zh) | 一种表格证件影像件的文本识别方法及计算设备 | |
CN112925874A (zh) | 基于案例标记的相似代码搜索方法及系统 | |
Ren et al. | Graph-Based Salient Class Classification in Commits | |
CN113535942B (zh) | 一种文本摘要生成方法、装置、设备及介质 | |
CN110069480B (zh) | 一种并行数据清洗方法 | |
CN117149268A (zh) | 一种注释生成方法及装置 | |
Yang et al. | Check for |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |