CN110502277A - 一种基于bp神经网络的代码坏味检测方法 - Google Patents

一种基于bp神经网络的代码坏味检测方法 Download PDF

Info

Publication number
CN110502277A
CN110502277A CN201910812005.7A CN201910812005A CN110502277A CN 110502277 A CN110502277 A CN 110502277A CN 201910812005 A CN201910812005 A CN 201910812005A CN 110502277 A CN110502277 A CN 110502277A
Authority
CN
China
Prior art keywords
code
bad taste
neural network
bad
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.)
Granted
Application number
CN201910812005.7A
Other languages
English (en)
Other versions
CN110502277B (zh
Inventor
王曙燕
张一权
孙家泽
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian University of Posts and Telecommunications
Original Assignee
Xian University of Posts and Telecommunications
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xian University of Posts and Telecommunications filed Critical Xian University of Posts and Telecommunications
Priority to CN201910812005.7A priority Critical patent/CN110502277B/zh
Publication of CN110502277A publication Critical patent/CN110502277A/zh
Application granted granted Critical
Publication of CN110502277B publication Critical patent/CN110502277B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24147Distances to closest patterns, e.g. nearest neighbour classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/77Software metrics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本文发明涉及一种基于BP神经网络的代码坏味检测方法,属于计算机软件技术领域。首先提取代码坏味实例以及标签信息,然后计算有无代码坏味度量特征,将度量特征和提取到的标签信息进行合并,以此构成训练集,采用Keras建立神经网络,将训练集作为神经网络模型的输入,完成对代码坏味预测输出训练,最后从被测程序中得到的代码坏味实例作为代码坏味测试集,输入到训练好的神经网络模型中,使模型输出代码坏味属于某类。本发明结合基于度量特征的代码坏味检测技术与神经网络算法,对数据集中含有不同类型的代码坏味进行检测,提高了检测准确度与F1值。

Description

一种基于BP神经网络的代码坏味检测方法
技术领域
本发明属于计算机软件技术领域,特别是在代码坏味检测技术领域,用于对一段不稳定或存在潜在问题的代码进行检测,以便于软件质量维护的需求,更具体地,涉及一种基于BP神经网络的代码坏味检测方法。
背景技术
软件良好的设计质量能使维护和重用变得更加容易和方便,而如果代码中存在各种各样的坏味,那么必将导致软件整体设计质量下降,针对代码坏味检测一直是软件工程领域的研究热点之一,其中研究者们提出了一些基于各类机器学习算法的代码坏味检测方法。Kreimer在提出了一种自适应检测方法,结合决策树算法对过大的类和过长的方法两种代码坏味进行检测。Khomh等人在基于一种目标问题度量方法上,从反模式的定义构建贝叶斯信念网络,并在两个开源程序中验证上帝类。Maiga等人利用一种基于支持向量机的检测方法,在三个开源程序中进行反模式检测。Yang等人通过在克隆代码上应用机器学习算法研究程序员对代码坏味的判断。Palomba等人提出了一种基于信息检索技术来利用程序中的文本信息进行坏味检测的方法。Fontana等人将几种常见的机器学习算法共同应用在各类代码坏味检测上,从实验中针对代码坏味检测,总结了几种表现良好机器学习算法,分别是:J48、随机森林以及贝叶斯网络。Nucci等人考虑到代码坏味数据集的度量特征和坏味类型在数据集中分布情况的两个方面,重新对Fontana等人的研究进行了回顾,揭示了利用机器学习算法检测各类代码坏味的局限性。马赛等人利用潜在语义分析技术对上帝类进行检测。刘丽倩等人将决策树算法与代价敏感学习理论相结合,考虑数据不平衡问题对机器学习算法的影响,进而对长方法进行了检测。
综上所述,现有的检测方法通常是基于人工或者工具进行代码坏味特征标记,但存在局限性。通过人工审查或工具依赖于人们的主观经验,且难以对大规模的项目源代码进行人工审查。而通过使用自动工具标注坏味则依赖于工具本身的准确度,工具的默认阈值一般会很低,这就会造成工具检测出来的代码坏味存在大量不是真正影响程序本身的实例,大多数检测工具使用指定的阈值以便区分有无坏味,不同的检测工具检测结果也不尽相同。近年来,为了解决这些局限性,出现的通过机器学习和深度学习技术来对代码坏味进行检测比较成功,在准确度与查全率上有了大幅度提升,但在训练集上是通过标签自动生成的方法进行构造,并且数据集中只包含一种类型的代码坏味类型,难以符合真正在软件设计过程中出现的问题,因为实际软件系统中会存在不同类型的代码坏味。上述问题使得对大规模可信的项目源代码进行代码坏味检测变得尤为困难,所以本发明以更接近实际情况对大规模开源项目检测角度出发,通过代码坏味公开数据集,将坏味类型进行合并,使数据集中包含不同坏味类型以及度量特征,并以一种基于BP神经网络的方法对现有的检测方法进行优化。
发明内容
长方法和特征依恋分别属于代码坏味其中的一种,长方法在程序中表现为一个方法中存在大量的函数,而特征依恋在程序中的表现为一个方法中大量使用其它类中的成员。本发明针对代码坏味检测的数据集中存在单一类型的问题,并不符合软件实际开发过程中代码坏味在数据集中分布情况,提出了一种基于BP神经网络对长方法和特征依恋两种代码坏味类型合并之后的数据集检测方法。
为实现上述目的,本发明采取的技术方案为:一种基于BP神经网络的代码坏味检测的方法,包括有以下步骤:
(1)提取代码坏味实例以及标签信息;
具体实现过程为:首先,针对长方法和特征依恋两种代码坏味类型,使用代码坏味自动检测工具对开源软件系统进行检测,提取这两种代码坏味实例和无坏味实例,然后对其设置标签:0代表无坏味,1代表长方法,2代表特征依恋;
所述的代码坏味自动检测工具为:iPlasma、inFusion、Checkstyle其中一种;
(2)计算有代码坏味实例和无代码坏味实例度量特征;
所述的度量特征指的是软件规模度量、内聚度度量和耦合度度量;
具体实现过程为:使用浮点数序列对有代码坏味和无代码坏味实例度量特征进行编码表示,其中0代表某度量特征不是影响代码坏味因素,纯小数值代表某度量特征是影响代码坏味因素;
(3)将步骤(1)和步骤(2)中的度量特征和标签进行合并,以此构成训练集;
具体实现过程为:首先根据得到的度量特征以及标签信息进行合并,并对度量特征以及标签信息转换为向量表示<m11,m12,m13,......,p1n>,m表示特征度量,p表示为标签;通过合并之后的代码坏味训练集结构为:每一行代表代码坏味实例,每一列代表度量特征,最后一列为标签信息,其中k表示代码坏味实例数量,并以此形成一种矩阵数据M,可以表示为:
(4)将构建好的训练集输入神经网络,进行神经网络模型训练;
具体方式为:构建的神经网络采用全连接形式,第一层为一个输入层,第二层是隐藏层,网络的最后一层是输出层,输出层采用Softmax并输出代码坏味属于某类;并将步骤(2)中的代码坏味度量特征作为输入层的输入,将步骤(1)中的标签信息作为网络输出基准,可以表示为Yreal,输出层的输出值可以表示为Ypred,如果Yreal与Ypred之间的误差小于当前设定的阈值或者训练迭代轮数达到阈值,则完成神经网络对代码坏味预测输出训练,否则返回BP神经网络输入层阶段进行模型训练;
(5)将被测程序中得到代码坏味实例作为代码坏味测试集,并且按照步骤(3)中所述方式对测试数据进行合并与向量形式转换,将得到的测试集输入步骤(5)中训练好的神经网络模型中,模型自动输出0或1或2,其中0代表不存在坏味,1代表长方法,2代表特征依恋。
与现有技术相比,本发明的优点和有益效果是:
本发明提供的检测方法可以解决现有技术在标注代码坏味的可信度难以保证的技术缺陷,以及将两种代码坏味数据集进行合并,使得数据集中包含不同代码坏味类型,使其更接近实际软件开发情况,并提高了准确度与F1值。
附图说明
图1为所述方法流程图。
图2为基于BP神经网络的检测模型结构图。
具体实施方案
对于某个软件项目的源代码,目前主流是利用代码坏味自动检测工具来检测程序当中的坏味实体,每个工具对代码坏味检测的类型也不相同,缺少客观性。本发明通过代码坏味检测工具对15个Java开源项目检测,以此获取到代码坏味实例,并针对特征依恋和长方法的两种样本集进行合并,使代码坏味数据集中包含不同坏味类型以及度量特征值。通过从数据集中提取符合预设输入的软件度量特征,作为BP神经网络的输入,网络的预期输出为样本的标签,经过多次迭代训练后,可以得到最终被训练好的神经网络模型,并利用Fontana等人提出的公开代码坏味数据集作为测试集,对训练好的模型进行测试。表1为开发环境配置信息,表2为数据集所选的项目总体规模。
表1开发环境配置信息表
表2项目总体规模汇总表
系统数量 代码行数 包的数量 类的数量 方法数量
74 6,785,568 3,420 51,826 404,316
下面将通过具体的实施例来说明本发明的实施。
本发明提出一种基于BP神经网络的代码坏味检测方法,通过实验来验证本代码坏味检测技术的有效性。为了说明本发明的有效性,我们在相同的条件下,对代码坏味进行检测,参见图1,具体步骤如下:
(1)提取代码坏味实例以及标签信息;
具体实现过程为:首先,针对长方法和特征依恋两种代码坏味类型,使用代码坏味自动检测工具对开源软件系统进行检测,提取这两种代码坏味实例和无坏味实例,然后对其设置标签:0代表无坏味,1代表长方法,2代表特征依恋;
所述的代码坏味自动检测工具为:iPlasma、inFusion、Checkstyle其中一种;
(2)计算有代码坏味实例和无代码坏味实例度量特征;
所述的度量特征指的是软件规模度量、内聚度度量和耦合度度量;
代码坏味特征度量主要从以下度量项进行选取,具体包括:
1)特征依恋:访问外部数据数(ATFD)、属性访问的位置(LAA)、提供外部数据数(FDP);
2)长方法:代码总行数(LOC)、方法数(NOM)、属性数(NOA);
具体实现过程为:使用浮点数序列对有代码坏味和无代码坏味实例度量特征进行编码表示,其中0代表某度量特征不是代码坏味影响因素,纯小数值代表某度量特征是影响代码坏味因素;
(3)将步骤(1)和步骤(2)中的度量特征和标签进行合并,以此构成训练集;
具体实现方式为:首先根据得到的度量特征以及标签信息进行合并,并对度量特征以及标签信息转换为向量表示<m11,m12,m13,......,p1n>,m代表特征度量,p表示为标签;通过合并之后的代码坏味训练集结构为:每一行代表代码坏味实例,每一列代表度量特征,最后一列为标签信息,其中k表示代码坏味实例数量,并以此形成一种矩阵数据M,可以表示为:
(4)将构建好的训练集输入神经网络,进行神经网络模型训练;
具体方式为:构建的神经网络采用全连接形式,第一层为一个输入层,第二层是隐藏层,网络的最后一层是输出层,输出层采用Softmax并输出代码坏味属于某类;并将步骤(2)中的代码坏味度量特征作为输入层的输入,将步骤(1)中的标签信息作为网络输出基准,可以表示为Yreal,输出层的输出值可以表示为Ypred,如果Yreal与Ypred之间的误差小于当前设定的阈值或者训练迭代轮数达到阈值,则完成神经网络对代码坏味预测输出训练,否则返回BP神经网络输入层阶段进行模型训练;
图2是根据一个实施例的神经网络检测模型,其中神经网络中的输入层的神经元用来接收代码坏味度量特征以及标签信息组成的向量,隐藏层神经元用于接收从输入层的数据。在输入层与隐藏层之间的关系可以描述为:输入层神经元为i输入层的输入为Ii,从输入层神经元i到隐藏层神经元j的权重Wji 1以及隐藏层神经元j的阈值θj 1,其中f(·)表示激活函数,用于输出层输出,隐藏层神经元j的输出Hj与输入层的输入Ii之间的映射关系表达式如式(1)。
根据隐藏层神经元j的输出Hj,和隐藏层神经元j到输出层的权重Wj 2,以及输出层的阈值θ2,可以获得输出层的代码坏味类型预测值Ypred,表达示如式(2)。
(5)将被测程序中得到的代码坏味实例作为代码坏味测试集,并且按照步骤(3)中所述方式对测试数据进行合并与向量形式转换,将得到的测试集输入步骤(5)中训练好的神经网络模型中,模型自动输出0或1或2,其中0代表不存在坏味,1代表长方法,2代表特征依恋。
所述的代码坏味实例指的是Fontana等人提出的公开代码坏味数据集,其中包含对74个Java开源系统检测的代码坏味实例,将其作为代码坏味测试集。由于该数据集格式为Arff,不利于神经网络的输入,需要对其进行格式转换为CSV。
下面通过实验结果分析说明本发明的可行性。
在对比实验方面,利用Weka工具实现J48、随机森林以及贝叶斯网络机器学习方法对训练集进行代码坏味预测结果的生成,并得出准确度以及F1值的评价指标结果。
神经网络模型以batch size=10的形式组成小批量对网络进行梯度更新,网络的训练迭代轮数epoch设置为500,实验结果如表3所示。
表3评价指标对比表
表中的准确度(Accuracy)=正确检测的个数/检测出为正样本个数;
精确率(Precision)=正确检测为正样本的个数/检测正确和错误样本总数;
召回率(Recall)=正确检测为正样本的个数/全部正样本个数;
F1值(F1-Measure)是精确率和召回率的调和平均值,可以表示为:
F1值可以看作是模型精确率和召回率的一种加权平均值,取值范围为0到1。在分类任务中希望精确率和召回率都达到很高,但实际上是不可能使这两种评价指标双高。因此,需要选择两者之间的平衡点,而F1值可以看作此平衡点,F1值越高说明精确率和召回率同时达到最高,取得平衡。
综合实验数据可知,在数据集存在不同坏味类型中,本发明的准确度与F1值明显高于其它三种方法,说明了本发明在代码坏味检测的准确度方面有较好的检测效果。

Claims (1)

1.一种基于BP神经网络的代码坏味检测方法,其特征在于以下步骤:
(1)提取代码坏味实例以及标签信息;
具体实现过程为:首先,针对长方法和特征依恋两种代码坏味类型,使用代码坏味自动检测工具对开源软件系统进行检测,提取这两种代码坏味实例和无坏味实例,然后对其设置标签:0代表无坏味,1代表长方法,2代表特征依恋;
所述的代码坏味自动检测工具为:iPlasma、inFusion、Checkstyle其中一种;
(2)计算有代码坏味实例和无代码坏味实例度量特征;
所述的度量特征指的是软件规模度量,内聚度度量和耦合度度量;
具体实现过程为:使用浮点数序列对有代码坏味和无代码坏味实例度量特征进行编码表示,其中0代表某度量特征不是影响代码坏味因素,纯小数值代表某度量特征是影响代码坏味因素;
(3)将步骤(1)和步骤(2)中的度量特征和标签进行合并,以此构成训练集;
具体实现过程为:首先根据得到的度量特征以及标签信息进行合并,并对度量特征以及标签信息转换为向量表示<m11,m12,m13,......,p1n>,m表示特征度量,p表示为标签;通过合并之后的代码坏味训练集结构为:每一行代表代码坏味实例,每一列代表度量特征,最后一列为标签信息,其中k表示代码坏味实例数量,并以此形成一种矩阵数据M,可以表示为:
(4)将构建好的训练集输入神经网络,进行神经网络模型训练;
具体方式为:构建的神经网络采用全连接形式,第一层为一个输入层,第二层是隐藏层,网络的最后一层是输出层,输出层采用Softmax并输出代码坏味属于某类;并将步骤(2)中的代码坏味度量特征作为输入层的输入,将步骤(1)中的标签信息作为网络输出基准,可以表示为Yreal,输出层的输出值可以表示为Ypred,如果Yreal与Ypred之间的误差小于当前设定的阈值或者训练迭代轮数达到阈值,则完成神经网络对代码坏味预测输出训练,否则返回BP神经网络输入层阶段进行模型训练;
(5)将被测程序中得到的代码坏味实例作为代码坏味测试集,并且按照步骤(3)中所述方式对测试数据进行合并与向量形式转换,将得到的测试集输入步骤(5)中训练好的神经网络模型中,模型自动输出0或1或2,其中0代表不存在坏味,1代表长方法,2代表特征依恋。
CN201910812005.7A 2019-08-30 2019-08-30 一种基于bp神经网络的代码坏味检测方法 Active CN110502277B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910812005.7A CN110502277B (zh) 2019-08-30 2019-08-30 一种基于bp神经网络的代码坏味检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910812005.7A CN110502277B (zh) 2019-08-30 2019-08-30 一种基于bp神经网络的代码坏味检测方法

Publications (2)

Publication Number Publication Date
CN110502277A true CN110502277A (zh) 2019-11-26
CN110502277B CN110502277B (zh) 2023-04-07

Family

ID=68590665

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910812005.7A Active CN110502277B (zh) 2019-08-30 2019-08-30 一种基于bp神经网络的代码坏味检测方法

Country Status (1)

Country Link
CN (1) CN110502277B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112328479A (zh) * 2020-11-03 2021-02-05 北京理工大学 一种基于深度特征交互网络的上帝类代码味道检测方法
CN112328478A (zh) * 2020-11-03 2021-02-05 北京理工大学 一种基于微调和深度交互的代码味道检测方法
CN112416782A (zh) * 2020-11-25 2021-02-26 上海信联信息发展股份有限公司 测试结果的验证方法、装置和电子设备
CN112698833A (zh) * 2020-12-31 2021-04-23 北京理工大学 一种基于局部和全局特征的特征依恋代码味道检测方法
CN112732570A (zh) * 2021-01-05 2021-04-30 北京理工大学 一种基于上下文环境的依恋情结代码味道检测方法
CN112764758A (zh) * 2021-01-21 2021-05-07 中国工商银行股份有限公司 代码坏味道检测方法和装置
CN113722239A (zh) * 2021-11-01 2021-11-30 南昌航空大学 机载嵌入式软件质量检测方法、装置、介质及电子设备

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060037080A1 (en) * 2004-08-13 2006-02-16 Georgetown University System and method for detecting malicious executable code
CN104077147A (zh) * 2014-07-11 2014-10-01 东南大学 一种基于代码克隆自动检测和及时提醒的软件复用方法
US20170242691A1 (en) * 2016-02-18 2017-08-24 King Fahd University Of Petroleum And Minerals Apparatus and methodologies for code refactoring
CN107678971A (zh) * 2017-10-19 2018-02-09 扬州大学 代码味道驱动的基于克隆和耦合检测的代码缺陷预测方法
CN108108168A (zh) * 2017-12-18 2018-06-01 中山大学 结合代码演化信息构造代码坏味训练数据集的方法
CN108446540A (zh) * 2018-03-19 2018-08-24 中山大学 基于源代码多标签图神经网络的程序代码抄袭类型检测方法与系统
CN108664269A (zh) * 2018-05-14 2018-10-16 北京理工大学 一种基于深度学习的特征依恋代码异味检测方法
CN109491709A (zh) * 2018-10-29 2019-03-19 北京计算机技术及应用研究所 一种基于ahp与神经网络的软件代码可控度综合评价方法
CN109766277A (zh) * 2019-01-02 2019-05-17 北京航空航天大学 一种基于迁移学习与dnn的软件故障诊断方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060037080A1 (en) * 2004-08-13 2006-02-16 Georgetown University System and method for detecting malicious executable code
CN104077147A (zh) * 2014-07-11 2014-10-01 东南大学 一种基于代码克隆自动检测和及时提醒的软件复用方法
US20170242691A1 (en) * 2016-02-18 2017-08-24 King Fahd University Of Petroleum And Minerals Apparatus and methodologies for code refactoring
CN107678971A (zh) * 2017-10-19 2018-02-09 扬州大学 代码味道驱动的基于克隆和耦合检测的代码缺陷预测方法
CN108108168A (zh) * 2017-12-18 2018-06-01 中山大学 结合代码演化信息构造代码坏味训练数据集的方法
CN108446540A (zh) * 2018-03-19 2018-08-24 中山大学 基于源代码多标签图神经网络的程序代码抄袭类型检测方法与系统
CN108664269A (zh) * 2018-05-14 2018-10-16 北京理工大学 一种基于深度学习的特征依恋代码异味检测方法
CN109491709A (zh) * 2018-10-29 2019-03-19 北京计算机技术及应用研究所 一种基于ahp与神经网络的软件代码可控度综合评价方法
CN109766277A (zh) * 2019-01-02 2019-05-17 北京航空航天大学 一种基于迁移学习与dnn的软件故障诊断方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
刘丹丹等: "代码依恋检测与重构研究", 《电子科技》 *
卜依凡等: "一种基于深度学习的上帝类检测方法", 《软件学报》 *
章晓芳等: "代码坏味对软件演化影响的实证研究", 《软件学报》 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112328479A (zh) * 2020-11-03 2021-02-05 北京理工大学 一种基于深度特征交互网络的上帝类代码味道检测方法
CN112328478A (zh) * 2020-11-03 2021-02-05 北京理工大学 一种基于微调和深度交互的代码味道检测方法
CN112416782A (zh) * 2020-11-25 2021-02-26 上海信联信息发展股份有限公司 测试结果的验证方法、装置和电子设备
CN112698833A (zh) * 2020-12-31 2021-04-23 北京理工大学 一种基于局部和全局特征的特征依恋代码味道检测方法
CN112698833B (zh) * 2020-12-31 2022-05-31 北京理工大学 一种基于局部和全局特征的特征依恋代码味道检测方法
CN112732570A (zh) * 2021-01-05 2021-04-30 北京理工大学 一种基于上下文环境的依恋情结代码味道检测方法
CN112732570B (zh) * 2021-01-05 2022-05-31 北京理工大学 一种基于上下文环境的依恋情结代码味道检测方法
CN112764758A (zh) * 2021-01-21 2021-05-07 中国工商银行股份有限公司 代码坏味道检测方法和装置
CN113722239A (zh) * 2021-11-01 2021-11-30 南昌航空大学 机载嵌入式软件质量检测方法、装置、介质及电子设备

Also Published As

Publication number Publication date
CN110502277B (zh) 2023-04-07

Similar Documents

Publication Publication Date Title
CN110502277A (zh) 一种基于bp神经网络的代码坏味检测方法
CN111104981B (zh) 一种基于机器学习的水文预报精度评价方法及系统
CN106572493B (zh) Lte网络中的异常值检测方法及系统
Yuan et al. Measurement invariance via multigroup SEM: Issues and solutions with chi-square-difference tests.
CN110634080B (zh) 异常用电检测方法、装置、设备及计算机可读存储介质
CN112508105B (zh) 一种采油机故障检测与检索方法
CN110110754B (zh) 基于代价局部泛化误差的不平衡问题的分类方法
CN111343147B (zh) 一种基于深度学习的网络攻击检测装置及方法
CN111026664B (zh) 基于ann的程序检测方法和检测系统及应用
CN108256016A (zh) 基于个人微博的个人异常情绪检测方法及装置
CN106528417A (zh) 软件缺陷智能检测方法和系统
CN106708729B (zh) 代码缺陷的预测方法及装置
CN109726764A (zh) 一种模型选择方法、装置、设备和介质
CN106844330B (zh) 文章情感的分析方法和装置
CN116109195B (zh) 一种基于图卷积神经网络的绩效评估方法及系统
Al-Khanjari et al. PlagDetect: a Java programming plagiarism detection tool
CN114266289A (zh) 一种复杂装备健康状态评估方法
CN110716998A (zh) 一种精细尺度人口数据空间化方法
CN106776757A (zh) 用户完成网银操作的指示方法及装置
CN111914424B (zh) 一种基于短期测风资料的设计风速取值方法及系统
CN116883070A (zh) 一种银行代发薪资客户流失预警方法
CN111815414A (zh) 一种互联网销售下单方法、装置及系统
CN109977400A (zh) 一种校验处理的方法、装置、计算机存储介质及终端
CN111026075A (zh) 一种基于误差匹配的中低压燃气调压器故障检测方法
Ayati et al. Multiobjective wrapper sampling design for leak detection of pipe networks based on machine learning and transient methods

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