CN116166789A - 一种方法命名精准推荐和审查方法 - Google Patents
一种方法命名精准推荐和审查方法 Download PDFInfo
- Publication number
- CN116166789A CN116166789A CN202310289887.XA CN202310289887A CN116166789A CN 116166789 A CN116166789 A CN 116166789A CN 202310289887 A CN202310289887 A CN 202310289887A CN 116166789 A CN116166789 A CN 116166789A
- Authority
- CN
- China
- Prior art keywords
- naming
- data set
- training
- name
- model
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/335—Filtering based on additional data, e.g. user or group profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/43—Checking; Contextual analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种方法命名精准推荐和审查方法,其步骤包括:1)选取多个代码文件,每一代码文件包含一软件工程项目的代码和注释信息;提取每一代码文件中的方法上下文信息,将每一方法上下文信息作为一个训练样本,生成训练数据集;2)对每一训练样本标注一方法名指示词,将各训练样本与对应的方法名指示词连接后训练方法命名推荐模型,预测输出各训练样本的方法名称;3)将训练数据集作为正样本数据集,并构造负样本数据集,将正、负样本数据集中各训练样本与对应的方法名指示词连接,生成方法命名一致性检查数据集训练方法命名一致性检查模型;4)对于一待检测的代码源文件,利用训练后的模型进行一致性检测,若不一致则生成新的候选名称。
Description
技术领域
本发明涉及一种基于预训练模型和提示学习的方法命名精准推荐和审查方法,属于计算机技术应用领域。
背景技术
软件程序的可理解性对软件的升级和维护至关重要,其中方法名作为源代码的简要说明,直接影响着开发人员对于程序的理解和开发效率。然而质量较差的方法名广泛存在于各种项目当中,导致开发人员为了提高软件的可读性和可维护性耗费大量时间用于方法再理解和方法重命名。因此,自动检测低质量的方法名并根据方法的实际功能推荐更贴切的方法名称,即方法命名一致性检查和方法命名推荐,在实际场景中具有重要的应用价值和广泛的发展前景。
目前方法名的审查和推荐包括许多方法命名推荐和方法命名一致性检查模型,但是大多数模型存在以下问题:
1)所有基于深度学习方法的模型都是从零开始训练的,模型在学习编程语言和自然语言的语义表示的同时,还要学习方法名称和功能实现之间的关系,以上两个截然不同的学习目标会造成学习目标失调,降低训练效率,从而导致次优结果;
2)没有充分利用封闭类的上下文信息,目前常用模型的数据集对于封闭类上下文的提取多集中于类名和兄弟方法,而没有考虑类属性信息,造成模型学习方法的抽象功能困难;
3)目前的方法命名一致性检查的过程是先生成新的方法名,再根据当前方法名和新方法名的词汇字符串相似度的计算结果以及选定的阈值判断方法名是否一致。该过程只考虑了字符串相似性,导致结果高度依赖于生成的新方法名的质量,而且对于语义一致性的衡量也比较困难,影响了检查结果的准确性。
随着计算机技术以及开源/行业应用软件的快速发展,各行业对于软件更新和维护的需求不断升级,如何实现高效准确的并且可用于实际场景中的方法命名审查和推荐,提高程序的可理解性和可维护性,已成为行业亟待解决的问题。
发明内容
针对现有技术的不足,本发明的目的在于提供一种方法命名精准推荐和审查方法,不同于现有的基于深度学习的方法,该方法首先通过预训练模型学习编程语言和自然语言的上下文表示,然后通过提示调优充分利用大型语言模型的能力和知识以检测不一致的方法名并推荐更准确的名称。本发明的方法命名精准推荐和审查方法采用“预训练、提示和预测”框架,填补了预训练任务和下游命名任务之间的差距,较之已有的模型和方法能够更好的协调方法命名推荐任务和方法命名一致性检查任务。此外,该方法利用一种基于提示的二分类模型实现方法命名一致性检查任务,能够度量语义的一致性,避免了基于先生成再比较的方法命名一致性检查模型固有的局限性。
本发明解决其技术问题所采用的技术方案是:
一种方法命名精准推荐和审查方法,其步骤包括:
1)选取多个代码文件,每一所述代码文件包含一软件工程项目的代码和注释信息;提取每一所述代码文件中的方法上下文信息,将每一所述方法上下文信息作为一个训练样本,生成训练数据集;
2)对每一所述训练样本标注一方法名指示词,将各所述训练样本与对应的方法名指示词连接后训练方法命名推荐模型,预测输出各所述训练样本的方法名称;
3)将所述训练数据集作为正样本数据集,并构造命名不一致的负样本数据集,对正、负样本数据集中每一训练样本标注一方法名指示词,将正、负样本数据集中各训练样本与对应的方法名指示词连接,生成方法命名一致性检查数据集;利用所述方法命名一致性检查数据集训练方法命名一致性检查模型;
4)对于一待检测的代码源文件,从该代码源文件中提取给定方法名的方法上下文信息T并输入训练后的方法命名一致性检查模型,判断该方法上下文信息T中的方法与该给定方法名是否一致,若一致则通过一致性检查,否则方法命名推荐模型根据该方法上下文信息T生成新的候选名称。
进一步的,每一所述方法上下文信息包括函数体信息、封闭类信息;所述函数体信息包括方法名、标识符名称、返回类型,所述封闭类信息包括类名、类属性、兄弟方法。
进一步的,基于所述正样本数据集利用基于编辑的困难负样本挖掘方法构造命名不一致的负样本数据集。
进一步的,所述方法命名推荐模型为对标识符感知的预训练模型CodeT5。
进一步的,所述方法命名一致性检查模型为二分类模型。
一种服务器,其特征在于,包括存储器和处理器,所述存储器存储计算机程序,所述计算机程序被配置为由所述处理器执行,所述计算机程序包括用于执行上述方法中各步骤的指令。
一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述方法的步骤。
本发明方法命名精准推荐和审查方法,包括以下步骤:
第一步,构建训练数据集,首先对MNire和Java-small/med/large四个数据集进行一系列的数据清洗和规范化操作,然后提取函数体信息(方法名、标识符名称、返回类型等)和封闭类信息(类名、类属性、兄弟方法等)等不同级别的方法上下文信息,再将所提取的方法上下文信息中的程序实体名构建子词序列,获得训练数据集。MNire和Java-small/med/large四个数据集由国际上知名研究人员整理的大约一万五千个开源软件工程项目的全部代码文件,包含了代码和注释信息等。将所提取的方法上下文信息中不同类型(例如,标识符、类名、返回类型等)的实体名构建为对应的子词序列,即针对每一类程序实体名构建一对应子词序列,生成训练数据集。
第二步,训练方法命名推荐模型,对标识符感知的预训练模型CodeT5进行提示学习调优,在构建的训练数据集的基础上训练模型CodeT5,将所有的方法上下文与指示词连接起来,通过搭建自然语言提示模板(即模板化的提示学习训练数据)来输出方法名称。其中,提示模板主要包含三个部分,第一部分是指示词,放在对应的不同的上下文之前作为提示;第二部分是分隔符,放在每个方法上下文之后,用来分隔不同的方法上下文;第三部分是提示词,放在输入模板的最后,用来提示模型执行的任务,比如方法命名推荐、方法命名一致性检查等任务。
第三步,训练方法命名一致性检查模型,首先利用困难负样本挖掘方法来构建足够的不一致命名样例数据集用于训练,即采用一种基于编辑的对原始文本破坏再重建的采样方法利用一致的命名样例来构建不一致的命名数据,从而构造方法命名一致性检查模型的训练集(即方法命名一致性检查数据集);然后将方法名和上下文与提示模板相结合,得到方法命名一致性检查数据集,再采用该数据集基于提示学习训练得到二分类模型,即方法命名一致性检查模型。
第四步,在完成方法命名推荐模型的训练和方法命名一致性检查模型的训练后,构建整体的功能应用,首先从给定的java源文件中提取必要的上下文信息,然后利用方法命名一致性检查模型判断给定的方法名称是否一致,若一致,则表示给定的方法名通过一致性检查,否则,方法命名推荐模型将利用之前提取的上下文生成新的候选名称,以取代之前不合适的命名。
所述第一步中,构建训练数据集,其方法流程如下:
(1)下载开源数据集MNire和Java-small/med/large;
(2)对数据进行过滤和清洗操作:
1)删除空方法;
2)替换分隔符;
3)拆分标识符;
4)长度标准化;
(3)提取上下文信息,包括函数体上下文信息(方法名、标识符名称、返回类型等)和封闭类上下文信息(类名、类属性、兄弟方法等);
(4)根据提取的上下文信息对应的子词序列构建数据集;
所述第二步中,方法命名推荐模型训练的流程如下:
(1)将第一步获取的数据集作为方法命名生成数据集(包括方法上下文和方法名);
(2)将所有的方法上下文与方法名指示词相连接,构建模板化的提示学习训练数据;
(3)根据(2)得到的数据,对标识符感知的预训练模型CodeT5进行提示学习调优;
(4)模型根据输入的方法上下文生成预测的方法名;
(5)将(1)中的方法名作为真值对模型生成的预测方法名进行精度评价。
所述第三步中,方法命名一致性检查模型训练的流程如下:
(1)利用基于编辑的困难负样本挖掘方法,将方法命名生成数据集作为命名一致的数据集,并在此基础上生成不一致的命名数据集,具体操作如下:
1)以一定概率在方法命名生成数据集中随机获取名称子词;
2)通过基于编辑的操作,对1)获取的每个子词进行破坏再重建,其中包括对原始子词进行增加、删除、替换以及不做更改等操作;
3)根据2)获取的结果,生成不一致的命名数据集;
(2)将方法命名生成数据集中的样本作为正样本,不一致的命名数据集中的样本作为负样本,生成方法命名一致性检查数据集;
(3)在方法命名一致性检查数据集的基础上训练基于提示学习的二分类模型。
所述第四步中,基于方法命名一致性检查模型和方法命名推荐模型的功能实现流程如下:(1)对输入的Java源文件进行预处理;
(2)提取方法名和方法上下文;
(3)利用由第三步获取的方法命名一致性检查模型,根据方法上下文判断与之对应的方法名是否一致,如果预测输出为正(一致),则给定方法通过一致性检查后结束,如果预测输出为负(不一致),则转入步骤(4);
(4)当方法上下文和方法名未通过方法命名一致性检查,则调用第二步获取的方法命名推荐模型,以步骤(2)提取的方法上下文作为输入以生成新的方法名。
与现有技术方案相比,本发明的有益效果是:
(1)利用一种基于提示的分类模型进行方法命名一致性检务,将该任务建模为一个二分类问题,能够度量语义的一致性,避免了其他方法命名一致性检查模型固有的局限性;
(2)针对方法命名推荐和方法命名一致性检查这两个不同的学习目标,模型采用“预训练、提示和预测”框架,填补了预训练任务和下游命名任务之间的差距,较其他模型能够更好的协调这两个任务,充分利用了预训练模型的优势,提高训练效率;
(3)在方法命名一致性检查任务中,利用基于编辑的困难负样本挖掘方法,从一致的命名数据集中生成不一致的命名数据集,有效解决了不一致命名样本数据不足的难题;
(4)充分利用了封闭类的上下文信息,其中类属性信息有效提升了方法命名推荐的准确率;
(5)在方法命名推荐和方法命名一致性检查任务上均显著优于其他方法。
附图说明
图1为数据集构建流程图。
图2为方法命名推荐模型训练流程图。
图3为方法命名一致性检查模型训练流程图。
图4为基于方法命名一致性检查模型和方法命名推荐模型的功能流程图。
图5为方法总体流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清晰明了,以下结合附图说明,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
本发明的基本思路在于,利用开源数据集构建方法命名推荐数据集,相较于其他方法命名推荐任务数据集,本发明在构建数据集时提取了封闭类的类属性上下文信息,封闭类类属性上下文信息是方法上下文的一部分信息,如下所示:
真值:getNumParameters
本发明的方法命名推荐结果(不包含类属性):getParametersLength。
本发明的方法命名推荐结果(包含类属性):getNumParameters。
类属性上下文信息能够有效提升结果的准确性;利用方法命名推荐数据集再结合本发明提出的基于编辑的困难负样本挖掘方法构造命名不一致的负样本数据集,生成方法命名一致性检查数据集,这一操作有效解决了该任务常见的不一致样本数不足的难题,保证了后续模型的训练效果;在方法命名推荐数据集的基础上,结合提示模板对标识符感知的预训练模型CodeT5进行提示学习调优,生成一种高质量高准确性的方法命名推荐模型;本发明采用一种基于提示学习的二分类模型,利用方法命名一致性检查数据集,得到了方法命名一致性检查模型,该模型对应的是一种二分类任务,能够正确区分单词的语义,特别是针对字符串相似但语义不同的情况,提升了该任务的准确性,避免了其他基于字符串相似度的方法命名一致性检查模型的不合理性和局限性;本发明采用“预训练、提示和预测”框架,填补预训练任务和下游命名任务之间的差距,协调方法命名推荐任务和方法命名一致性检查任务,避免了次优结果的产生,保证了检查结果和推荐结果的质量。
本发明方法的总体流程图如图5示,首先通过对开源数据集的数据清洗、上下文提取等操作构建方法命名推荐数据集,其中数据清洗包括删除空内容、替换分隔符、拆分标识符、长度标准化等操作,上下文提取包括函数体上下文(方法名、返回类型、标识符等)和封闭类上下文(类名、兄弟方法、类属性等)等内容;然后在方法命名推荐数据集的基础上构建方法命名一致性检查数据集,主要方法是将方法命名推荐数据集作为正样本数据集,在此基础上利用基于编辑的困难负样本挖掘方法构造命名不一致的负样本数据集,结合正负样本数据集生成方法命名一致性检查数据集;之后分别进行方法命名推荐模型和方法命名一致性检查模型的训练:利用方法命名推荐数据集结合提示模板对标识符感知的预训练模型CodeT5进行训练生成方法命名推荐模型,利用方法命名一致性检查数据集对一种基于提示学习的二分类模型进行训练生成方法命名一致性检查模型;最后利用以上两个模型,完成Method命名精准推荐和审查方法的实现。
本发明方法具体步骤如下所示:
第一步,构建方法命名推荐数据集
方法命名推荐数据集的构建如图1所示,首先下载MNire和Java-small/med/large等四个开源数据集,然后进行数据清洗操作对数据形式进行规范,然后从中提取上下文信息,将上下文中程序实体名组成子词序列,最终获得方法命名推荐数据集。
方法命名推荐数据集构建的具体步骤如下:
(1)下载开源数据集MNire和Java-small/med/large;
(2)对数据进行过滤和清洗操作:
1)删除数据集中内容为空的方法;
2)替换数据中的分隔符;
3)拆分标识符,将所有的上下文转化成小写形式并切割成子词序列;
4)标准化长度,其中兄弟方法个数和类属性个数均设置为10,子词序列的最大长度为512;
(3)提取方法上下文信息,包括函数体的方法上下文信息(方法名、标识符名称、返回类型等)和封闭类的方法上下文信息(类名、类属性、兄弟方法等);
(4)最后以方法为粒度,将对应的上下文信息整合起来,构建方法命名推荐数据集。
第二步,构建方法命名一致性检查数据集
如图3所示,将第一步生成的方法命名推荐数据集作为命名一致的正样本数据集,在此基础上利用基于编辑的困难负样本挖掘方法构造命名不一致的负样本数据集,二者结合即生成方法命名一致性检查数据集。
方法命名一致性检查数据集构建的具体步骤如下:
(1)以一定概率随机获取方法命名生成数据集中的名称子词;
(2)对获取的每个子词进行增加、删除、替换以及不做更改等操作;
(3)利用步骤(2)得到的子词并构建不一致的命名数据集;
(4)将方法命名生成数据集作为正样本,步骤(3)得到的不一致的命名数据集作为负样本,
生成方法命名一致性检查数据集。
第三步,训练方法命名推荐模型
如图2所示,利用方法命名推荐数据集,连接方法上下文与指示词,结合搭建的自然语言提示模板构建模板化的提示学习训练数据,然后对标识符感知的预训练模型CodeT5进行训练,训练后生成方法命名推荐模型。
方法命名推荐模型的训练流程如下:
(1)提取方法命名生成数据集中的方法上下文和方法名;
(2)将所有的方法上下文与指示词相连接,构建模板化的提示学习训练数据;
(3)根据(2)得到的数据,对标识符感知的预训练模型CodeT5进行提示学习调优,模型的超参数设置如下:学习率为5e-5,最大输入长度为512,最大输出长度为16,束搜索宽度为10,批大小为16;
(4)模型根据输入的方法上下文生成预测的方法名;
(5)将(1)中的方法名做为真值对模型生成的预测方法名进行精度评价。
第四步,训练方法命名一致性检查模型
如图3所示,利用方法命名一致性检查数据集对一种基于提示学习的二分类模型进行训练,生成方法命名一致性检查模型,其中模型的超参数设置如下:学习率为5e-5,最大输入长度为512,批大小为16。
第五步,实现Method命名精准推荐和审查方法
在完成方法命名推荐模型和方法命名一致性检查模型的训练后,构建Method命名精准推荐和审查方法整体的功能应用,如图5所示,首先从给定的java源文件中提取必要的上下文信息,然后利用方法命名一致性检查模型来判断给定的方法名称是否一致,若一致,则表示给定方法通过一致性检查,否则,方法命名推荐模型将利用之前提取的上下文生成新的候选名称,以取代之前不合适的命名。
Method命名精准推荐和审查方法流程如下:
(1)输入的Java源文件;
(2)对源文件进行删除空方法、替换分隔符、拆分标识符、长度标准化等预处理操作;
(3)提取预处理后文件的方法名和方法上下文;
(4)利用方法命名一致性检查模型判断方法上下文判断和其方法名是否一致,如果模型输出结果为正,则表示二者一致,给定方法通过一致性检查,如果模型输出为负,则表示方法上下文当前的方法名不合适,转入步骤(5);
(5)当方法上下文和方法名未通过方法命名一致性检查时,则调用方法命名推荐模型,以步骤(3)提取的方法上下文作为该模型的输入,生成新的方法名。
为证明本发明方法的有效性,在方法命名推荐任务的对比实验中,基于开源数据集(MNire和Java-small/med/large),选取四个使用最多的基线方法(Code2vec、MNire、Cognac和GTNM)进行比较,实验结果如表1所示;在方法命名一致性检查任务中,选取四个最先进的基线方法(DebugMethodName、MNire、DeepName和Cognac)进行比较,实验结果如表2所示。在方法命名推荐任务和方法命名一致性检查任务中,本发明方法的实验结果均明显优于其他基线方法。
表1
表2
以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的原理和范围,本发明的保护范围应以权利要求书所述为准。
Claims (7)
1.一种方法命名精准推荐和审查方法,其步骤包括:
1)选取多个代码文件,每一所述代码文件包含一软件工程项目的代码和注释信息;提取每一所述代码文件中的方法上下文信息,将每一所述方法上下文信息作为一个训练样本,生成训练数据集;
2)对每一所述训练样本标注一方法名指示词,将各所述训练样本与对应的方法名指示词连接后训练方法命名推荐模型,预测输出各所述训练样本的方法名称;
3)将所述训练数据集作为正样本数据集,并构造命名不一致的负样本数据集,对正、负样本数据集中每一训练样本标注一方法名指示词,将正、负样本数据集中各训练样本与对应的方法名指示词连接,生成方法命名一致性检查数据集;利用所述方法命名一致性检查数据集训练方法命名一致性检查模型;
4)对于一待检测的代码源文件,从该代码源文件中提取给定方法名的方法上下文信息T并输入训练后的方法命名一致性检查模型,判断该方法上下文信息T中的方法与该给定方法名是否一致,若一致则通过一致性检查,否则方法命名推荐模型根据该方法上下文信息T生成新的候选名称。
2.根据权利要求1所述的方法,其特征在于,每一所述方法上下文信息包括函数体信息、封闭类信息;所述函数体信息包括方法名、标识符名称、返回类型,所述封闭类信息包括类名、类属性、兄弟方法。
3.根据权利要求1所述的方法,其特征在于,基于所述正样本数据集利用基于编辑的困难负样本挖掘方法构造命名不一致的负样本数据集。
4.根据权利要求1或2或3所述的方法,其特征在于,所述方法命名推荐模型为对标识符感知的预训练模型CodeT5。
5.根据权利要求1或2或3所述的方法,其特征在于,所述方法命名一致性检查模型为二分类模型。
6.一种服务器,其特征在于,包括存储器和处理器,所述存储器存储计算机程序,所述计算机程序被配置为由所述处理器执行,所述计算机程序包括用于执行权利要求1至5任一所述方法中各步骤的指令。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310289887.XA CN116166789A (zh) | 2023-03-23 | 2023-03-23 | 一种方法命名精准推荐和审查方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310289887.XA CN116166789A (zh) | 2023-03-23 | 2023-03-23 | 一种方法命名精准推荐和审查方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116166789A true CN116166789A (zh) | 2023-05-26 |
Family
ID=86414783
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310289887.XA Pending CN116166789A (zh) | 2023-03-23 | 2023-03-23 | 一种方法命名精准推荐和审查方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116166789A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116703337A (zh) * | 2023-08-08 | 2023-09-05 | 金现代信息产业股份有限公司 | 一种基于人工智能技术的项目文档审查***及方法 |
-
2023
- 2023-03-23 CN CN202310289887.XA patent/CN116166789A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116703337A (zh) * | 2023-08-08 | 2023-09-05 | 金现代信息产业股份有限公司 | 一种基于人工智能技术的项目文档审查***及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019223804A1 (zh) | 一种基于程序分析和循环神经网络的代码注释生成方法 | |
Karampatsis et al. | Big code!= big vocabulary: Open-vocabulary models for source code | |
CN113127339B (zh) | 一种Github开源平台数据的获取方法及源代码缺陷修复*** | |
CN113076133B (zh) | 基于深度学习的Java程序内部注释的生成方法及*** | |
CN113138920B (zh) | 基于知识图谱与语义角色标注的软件缺陷报告分派方法及装置 | |
CN111651198A (zh) | 代码摘要自动化生成方法及装置 | |
CN113190219A (zh) | 一种基于递归神经网络模型的代码注释生成方法 | |
US11403304B2 (en) | Automatically curating existing machine learning projects into a corpus adaptable for use in new machine learning projects | |
CN105786971B (zh) | 一种面向国际汉语教学的语法点识别方法 | |
CN110750297B (zh) | 一种基于程序分析和文本分析的Python代码参考信息生成方法 | |
CN113360582A (zh) | 基于bert模型融合多元实体信息的关系分类方法及*** | |
CN112394973A (zh) | 一种基于伪孪生网络的多语言代码剽窃检测方法 | |
CN116166789A (zh) | 一种方法命名精准推荐和审查方法 | |
CN104750484A (zh) | 一种基于最大熵模型的代码摘要生成方法 | |
Hu et al. | Measuring code maintainability with deep neural networks | |
CN114385491A (zh) | 一种基于深度学习的js转译器缺陷检测方法 | |
CN113806489A (zh) | 用于数据集创建的方法、电子设备和计算机程序产品 | |
Zhang et al. | Beqain: An effective and efficient identifier normalization approach with bert and the question answering system | |
Yin et al. | Multi‐graph learning‐based software defect location | |
CN112667819A (zh) | 一种实体描述推理知识库构建与推理证据量化信息获取方法和装置 | |
CN117473054A (zh) | 基于知识图谱的通用智能问答方法及装置 | |
CN101727451A (zh) | 信息提取方法和装置 | |
CN115438341A (zh) | 提取代码循环计数器的方法、装置、存储介质和电子设备 | |
US12039419B2 (en) | Automatically labeling functional blocks in pipelines of existing machine learning projects in a corpus adaptable for use in new machine learning projects | |
CN112926318A (zh) | 一种基于句法分析的网购评论新情感词提取方法 |
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 |