CN108108168B - 结合代码演化信息构造代码坏味训练数据集的方法 - Google Patents
结合代码演化信息构造代码坏味训练数据集的方法 Download PDFInfo
- Publication number
- CN108108168B CN108108168B CN201711365477.XA CN201711365477A CN108108168B CN 108108168 B CN108108168 B CN 108108168B CN 201711365477 A CN201711365477 A CN 201711365477A CN 108108168 B CN108108168 B CN 108108168B
- Authority
- CN
- China
- Prior art keywords
- bad
- entities
- smell
- code
- flavor
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000012549 training Methods 0.000 title claims abstract description 45
- 206010013911 Dysgeusia Diseases 0.000 title claims description 22
- 238000005259 measurement Methods 0.000 claims abstract description 35
- 239000000796 flavoring agent Substances 0.000 claims abstract description 31
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 20
- 230000009467 reduction Effects 0.000 claims abstract description 10
- 230000002068 genetic effect Effects 0.000 claims abstract description 8
- 238000001514 detection method Methods 0.000 claims description 21
- 230000035772 mutation Effects 0.000 claims description 9
- 230000008859 change Effects 0.000 claims description 7
- 238000010801 machine learning Methods 0.000 claims description 7
- 230000008878 coupling Effects 0.000 claims description 6
- 238000010168 coupling process Methods 0.000 claims description 6
- 238000005859 coupling reaction Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 claims description 6
- 238000005070 sampling Methods 0.000 claims description 5
- 238000001802 infusion Methods 0.000 claims description 4
- 238000007635 classification algorithm Methods 0.000 claims description 3
- 238000000605 extraction Methods 0.000 claims description 2
- 235000019580 granularity Nutrition 0.000 claims 1
- 235000019634 flavors Nutrition 0.000 abstract 1
- 230000035943 smell Effects 0.000 description 62
- 238000002372 labelling Methods 0.000 description 5
- 238000011160 research Methods 0.000 description 4
- 238000010276 construction Methods 0.000 description 3
- 238000003066 decision tree Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 238000012097 association analysis method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
Images
Classifications
-
- 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/44—Encoding
- G06F8/443—Optimisation
- G06F8/4434—Reducing the memory space required by the program code
- G06F8/4435—Detection or removal of dead or redundant code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Software Systems (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Medical Treatment And Welfare Office Work (AREA)
Abstract
本发明涉及一种结合代码演化信息构造代码坏味训练数据集的方法,包括有以下步骤:A、从网络源代码仓库中获取一个软件的基线版本和基线版本之后的对照版本的源代码;B、对基线版本和对照版本的源代码实体进行检测,并提取基线版本中的变化坏味实体和无坏味实体,将变化坏味实体标注为具有坏味的实体,将无坏味实体标注为不具有坏味的实体;C、抽取数量与变化坏味实体数量相当的无坏味实体;D、计算变化坏味实体和无坏味实体在基线版本源代码中的度量特征;E、变化坏味实体和无坏味实体组成变化坏味训练数据集;F、利用遗传算法对变化坏味训练数据集内的实体的度量特征进行降维,降维后的变化坏味实体和无坏味实体组成代码坏味训练数据集。
Description
技术领域
本发明涉及代码坏味检测技术领域,更具体地,涉及一种结合代码演化信息构造代码坏味训练数据集的方法。
背景技术
代码坏味自动检测是目前软件工程研究的热点问题之一,其中一类重要的方法是基于机器学习算法构建模型对代码是否存在坏味进行分类,影响这类方法准确性的关键之一是用于构建机器学习算法模型的训练数据集。目前这类方法都是使用多个开源软件项目,通过人工审查项目源代码或使用自动工具(例如iPlasma,inFusion,PMD等)标注项目的实体(类/方法)是否含有代码坏味,将这些开源软件项目的实体及其是否有坏味的标注作为有监督机器学习算法的训练数据集,得到有坏味实体的特征训练模型,然后进行代码坏味的自动检测。
近年来,代码坏味自动检测的研究取得了一定的成果。Maiga等学者于2012年提出的一种支持向量机的方法检测软件源代码中的坏味,通过一个给定的训练集,可以学习如何识别类似的坏味。这种方法的特点是不依赖于大量的反模式知识,通过采用增量的支持向量机和程序员的反馈来提高精度。但是用于支持向量机算法训练的数据集依然需要根据坏味的定义和上下文,人工进行标注。Palomba等学者于2013年提出的一种名为HIST(Historical Information for Smell deTection)的方法,他们通过分析从版本管理工具中提取出的历史修改信息采用启发式算法检测坏味,这种方法要求待检测的程序需要有版本管理工具提供修改信息,同时由于版本管理工具只提供文件级别的变化,依然需要人工标注文件内部各个类、方法、属性的变化,最后对于坏味实体的判断需要人工的参与。Sahin等学者于2014年将获取坏味检测规则的方法定义为一个双层优化问题,上层是基于遗传算法生成的检测规则,而下层是典型的坏味实体,只有下层的最优选择才会成为上层优化的候选方案。这种方法的检测依据仍然是程序度量值,通过上层的遗传算法总结规律,但是下层的典型坏味数据集仍然需要人工标注,其数量有限,并且不能保证覆盖各种坏味情况。ShizheFu等学者于2015年采用关联分析的方法结合演化信息识别坏味,这种方法首先从版本管理工具中提取目标系统的变化信息,然后进行预处理构造变化数据集,接下来采用频繁项算法,比如Apriori或FP增长算法对变化数据集进行挖掘,输出不同代码实体的耦合情况,最后根据不同的坏味在文献中的定义,定义启发式算法,将关联规则和结构信息结合起来自动寻找坏味。这种方法和HIST比较相似,仍然需要手工的干预,并且结合了演化数据来检测坏味。Lucas等学者于2015年研究了决策树算法在识别坏味方面的有效性,他们基于Ptidej团队的数据集,通过决策树算法生成模型进行预测,结果表明决策树算法能够有效的学习坏味检测的规则,但是这种方法的准确率依然取决于标注的可信度。
综上可知,现有的标注方法通常是基于人工或者工具,但都存在局限性。通过人工审查项目源代码标注坏味依赖审查者的主观经验,且难以对大规模的项目源代码进行人工审查;使用自动工具标注坏味则依赖工具本身的准确度,但自动工具本身的准确度难以保证,甚至不同的自动工具对同一个实体是否有坏味的检测结果也不尽相同。这些问题使得要得到大规模可信的训练数据集变得很困难,所以有必要加以改进。
发明内容
本发明提供的结合代码演化信息构造代码坏味训练数据集的方法利用现有工具分别对同一软件的基线版本和对照版本的实体进行检测,提取代码演化过程中的变化坏味实体和无坏味实体构造训练数据集,可以解决现有工具生成的数据集可信度较低的问题,同时也解决了手工标注无法生成大规模数据集的问题;并且结合遗传算法,对数据集中的度量特征进行降维,避免过拟合,可以进一步提升该数据集预测坏味的能力。
为实现上述目的,本发明采取的技术方案为:
结合代码演化信息构造代码坏味训练数据集的方法,包括有以下步骤:
A、从网络源代码仓库中获取一个软件的基线版本的源代码和基线版本之后的对照版本的源代码;
B、使用代码坏味自动检测工具对基线版本和对照版本的源代码实体进行检测,并提取基线版本中的变化坏味实体和无坏味实体,然后将变化坏味实体标注为具有坏味的实体,将无坏味实体标注为不具有坏味的实体;其中变化坏味实体指的是在基线版本中被工具识别为有坏味而在对照版本中被工具识别为没有坏味的实体,而无坏味实体指的是在基线版本和对照版本中都被工具识别为没有坏味的实体;
C、利用基于抽样的方法,随机抽取数量与变化坏味实体数量相当的无坏味实体;
D、计算变化坏味实体和无坏味实体在基线版本源代码中的度量特征;
E、变化坏味实体和无坏味实体的标识符、度量特征、标注组成变化坏味训练数据集;
F、利用遗传算法对变化坏味训练数据集内的实体的度量特征进行降维,降维后的变化坏味实体和无坏味实体组成代码坏味训练数据集。
优选地,步骤A所选的基线版本和对照版本之间需要经历至少一个主版本号变更或多个次版本号变更。
优选地,所述步骤C采用不充分抽样对无坏味实体进行随机抽取,抽取的无坏味实体数量与变化坏味实体数量的比例在1:1到2:1之间。
优选地,所述步骤D计算的度量特征包括软件规模度量、内聚度度量、耦合度度量和继承度量。
优选地,所述步骤F进行降维的具体过程如下:
S1.使用二进制序列对变化坏味训练数据集内的变化坏味实体或无坏味实体的度量特征进行表示,其中,0代表不选择度量特征中的某一度量,1代表选择度量特征中的某一度量;
S2.为变化坏味训练数据集内的变化坏味实体和无坏味实体的度量特征初始化一个二进制序列种群;
S3.将二进制序列种群内的二进制序列个体作为输入,利用有监督的机器学习分类算法,建立代码坏味预测模型,使用十折交叉法计算预测模型的准确率作为个体的适应度值;
S4.判断二进制序列个体的平均准确率是否已经处于稳定的阶段,若是,则输出适应度值最高的二进制序列个体作为最优的二进制序列对实体的度量特征进行降维;若否则采用轮盘赌选择亲代,通过均匀交叉及位翻转变异产生新的二进制序列个体,然后重复步骤S3;
其中均匀交叉指的是后代二进制序列个体的每个位都有50%的机会来自第一个亲代或其第二个亲代,位翻转变异指的是二进制序列个体的每一位在变异时是以一定变异率由0翻转到1,或从1翻转到0。
优选地,所述步骤B使用到的代码坏味自动检测工具为iPlasma、inFusion、JDeodorant、CheckStyle、PMD的一种。
与现有技术相比,本发明的优点和有益效果是:
1)本发明提供的方法结合代码演化信息对变化坏味实体和无坏味实体的标注可以解决现有技术使用工具标注存在的可信度难以保证的技术缺陷,以及解决手动检测存在的无法得到大规模的代码坏味训练数据集的技术缺陷,得到更可信的大规模的代码坏味训练数据集。
2)传统构造坏味训练数据集的方法不会根据具体的坏味对度量特征降维,过多的度量可能会导致过拟合现象,影响预测的准确率。本发明提供的方法利用遗传算法对训练数据集的度量特征进行降维,可以获得检测坏味的本质特征,去除无用噪声,避免过拟合,进一步提升训练数据集构造模型的预测能力。
附图说明
图1为方法的流程示意图。
图2为实体的示例图。
图3为进行降维的过程图。
具体实施方式
对某个软件项目的给定版本,利用代码坏味自动检测工具标注为坏味的实体可分为两类:一类在后续某个版本被代码坏味自动检测工具检测为没有坏味的实体,称为变化坏味实体;另一类是在后续某个版本中依然被检测为有坏味的实体,称为未变化坏味实体。经过研究发现,在利用代码坏味自动检测工具标注实体是否有坏味的训练数据集中,结合软件演化的历史信息,只将变化坏味实体作为真正有坏味的实体,将它们和在基线版本与后续某个版本中都没有被代码坏味自动检测工具识别为坏味的实体一同训练构建有监督机器学习算法的模型,而不是像现有方法中仅仅依赖代码坏味自动检测工具的标注,可提高模型的准确度。
为使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合附图和具体实施例,进一步阐述本发明是如何实施的。
参见图1,本发明提出一种结合代码演化信息构造坏味训练数据集的方法,具体步骤如下:
A、从网络源代码仓库中获取一个软件的基线版本的源代码和基线版本之后的对照版本的源代码。
其中,步骤A所选的基线版本和对照版本之间需要经历至少一个主版本号变更或多个次版本号变更。
B、使用代码坏味自动检测工具对基线版本和对照版本的源代码实体进行检测,并提取基线版本中的变化坏味实体和无坏味实体,然后将变化坏味实体标注为具有坏味的实体,将无坏味实体标注为不具有坏味的实体;其中变化坏味实体指的是在基线版本中被工具识别为有坏味而在对照版本中被工具识别为没有坏味的实体,而无坏味实体指的是在基线版本和对照版本中都被工具识别为没有坏味的实体。
其中,步骤B使用到的代码坏味自动检测工具为iPlasma、inFusion、JDeodorant、CheckStyle、PMD的一种。实体包括了类和方法这两种粒度上的实体,实体全类名或方法名作为唯一的标识符。本实施中,将变化坏味实体标注为TRUE,将无坏味实体标注为FALSE。
C、利用基于抽样的方法,随机抽取数量与变化坏味实体数量相当的无坏味实体。
其中,步骤C采用不充分抽样对无坏味实体进行随机抽取,抽取的无坏味实体数量与变化坏味实体数量的比例在1:1到2:1之间。
D、计算变化坏味实体和无坏味实体在基线版本源代码中的度量特征。
具体的,计算的度量特征包括了如下四种维度的度量:
1)软件规模度量,例如代码总行数(LOC),方法数(NOM),属性数(NOA)等。
2)内聚度度量,例如圈复杂度(CYCLO),最大嵌套级别(MAXNESTING),可访问的变量数(NOAV),局部变量数(NOLV)等。
3)耦合度度量,例如访问外部数据数(ATFD),提供外部数据数(FDP),耦合强度(CINT),类耦合类数(CBO)等。
继承度量,例如类继承深度(DIT),重写方法数(NMO)等。
E、变化坏味实体和无坏味实体的标识符、度量特征、标注组成变化坏味训练数据集。
具体的,如图2所示,变化坏味训练数据集可看做一张二维表,每一行代表一个实体,而列则包含实体的唯一标识符、对实体计算的多个度量以及对实体是否具有该种坏味的逻辑值标注。
F、利用遗传算法对变化坏味训练数据集内的实体的度量特征进行降维,降维后的变化坏味实体和无坏味实体组成代码坏味训练数据集。
具体如图3所示,进行降维的具体过程如下:
S1.使用二进制序列对变化坏味训练数据集内的变化坏味实体或无坏味实体的度量特征进行表示,其中,0代表不选择度量特征中的某一度量,1代表选择度量特征中的某一度量;
S2.为变化坏味训练数据集内的变化坏味实体和无坏味实体的度量特征初始化一个二进制序列种群;
S3.将二进制序列种群内的二进制序列个体作为输入,利用有监督的机器学习分类算法,建立代码坏味预测模型,使用十折交叉法计算预测模型的准确率作为个体的适应度值;
S4.判断二进制序列个体的平均准确率是否已经处于稳定的阶段,若是,则输出适应度值最高的二进制序列个体作为最优的二进制序列对实体的度量特征进行降维;若否则采用轮盘赌选择亲代,通过均匀交叉及位翻转变异产生新的二进制序列个体,然后重复步骤S3;
其中均匀交叉指的是后代二进制序列个体的每个位都有50%的机会来自第一个亲代或其第二个亲代,位翻转变异指的是二进制序列个体的每一位在变异时是以一定变异率由0翻转到1,或从1翻转到0。
最后说明,以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (6)
1.结合代码演化信息构造代码坏味训练数据集的方法,其特征在于:包括有以下步骤:
A、从网络源代码仓库中获取一个软件的基线版本的源代码和基线版本之后的对照版本的源代码;
B、使用代码坏味自动检测工具对基线版本和对照版本的源代码实体进行检测,并提取基线版本中的变化坏味实体和无坏味实体,然后将变化坏味实体标注为具有坏味的实体,将无坏味实体标注为不具有坏味的实体;其中变化坏味实体指的是在基线版本中被工具识别为有坏味而在对照版本中被工具识别为没有坏味的实体,而无坏味实体指的是在基线版本和对照版本中都被工具识别为没有坏味的实体;
C、利用基于抽样的方法,随机抽取数量与变化坏味实体数量相当的无坏味实体;
D、计算变化坏味实体和无坏味实体在基线版本源代码中的度量特征;
E、实体包括类和方法两种粒度上的实体,实体全类名或方法名作为标识符,变化坏味实体和无坏味实体的标识符、度量特征、标注组成变化坏味训练数据集;
F、利用遗传算法对变化坏味训练数据集内的实体的度量特征进行降维,降维后的变化坏味实体和无坏味实体组成代码坏味训练数据集。
2.根据权利要求1所述的结合代码演化信息构造代码坏味训练数据集的方法,其特征在于:步骤A所选的基线版本和对照版本之间需要经历至少一个主版本号变更或多个次版本号变更。
3.根据权利要求1所述的结合代码演化信息构造代码坏味训练数据集的方法,其特征在于:所述步骤C采用不充分抽样对无坏味实体进行随机抽取,抽取的无坏味实体数量与变化坏味实体数量的比例在1∶1到2∶1之间。
4.根据权利要求1所述的结合代码演化信息构造代码坏味训练数据集的方法,其特征在于:所述步骤D计算的度量特征包括软件规模度量、内聚度度量、耦合度度量和继承度量。
5.根据权利要求1~4任一项所述的结合代码演化信息构造代码坏味训练数据集的方法,其特征在于:所述步骤F进行降维的具体过程如下:
S1.使用二进制序列对变化坏味训练数据集内的变化坏味实体或无坏味实体的度量特征进行表示,其中,0代表不选择度量特征中的某一度量,1代表选择度量特征中的某一度量;
S2.为变化坏味训练数据集内的变化坏味实体和无坏味实体的度量特征初始化一个二进制序列种群;
S3.将二进制序列种群内的二进制序列个体作为输入,利用有监督的机器学习分类算法,建立代码坏味预测模型,使用十折交叉法计算预测模型的准确率作为个体的适应度值;
S4.判断二进制序列个体的平均准确率是否已经处于稳定的阶段,若是,则输出适应度值最高的二进制序列个体作为最优的二进制序列对实体的度量特征进行降维;若否则采用轮盘赌选择亲代,通过均匀交叉及位翻转变异产生新的二进制序列个体,然后重复步骤S3;
其中均匀交叉指的是后代二进制序列个体的每个位都有50%的机会来自第一个亲代或其第二个亲代,位翻转变异指的是二进制序列个体的每一位在变异时是以一定变异率由0翻转到1,或从1翻转到0。
6.根据权利要求5所述的结合代码演化信息构造代码坏味训练数据集的方法,其特征在于:所述步骤B使用到的代码坏味自动检测工具为iPlasma、inFusion、JDeodorant、CheckStyle、PMD的一种。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711365477.XA CN108108168B (zh) | 2017-12-18 | 2017-12-18 | 结合代码演化信息构造代码坏味训练数据集的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711365477.XA CN108108168B (zh) | 2017-12-18 | 2017-12-18 | 结合代码演化信息构造代码坏味训练数据集的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108108168A CN108108168A (zh) | 2018-06-01 |
CN108108168B true CN108108168B (zh) | 2021-02-02 |
Family
ID=62210877
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711365477.XA Expired - Fee Related CN108108168B (zh) | 2017-12-18 | 2017-12-18 | 结合代码演化信息构造代码坏味训练数据集的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108108168B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110502277B (zh) * | 2019-08-30 | 2023-04-07 | 西安邮电大学 | 一种基于bp神经网络的代码坏味检测方法 |
CN111290777B (zh) * | 2020-01-23 | 2021-09-17 | 复旦大学 | 一种面向软件代码单元和代码度量的代码变更序列方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6282527B1 (en) * | 1997-06-27 | 2001-08-28 | Microsoft Corporation | Adaptive problem solving method and apparatus utilizing evolutionary computation techniques |
CN106096635A (zh) * | 2016-06-06 | 2016-11-09 | 重庆大学 | 基于阈值操作的代价敏感神经网络的警告分类方法 |
CN106201871A (zh) * | 2016-06-30 | 2016-12-07 | 重庆大学 | 基于代价敏感半监督的软件缺陷预测方法 |
CN106528428A (zh) * | 2016-11-24 | 2017-03-22 | 中山大学 | 一种软件易变性预测模型的构建方法 |
-
2017
- 2017-12-18 CN CN201711365477.XA patent/CN108108168B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6282527B1 (en) * | 1997-06-27 | 2001-08-28 | Microsoft Corporation | Adaptive problem solving method and apparatus utilizing evolutionary computation techniques |
CN106096635A (zh) * | 2016-06-06 | 2016-11-09 | 重庆大学 | 基于阈值操作的代价敏感神经网络的警告分类方法 |
CN106201871A (zh) * | 2016-06-30 | 2016-12-07 | 重庆大学 | 基于代价敏感半监督的软件缺陷预测方法 |
CN106528428A (zh) * | 2016-11-24 | 2017-03-22 | 中山大学 | 一种软件易变性预测模型的构建方法 |
Non-Patent Citations (3)
Title |
---|
"Comparing and experimenting machine learning";F. Arcelli Fontana;《Empir Software Eng》;20150606;全文 * |
"基于软件演化数据挖掘的代码坏味道检测";傅诗哲;《万方》;20171129;全文 * |
"面向代码坏味检测的阈值动态优化方法";刘秋荣;《中国优秀硕士学位论文全文数据库信息科技辑》;20161130;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN108108168A (zh) | 2018-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108549954B (zh) | 风险模型训练方法、风险识别方法、装置、设备及介质 | |
CN111798312B (zh) | 一种基于孤立森林算法的金融交易系统异常识别方法 | |
US11360235B2 (en) | Modeling method and method for diagnosing lost circulation | |
US8200693B2 (en) | Decision logic comparison and review | |
Di Maio et al. | Ensemble-approaches for clustering health status of oil sand pumps | |
CN108664269A (zh) | 一种基于深度学习的特征依恋代码异味检测方法 | |
CN110502277B (zh) | 一种基于bp神经网络的代码坏味检测方法 | |
EP4165534B1 (en) | Techniques for detecting atypical events in event logs | |
CN111581116B (zh) | 一种基于分层数据筛选的跨项目软件缺陷预测方法 | |
CN108108168B (zh) | 结合代码演化信息构造代码坏味训练数据集的方法 | |
CN111047173B (zh) | 基于改进d-s证据理论的社团可信度评估方法 | |
KR20190053616A (ko) | 빅데이터 분석을 위한 데이터 병합 장치 및 방법 | |
CN106874762A (zh) | 基于api依赖关系图的安卓恶意代码检测方法 | |
CN107391365A (zh) | 一种面向软件缺陷预测的混合特征选择方法 | |
Alvarado‐Serrano et al. | Spatially explicit summary statistics for historical population genetic inference | |
Fang et al. | Quantitative fate mapping: A general framework for analyzing progenitor state dynamics via retrospective lineage barcoding | |
CN113221960A (zh) | 一种高质量漏洞数据收集模型的构建方法及收集方法 | |
Imran et al. | Complex process modeling in Process mining: A systematic review | |
CN116523284A (zh) | 基于机器学习的业务操作流程自动化评估方法、系统 | |
CN109145951B (zh) | 一种基于贝叶斯网络的隧道衬砌结构服役状况评价方法 | |
Huang et al. | Cause of gene tree discord? Distinguishing incomplete lineage sorting and lateral gene transfer in phylogenetics | |
CN112888008A (zh) | 基站异常检测方法、装置、设备及存储介质 | |
CN114662623B (zh) | 基于XGBoost的凝血检测中血液样本的分类方法及系统 | |
Anouncia et al. | A knowledge model for gray scale image interpretation with emphasis on welding defect classification—An ontology based approach | |
CN115587333A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20210202 |