CN106021410A - 一种基于机器学习的源代码注释质量评估方法 - Google Patents
一种基于机器学习的源代码注释质量评估方法 Download PDFInfo
- Publication number
- CN106021410A CN106021410A CN201610317968.6A CN201610317968A CN106021410A CN 106021410 A CN106021410 A CN 106021410A CN 201610317968 A CN201610317968 A CN 201610317968A CN 106021410 A CN106021410 A CN 106021410A
- Authority
- CN
- China
- Prior art keywords
- annotation
- enter
- quality
- source code
- training
- 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
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/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2411—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
- G06F18/24147—Distances to closest patterns, e.g. nearest neighbour classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
- G06F18/24155—Bayesian classification
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Probability & Statistics with Applications (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种基于机器学习的源代码注释质量评估方法。该方法首先对原始的代码注释进行预处理,清洗掉干扰信息,然后利用特征项选择和提取技术生成特征向量,将不同类别的特征向量输入文本分类器进行训练和调优,使用了多种不同特性的分类器并最终进行分类器融合,得出较为完善和准确的质量评估分类结果。本发明填补了以往只分析代码质量而无注释质量分析方法的空白,克服了代码注释质量依靠个人经验和手工方式评估的低效、主观性强等问题,可用于分析和评估手工编写的代码注释、利用文档自动生成的注释以及挖掘工具自动生成注释等多种来源的注释质量,有效的保证了代码注释质量和可理解性,降低软件维护的成本。
Description
技术领域
本发明涉及机器学习技术,特别涉及源代码注释质量评估方法,提出了一种实用的基于机器学习的源代码注释质量评估方法。
背景技术
机器学习是一门多领域交叉学科,目前存在如下多种定义。机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能,特别是如何在经验学习中改善具体算法的性能。机器学习是对能通过经验自动改进的计算机算法的研究。机器学习是用数据或以往的经验,以此优化计算机程序的性能标准。机器学习已经有了十分广泛的应用,例如数据挖掘、自然语言处理、搜索引擎等。
源代码注释是为了提高源码可读性而进行的自然语言对应性文本描述,主要目的为了辅助程序员进行代码理解,提高软件系统的可维护性。源代码注释产生的途径多种多样,包括最基本的程序员手工编写、基于软件文档的工具自动生成、基于开放资源(如git log、开源社区和问答系统等)的自动提取和生成等,这些不同来源的注释均需要进行质量评估和度量。
本发明涉及的机器学习技术主要包括特征项提取和文本分类,特征项提取具体包括针对注释的格式、自然语言专业词库和文本内容方面的特征抽象和计算,文本分类具体包括基于向量空间的k邻近(KNN)分类方法、朴素贝叶斯(NB)分类方法和支持向量机(SVM)分类方法。
发明内容
本发明的目的在于提供一种基于机器学习的源代码注释质量评估方法。通过这种方法可以高效的客观的评估人工标注的注释、基于文档生成的注释和自动挖掘的注释等不同来源的注释质量,为注释进行自动质量分级,支撑软件源代码的可维护性和可理解性。
本发明的基于机器学习的源代码注释质量评估方法,包括三部分,如图1所示,第一部分是注释数据预处理,第二部分是注释特征项提取,第三部分是注释质量分类,具体描述如下:
1)注释数据预处理:通过对源代码注释数据进行清洗,过滤图片信息、格式和样式信息、超链接和无效字段等信息,保留有效的纯文本注释信息;
2)注释特征项提取:利用特征项提取技术结合源代码注释实际情况进行特征提取和计算,针对注释的格式、计算机自然语言专业词库和注释文本内容等方面进行提取和分类器训练;
3)注释质量分类:结合文本分类技术和分类器融合方法进行注释质量分类,主要采用的分类器包括基于向量空间的k邻近(KNN)分类方法、朴素贝叶斯(NB)分类方法和支持向量机(SVM)分类方法。
下面对本发明方法进行具体说明。
1)注释数据预处理
对原始注释数据库中的注释数据进行逐条清洗和预处理,将预处理后注释依次存入质量评估数据库中。由于注释可能包含富文本信息,如基本的段落格式、字体样式、图片(调用图、流程图、时序图等)、超链接等干扰信息,需要逐步进行去除。在保留的纯文本信息中进行进一步清洗,对文本进行分词和去除停用词,从而提高训练和搜索效率。
2)注释特征项提取
主要针对注释的几大类特征进行分类提取和训练,包括注释格式、对应性特征、语言相关特征、文本内容等方面。
a)格式相关特征项提取,根据函数分析注释的特征,提取了包括“函数名”、“参数”,“返回值”等特征项。
b)对应性特征项提取,首先根据编码风格对代码进行切片得到词项集合s,计算s中所有词项在对应注释中的tf-idf(term frequency-inverse document frequency)权重,以集合s中各词项的tf-idf权重的算术平均值作为代码和注释对应性的量化取值。
c)语言相关特征项提取,根据分析注释的特点共提取“是否含有图片”、“计算机词汇比例”、“注释长度”、“词性数目”、“动词比例”、“形容词比例”等特征项。
d)文本内容相关特征项提取,利用NLPIR/ICTCLAS2014分词系统对清洗后的注释文本进行分词处理,同时利用《百度停用词表》和《哈工大停用词表》进行停用词剔除,共计获取若干词项(如在一个实施例中,获取了1268个词项),计算各注释中词项的tf-idf权重。
3)注释质量分类
利用训练集中获取的分类特征向量,对测试集中的大量数据使用多种分类器进行分类以及分类融合,测试集中的数据同样进行了清洗以及去除停用词等操作。
a)首先将人工标记好的数据按照一定的比例(如7:3)随机分成A,B两组,A组数据作为训练集分别通过NB分类器、KNN分类器、SVM分类器进行训练分类模型。
b)B组数据作为测试集对已经训练好的分类模型进行测试,同时调整各分类器,反复迭代试验使其结果最优,计算并保存各个分类器在结果最优情况下的准确率。
c)通过a)和b)两个步骤已经得到了各分类器最优的模型。将用向量空间模型表示的待标记的注释数据作为各分类器的输入,以步骤b)中获取的各分类器准确率作为权重值,对各分类器的结果进行投票融合,具体过程是将前面的多个分类器结果作为最后一个分类器的输入,最后一个分类器输出即为最终的分类结果(前面多个分类器进行并联,并联分类器整体再和最后一个融合分类器串联)。
具体的步骤如下:
1)注释数据预处理,图2是注释数据预处理流程图,包括:
1a)进入注释质量评估系统,检索是否已经完成注释数据预处理。
1b)如果未完成注释数据清洗,进入1c),否则进入1e)。
1c)逐条去除格式、图片和停用词等信息。
i.逐条去除格式,包括字体字号等样式、空格和回车。
ii.逐条去除图片信息,包括调用图、时序图和流程图等各类图片。
iii.去除超链接、英文单词和缩写等字母信息。
iv.去除标点符号并进行汉语分词,根据词库去除停用词。
1d)将1c)处理得到的注释信息入库,分别录入质量评估数据库的路径和内容字段,进入1b)。
1e)进入注释特征项提取。
2)注释特征项提取,图3是注释特征项提取流程图,包括:
2a)选择训练样本,进行特征项提取和训练。
2b)如果未完成注释格式特征项训练,进入2c),否则进入2d)。
2c)提取注释格式特征并存入训练集,进入2b)。
2d)如果未完成注释对应性特征项训练,进入2e),否则进入2f)。
2e)提取注释对应性特征并存入训练集,进入2d)。
2f)如果未完成注释文本内容特征项训练,进入2g),否则进入2h)。
2g)提取注释文本内容特征并存入训练集,进入2f)。
2h)计算生成特征向量。
3)注释质量分类,图4是注释质量分类流程图,包括:
3a)进行测试集文本分类。
3b)如果未完成测试集的向量空间KNN分类,进入3c),否则进入3d)。
3c)执行KNN分类器,进入3b)。
3d)如果未完成测试集的多项式朴素贝叶斯NB分类,进入3e),否则进入3f)。
3e)执行NB分类器,进入3d)。
3f)如果未完成测试集的支持向量机SVM分类,进入3g),否则进入3h)。
3g)执行SVM分类器,进入3f)。
3h)进行分类器融合,综合各分类器的特点进行投票(具体投票过程如前所述),产生均衡的质量分级评估结果。
本发明结合机器学习中特征项选择和提取技术、文本分类技术和具体的注释文本特点,提出了一种实用的基于机器学习的源代码注释质量评估方法。该方法首先对原始的代码注释进行预处理,清洗掉格式、图片和停用词等干扰信息,然后利用特征项选择和提取技术生成特征向量并进行训练,结合训练得到的特征向量采用文本分类技术进行质量分级,使用了多种不同特性的分类器并最终进行分类器融合,得出较为完善和准确的质量评估分类结果。以往的质量分析主要集中在软件的源代码,该发明及评估方法填补了源代码注释质量分析和评估的空白,克服了代码注释质量依靠开发者的个人经验和手工方式评估的主观性和底效率问题,提供了客观、一致性和高效的分析和评估规则,解决了人工分析低效和标准不一致的问题。
本发明提出的新方法一方面可用于分析和评估开发人员手工编写的代码注释;另一方面可客观评估利用文档自动生成的注释以及挖掘工具自动生成注释的质量,为相关注释自动生成工具的能力评估提供客观依据。本方法通过对注释进行客观高效的自动质量分级,有效的提高软件代码的可理解性,降低软件维护的成本。
附图说明
图1是基于机器学习的源代码注释质量评估流程图。
图2是注释数据预处理流程图。
图3是注释特征项提取流程图。
图4是注释质量分类流程图。
具体实施方式
下面通过实施例对本发明作进一步的说明,但不以任何方式限制本发明的范围。
本实施例设定如下使用场景:
用户拥有Linux-3.5.4版本内核mm模块下的1646条以富文本形式保存的函数分析注释,这些分析注释来自6个单位的28位代码分析人员。但是由于各种因素的限制,这些注释的质量并不保证完全合格。由于数据量较大,用户需要使用本发明的方法对这些注释做自动的质量评估。
1)在开始使用本发明提供的各项工具进行注释质量评估之前需要从已有的注释中抽取一定数量的注释进行人工质量评估,共四个等级:不合格、合格、良好和优秀。这里随机选取1000进行人工标记。标记数据的多少已经标记质量会影响最终的质量评估结果。理论和实验都证明在一定范围内标记数据越多且标记质量有保证的情况下,最终评估结果越好。
2)用户使用前文所述的预处理步骤将待处理的注释文本进行处理。清洗好的数据将被存入数据库中,以备后用。下表给出了部分数据实例:
表1清洗后的注释文本示意表
3)采用本发明提供的特征提取方法进行特征提取,构建注释集合的向量空间模型。首先会提取格式相关特征项、语言相关特征、文本内容相关特征,并计算代码和注释的相关程度。然后,利用这些特征项构建每一条注释的向量表示。最后,将所有的注释向量表示整合,构成一个1646×1289的矩阵,其中1646是注释条数,1289是特征项个数,存入数据库,至此注释集合的向量空间模型构建完成。
4)将已标记的注释按7:3的比例分为A,B两组。首先将A组注释集合的向量表示以及对应的质量评估等级输入本发明提供的分类模块,对各个分类器进行训练。然后,将B组注释集合的向量表示输入本发明提供的分类模块,此时会得出相应注释的质量评估结果。将这些结果与人工标记的结果对比分析,得出各个分类器的准确率,此处的准确率,可以只考虑狭义上的准确率,称为狭义精确度,由于注释质量评估是一种纵向的分类,各个等级上并没有严格的界限,相邻等级上的误差在某种程度上是可以接受的,这种误差在相邻等级水平上的精确度称为相邻精确度,狭义精确度和相邻精确度之和称为广义精确度。并以各个分类器准确率作为权重进行最后结果的投票,即按照各分类器的准确率作为自身的权重系数将分类结果输入最后一个融合分类器,最后输出则是最终分类结果,此过程由程序自动完成。重复以上两步若干次,在此工程中对各个分类器的参数进行调节,取各个分类器结果最优的模型作为最终的分类模型,实施中使用的各分类器最优模型精度对比表如下。
表2各分类器最优模型精度对比表
狭义精确度 | 相邻精确度 | 广义精确度 | |
NB | 0.675 | 0.23 | 0.905 |
KNN | 0.445 | 0.37 | 0.815 |
SVM | 0.605 | 0.32 | 0.95 |
最终结果 | 0.7125 | 0.2125 | 0.925 |
5)通过以上步骤的训练和调优,获得了最优的分类模型。将剩余的大量未经人工质量标记的注释集合向量表示输入优化的分类模型,经过各分类器多次分类和最终的融合分类器投票得到注释质量分级结果。
以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求所述为准。
Claims (8)
1.一种基于机器学习的源代码注释质量评估方法,包括以下步骤:
1)对源代码注释数据进行预处理,得到有效的纯文本注释信息;
2)对预处理后的源代码注释数据进行特征提取,生成特征向量,并进行分类器训练;
3)利用提取的特征向量,使用多种分类器对源代码注释数据进行质量分类,并将各分类器的质量分类结果进行融合,得出最终的源代码注释质量评估结果。
2.如权利要求1所述的方法,其特征在于,步骤1)所述预处理是对源代码注释数据进行清洗,过滤图片信息、格式和样式信息、超链接和无效字段。
3.如权利要求2所述的方法,其特征在于,步骤1)所述预处理的具体步骤包括:
1a)进入注释质量评估系统,检索是否已经完成注释数据预处理;
1b)如果未完成注释数据清洗,进入1c),否则进入1e);
1c)逐条去除格式、图片和停用词信息:
i.逐条去除格式,包括字体字号等样式、空格和回车;
ii.逐条去除图片信息,包括调用图、时序图和流程图;
iii.去除超链接、英文单词和缩写;
iv.去除标点符号并进行汉语分词,根据词库去除停用词;
1d)将1c)处理得到的注释信息入库,分别录入质量评估数据库的路径和内容字段,进入1b);
1e)进入注释特征项提取。
4.如权利要求1所述的方法,其特征在于,步骤2)所述特征提取包括格式相关特征项提取、对应性特征项提取、语言相关特征项提取、文本内容相关特征项提取。
5.如权利要求4所述的方法,其特征在于,步骤2)进行特征提取的具体步骤包括:
2a)选择训练样本,进行特征项提取和训练;
2b)如果未完成注释格式特征项训练,进入2c),否则进入2d);
2c)提取注释格式特征并存入训练集,进入2b);
2d)如果未完成注释对应性特征项训练,进入2e),否则进入2f);
2e)提取注释对应性特征并存入训练集,进入2d);
2f)如果未完成注释文本内容特征项训练,进入2g),否则进入2h);
2g)提取注释文本内容特征并存入训练集,进入2f);
2h)计算生成特征向量。
6.如权利要求1所述的方法,其特征在于,步骤3)采用的分类器包括KNN分类方法、
NB分类方法和SVM分类方法;通过训练集和测试集训练和调优分类模型,融合各分类器调优结果产生最终的质量评估结果。
7.如权利要求6所述的方法,其特征在于,步骤3)的具体步骤包括:
3a)进行测试集文本分类;
3b)如果未完成测试集的向量空间KNN分类,进入3c),否则进入3d);
3c)执行KNN分类器,进入3b);
3d)如果未完成测试集的多项式朴素贝叶斯NB分类,进入3e),否则进入3f);
3e)执行NB分类器,进入3d);
3f)如果未完成测试集的支持向量机SVM分类,进入3g),否则进入3h);
3g)执行SVM分类器,进入3f);
3h)进行分类器融合,综合各分类器的特点进行投票,产生均衡的质量分级评估结果。
8.如权利要求1所述的方法,其特征在于,预先从已有的源代码注释中抽取一定数量的注释进行人工质量评估,并在步骤3)将各分类器的质量分类结果与人工质量评估结果进行对比分析,得出各个分类器的质量评估的准确率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610317968.6A CN106021410A (zh) | 2016-05-12 | 2016-05-12 | 一种基于机器学习的源代码注释质量评估方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610317968.6A CN106021410A (zh) | 2016-05-12 | 2016-05-12 | 一种基于机器学习的源代码注释质量评估方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106021410A true CN106021410A (zh) | 2016-10-12 |
Family
ID=57100768
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610317968.6A Pending CN106021410A (zh) | 2016-05-12 | 2016-05-12 | 一种基于机器学习的源代码注释质量评估方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106021410A (zh) |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106681708A (zh) * | 2016-11-16 | 2017-05-17 | 中国科学院软件研究所 | 一种基于数据挖掘的源代码注释自动生成方法 |
CN107067025A (zh) * | 2017-02-15 | 2017-08-18 | 重庆邮电大学 | 一种基于主动学习的数据自动标注方法 |
CN107193570A (zh) * | 2017-05-31 | 2017-09-22 | 郑州云海信息技术有限公司 | 一种自动生成api文档的方法及系统 |
CN107704495A (zh) * | 2017-08-25 | 2018-02-16 | 平安科技(深圳)有限公司 | 主题分类器的训练方法、装置及计算机可读存储介质 |
CN107729925A (zh) * | 2017-09-26 | 2018-02-23 | 中国科学技术大学 | 对程序竞赛型源代码按照解题方法做自动分类与评分的方法 |
CN107784591A (zh) * | 2017-02-16 | 2018-03-09 | 平安科技(深圳)有限公司 | 名单数据处理方法及装置 |
CN107992800A (zh) * | 2017-11-10 | 2018-05-04 | 杭州晟元数据安全技术股份有限公司 | 一种基于svm和随机森林的指纹图像质量判断方法 |
CN108199951A (zh) * | 2018-01-04 | 2018-06-22 | 焦点科技股份有限公司 | 一种基于多算法融合模型的垃圾邮件过滤方法 |
CN108491459A (zh) * | 2018-03-05 | 2018-09-04 | 中国人民解放军国防科技大学 | 一种软件代码摘要自动生成模型的优化方法 |
CN108537174A (zh) * | 2018-04-09 | 2018-09-14 | 山东大学 | 时变工况条件下旋转机械运行状态在线监测方法及系统 |
CN109240163A (zh) * | 2018-09-25 | 2019-01-18 | 南京信息工程大学 | 用于工业化制造的智能节点及其控制方法 |
CN109491915A (zh) * | 2018-11-09 | 2019-03-19 | 网易(杭州)网络有限公司 | 数据处理方法及装置、介质和计算设备 |
WO2019128124A1 (zh) * | 2017-12-29 | 2019-07-04 | 中国银联股份有限公司 | 一种文本质量指标获取方法及装置 |
CN110069252A (zh) * | 2019-04-11 | 2019-07-30 | 浙江网新恒天软件有限公司 | 一种源代码文件多业务标签自动化分类方法 |
CN110858176A (zh) * | 2018-08-24 | 2020-03-03 | 西门子股份公司 | 代码质量评估方法、装置、系统及存储介质 |
CN111144453A (zh) * | 2019-12-11 | 2020-05-12 | 中科院计算技术研究所大数据研究院 | 构建多模型融合计算模型的方法及设备、网站数据识别方法及设备 |
CN111290756A (zh) * | 2020-02-10 | 2020-06-16 | 大连海事大学 | 一种基于对偶强化学习的代码-注释转换方法 |
CN112836477A (zh) * | 2021-01-15 | 2021-05-25 | 亿企赢网络科技有限公司 | 代码注释文档的生成方法、装置、电子设备及存储介质 |
CN113761444A (zh) * | 2021-09-08 | 2021-12-07 | 未鲲(上海)科技服务有限公司 | 基于代码评分的教程推荐方法、教程推荐装置及终端设备 |
US11262985B2 (en) | 2020-03-10 | 2022-03-01 | International Business Machines Corporation | Pretraining utilizing software dependencies |
WO2022121146A1 (zh) * | 2020-12-07 | 2022-06-16 | 中山大学 | 一种代码片段重要性的判断方法和装置 |
US11556335B1 (en) | 2021-09-14 | 2023-01-17 | International Business Machines Corporation | Annotating program code |
CN116302043A (zh) * | 2023-05-25 | 2023-06-23 | 深圳市明源云科技有限公司 | 代码维护问题检测方法、装置、电子设备及可读存储介质 |
US20240264986A1 (en) * | 2023-01-18 | 2024-08-08 | Google Llc | Automated, In-Context Data Quality Annotations for Data Analytics Visualization |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102339218A (zh) * | 2010-07-21 | 2012-02-01 | 阳振庭 | 一种程序代码注释的管理方法及装置 |
CN104123273A (zh) * | 2014-07-24 | 2014-10-29 | 扬州大学 | 一种面向对象程序的注释质量评价和注释建议方法 |
-
2016
- 2016-05-12 CN CN201610317968.6A patent/CN106021410A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102339218A (zh) * | 2010-07-21 | 2012-02-01 | 阳振庭 | 一种程序代码注释的管理方法及装置 |
CN104123273A (zh) * | 2014-07-24 | 2014-10-29 | 扬州大学 | 一种面向对象程序的注释质量评价和注释建议方法 |
Non-Patent Citations (1)
Title |
---|
高晓伟 等: "源代码分析注释的质量评价框架", 《计算机系统应用》 * |
Cited By (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106681708A (zh) * | 2016-11-16 | 2017-05-17 | 中国科学院软件研究所 | 一种基于数据挖掘的源代码注释自动生成方法 |
CN107067025A (zh) * | 2017-02-15 | 2017-08-18 | 重庆邮电大学 | 一种基于主动学习的数据自动标注方法 |
CN107067025B (zh) * | 2017-02-15 | 2020-12-22 | 重庆邮电大学 | 一种基于主动学习的文本数据自动标注方法 |
CN107784591B (zh) * | 2017-02-16 | 2021-04-20 | 平安科技(深圳)有限公司 | 名单数据处理方法及装置 |
CN107784591A (zh) * | 2017-02-16 | 2018-03-09 | 平安科技(深圳)有限公司 | 名单数据处理方法及装置 |
CN107193570A (zh) * | 2017-05-31 | 2017-09-22 | 郑州云海信息技术有限公司 | 一种自动生成api文档的方法及系统 |
WO2019037197A1 (zh) * | 2017-08-25 | 2019-02-28 | 平安科技(深圳)有限公司 | 主题分类器的训练方法、装置及计算机可读存储介质 |
CN107704495B (zh) * | 2017-08-25 | 2018-08-10 | 平安科技(深圳)有限公司 | 主题分类器的训练方法、装置及计算机可读存储介质 |
CN107704495A (zh) * | 2017-08-25 | 2018-02-16 | 平安科技(深圳)有限公司 | 主题分类器的训练方法、装置及计算机可读存储介质 |
CN107729925B (zh) * | 2017-09-26 | 2020-03-31 | 中国科学技术大学 | 对程序竞赛型源代码按照解题方法做自动分类与评分的方法 |
CN107729925A (zh) * | 2017-09-26 | 2018-02-23 | 中国科学技术大学 | 对程序竞赛型源代码按照解题方法做自动分类与评分的方法 |
CN107992800A (zh) * | 2017-11-10 | 2018-05-04 | 杭州晟元数据安全技术股份有限公司 | 一种基于svm和随机森林的指纹图像质量判断方法 |
WO2019128124A1 (zh) * | 2017-12-29 | 2019-07-04 | 中国银联股份有限公司 | 一种文本质量指标获取方法及装置 |
CN108199951A (zh) * | 2018-01-04 | 2018-06-22 | 焦点科技股份有限公司 | 一种基于多算法融合模型的垃圾邮件过滤方法 |
CN108491459A (zh) * | 2018-03-05 | 2018-09-04 | 中国人民解放军国防科技大学 | 一种软件代码摘要自动生成模型的优化方法 |
CN108491459B (zh) * | 2018-03-05 | 2021-10-26 | 中国人民解放军国防科技大学 | 一种软件代码摘要自动生成模型的优化方法 |
CN108537174B (zh) * | 2018-04-09 | 2020-05-08 | 山东大学 | 时变工况条件下旋转机械运行状态在线监测方法及系统 |
CN108537174A (zh) * | 2018-04-09 | 2018-09-14 | 山东大学 | 时变工况条件下旋转机械运行状态在线监测方法及系统 |
CN110858176B (zh) * | 2018-08-24 | 2024-04-02 | 西门子股份公司 | 代码质量评估方法、装置、系统及存储介质 |
CN110858176A (zh) * | 2018-08-24 | 2020-03-03 | 西门子股份公司 | 代码质量评估方法、装置、系统及存储介质 |
CN109240163A (zh) * | 2018-09-25 | 2019-01-18 | 南京信息工程大学 | 用于工业化制造的智能节点及其控制方法 |
CN109240163B (zh) * | 2018-09-25 | 2024-01-02 | 南京信息工程大学 | 用于工业化制造的智能节点及其控制方法 |
CN109491915A (zh) * | 2018-11-09 | 2019-03-19 | 网易(杭州)网络有限公司 | 数据处理方法及装置、介质和计算设备 |
CN110069252A (zh) * | 2019-04-11 | 2019-07-30 | 浙江网新恒天软件有限公司 | 一种源代码文件多业务标签自动化分类方法 |
CN111144453A (zh) * | 2019-12-11 | 2020-05-12 | 中科院计算技术研究所大数据研究院 | 构建多模型融合计算模型的方法及设备、网站数据识别方法及设备 |
CN111290756A (zh) * | 2020-02-10 | 2020-06-16 | 大连海事大学 | 一种基于对偶强化学习的代码-注释转换方法 |
CN111290756B (zh) * | 2020-02-10 | 2023-08-18 | 大连海事大学 | 一种基于对偶强化学习的代码-注释转换方法 |
US11262985B2 (en) | 2020-03-10 | 2022-03-01 | International Business Machines Corporation | Pretraining utilizing software dependencies |
WO2022121146A1 (zh) * | 2020-12-07 | 2022-06-16 | 中山大学 | 一种代码片段重要性的判断方法和装置 |
CN112836477B (zh) * | 2021-01-15 | 2024-02-09 | 亿企赢网络科技有限公司 | 代码注释文档的生成方法、装置、电子设备及存储介质 |
CN112836477A (zh) * | 2021-01-15 | 2021-05-25 | 亿企赢网络科技有限公司 | 代码注释文档的生成方法、装置、电子设备及存储介质 |
CN113761444A (zh) * | 2021-09-08 | 2021-12-07 | 未鲲(上海)科技服务有限公司 | 基于代码评分的教程推荐方法、教程推荐装置及终端设备 |
US11556335B1 (en) | 2021-09-14 | 2023-01-17 | International Business Machines Corporation | Annotating program code |
US20240264986A1 (en) * | 2023-01-18 | 2024-08-08 | Google Llc | Automated, In-Context Data Quality Annotations for Data Analytics Visualization |
CN116302043B (zh) * | 2023-05-25 | 2023-10-10 | 深圳市明源云科技有限公司 | 代码维护问题检测方法、装置、电子设备及可读存储介质 |
CN116302043A (zh) * | 2023-05-25 | 2023-06-23 | 深圳市明源云科技有限公司 | 代码维护问题检测方法、装置、电子设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106021410A (zh) | 一种基于机器学习的源代码注释质量评估方法 | |
CN105912625B (zh) | 一种面向链接数据的实体分类方法和系统 | |
CN108763484A (zh) | 一种基于lda主题模型的法条推荐方法 | |
CN106776538A (zh) | 企业非标准格式文档的信息提取方法 | |
CN108182175B (zh) | 一种文本质量指标获取方法及装置 | |
CN107943911A (zh) | 数据抽取方法、装置、计算机设备及可读存储介质 | |
CN107944014A (zh) | 一种基于深度学习的中文文本情感分析方法 | |
CN104408093A (zh) | 一种新闻事件要素抽取方法与装置 | |
CN101609450A (zh) | 基于训练集的网页分类方法 | |
CN102495892A (zh) | 一种网页信息抽取方法 | |
CN109492106B (zh) | 一种文本代码相结合的缺陷原因自动分类方法 | |
CN105912576A (zh) | 情感分类方法及系统 | |
CN104361037B (zh) | 微博分类方法及装置 | |
CN105975491A (zh) | 企业新闻分析方法及系统 | |
CN107832781A (zh) | 一种面向多源数据的软件缺陷表示学习方法 | |
CN112051986B (zh) | 基于开源知识的代码搜索推荐装置及方法 | |
CN104503998A (zh) | 针对用户查询句的类型识别方法及装置 | |
CN101645083A (zh) | 一种基于概念符号的文本领域的获取系统及方法 | |
CN108199951A (zh) | 一种基于多算法融合模型的垃圾邮件过滤方法 | |
CN115796181A (zh) | 一种针对化工领域的文本关系抽取方法 | |
CN103473262A (zh) | 一种基于关联规则的Web评论观点自动分类系统及分类方法 | |
CN113312476A (zh) | 一种文本自动打标签方法及其装置和终端 | |
CN117474507A (zh) | 一种基于大数据应用技术的智能招聘匹配方法及系统 | |
CN105609116A (zh) | 一种语音情感维度区域的自动识别方法 | |
CN110910175A (zh) | 一种旅游门票产品画像生成方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20161012 |
|
RJ01 | Rejection of invention patent application after publication |