CN113268434B - 基于贝叶斯模型和粒子群优化的软件缺陷预测方法 - Google Patents

基于贝叶斯模型和粒子群优化的软件缺陷预测方法 Download PDF

Info

Publication number
CN113268434B
CN113268434B CN202110772750.0A CN202110772750A CN113268434B CN 113268434 B CN113268434 B CN 113268434B CN 202110772750 A CN202110772750 A CN 202110772750A CN 113268434 B CN113268434 B CN 113268434B
Authority
CN
China
Prior art keywords
judging whether
data set
inputting
base
selecting
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
Application number
CN202110772750.0A
Other languages
English (en)
Other versions
CN113268434A (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.)
Beijing University of Posts and Telecommunications
Original Assignee
Beijing 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 Beijing University of Posts and Telecommunications filed Critical Beijing University of Posts and Telecommunications
Priority to CN202110772750.0A priority Critical patent/CN113268434B/zh
Publication of CN113268434A publication Critical patent/CN113268434A/zh
Application granted granted Critical
Publication of CN113268434B publication Critical patent/CN113268434B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Pure & Applied Mathematics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Mathematical Optimization (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Mathematical Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Development Economics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Game Theory and Decision Science (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)

Abstract

本发明提供一种基于贝叶斯模型和粒子群优化的软件缺陷预测方法。软件缺陷预测方法包括:输入源项目数据集;对源项目数据集的每一维特征计算平均值;根据平均值将源项目数据集中的样本划分为大于和小于平均值两部分;使用一阶依赖的贝叶斯模型分别在两部分数据上进行训练;将训练得到的两个子模型共同构建成一个基分类器;将所有基分类器组成初始种群;使用基于Pareto熵的多目标粒子群优化方法对初始种群进行迭代;得到最优组合权重得基分类器组合;输入目标项目数据集;利用基分类器组合在目标项目数据集上进行分类;输出分类的结果。本发明提供的软件缺陷的预测方法,速度快,准确率高。

Description

基于贝叶斯模型和粒子群优化的软件缺陷预测方法
技术领域
本发明属于软件测试技术领域,尤其是涉及一种基于贝叶斯模型和粒子群优化的软件缺陷预测方法。
背景技术
跨项目软件缺陷预测具有广泛的实用价值,但通常相较于项目内缺陷预测其性能会更弱,主要原因是源项目和目标项目中的特征存在差异,分布不一致,对于分类器。同时,跨项目的缺陷预测有软件缺陷预测的通病:在数据集中,有缺陷的模块数量远小于没有缺陷的模块数量,即类不平衡问题,而模型在进行预测时,往往会偏向数量更多的一方,从而降低了对有缺陷模块的判断精度。
现有的跨项目软件缺陷的预测方法,由于上述的影响因素,准确率,可靠性较低,难以满足对跨项目软件缺陷的预测结果的需求。
发明内容
本发明提供了一种基于贝叶斯模型和粒子群优化的软件缺陷预测方法,用以克服现有技术中源项目和目标项目特征分布差异性和类不平衡数据对预测结果有较大负面影响的问题。
本发明提供了一种基于贝叶斯模型和粒子群优化的软件缺陷预测方法,包括:
输入源项目数据集;
计算每一维特征的平均值;
对源目标数据集的每一维特征进行平均值的计算;
根据每一维特征平均值将训练集分为大于均值和小于均值的两部分数据;
使用平均一阶依赖贝叶斯模型分别在两部分数据上进行训练;
将训练得到的两个子模型共同构建一个基分类器;
将上述构造的多个基分类器组成初始种群;
将初始种群输入到基于Pareto熵的多目标粒子群优化方法中;
得到最优组合权重得基分类器组合;
输入目标项目数据集;
利用基分类器组合在目标项目数据集上进行分类;
输出分类的结果。
附图说明
图1为本发明提供的基于贝叶斯模型和粒子群优化的软件缺陷预测方法实施实例的流程示意图。
具体实施方式
图1为本发明提供的一种基于贝叶斯模型和粒子群优化的软件缺陷预测方法实施实例的流程示意图。如图1所示,该跨项目软件缺陷的预测方法包括:
S200,输入源项目数据集。
在本说明中,源项目数据集的类标被认为是存在的,故使用标注好的源项目数据作为训练集进行训练。
S201,计算每一维特征的平均值。
在源项目数据集中,源项目存在多维特征空间,在此步骤对每一维特征进行一次平均值计算,目的是为了在后续步骤中对样本进行分类。
S202,取当前样本的第一维特征。
本发明在第一轮循环中取第一个样本作为当前样本,在当前样本的第一轮循环中取第一个特征作为当前特征。
S203,将该样本当前特征值和平均值进行对比。
本发明提供的基分类器构造方法通过样本当前属性的值和当前属性的整体平均值进行对比,达到将样本划分归类的目的。通过划分归类使得训练出来的子分类器对于某一类数据会有好的效果。
S204,判断是否特征值大于平均值。
本发明基于数据的值的大小进行分类,通过和平均值比对可以将样本基本均匀划分为两类。
S205,样本归类为小于类。
在S204中,若当前样本的当前属性的值小于当前属性的平均值,则当前样本在本轮归类中被归为小于平均值的类。
S206,样本归类为大于类。
在S204中,若当前样本的当前属性的值大于当前属性的平均值,则当前样本在本轮归类中被归为大于平均值的类。
S207,判断是否有剩余样本。
如果当前样本是最后一个样本,执行S209;如果当前样本不是最后一个样本,执行S208。
S208,将下一个样本作为当前样本。
循环S204~S207步骤,将所有样本根据当前属性的值进行分类,直到将所有样本都分到两个类别中,停止循环。
S209,分别构建SPODE模型。
在本发明中,SPODE模型的构建是分别基于两个数据的,一个是S205中小于平均值的类,另一个是大于平均值的类。在这两组数据上分别使用SPODE模型进行训练,此时父结点为当前属性。
S210,合成基分类器。
在本发明中,一个完整的基分类器是由两个不同的SPODE模型组成的,SPODE模型来自于S207中训练得到的两个SPODE模型。
S211,判断是否有剩余维度的特征。
若当前特征是最后一个维度的特征,执行S213;若当前特征不是最后一个维度的特征,执行S212。
S212,将当前特征的后一维特征作为当前特征。
循环S203~S211步骤,对每一维度的属性都构造两个基于属性平均值分类的SPODE组成的基分类器,直到循环到最后一个维度的特征后,停止循环。
S213,将所有基分类器组成初始种群,将迭代器计数器为0,初始化各参数。
在本发明中,基分类器的组合就是初始种群中的粒子。随机设定惯性权值,当前迭代器的值为0,初始化最大外部档案容量,在搜索空间中按均匀分布随机生成具有初始位置和零速度的粒子。
S214,计算F1-measure和AUC的值。
在本发明中,F1-measure和AUC的值就是粒子的适应度。每个粒子拥有的适应度是基分类器组合的平均F1-measure和AUC的值。
S215,为每个粒子初始化个体外部档案。
令全局外部档案为空,对每个粒子更新其外部档案。
若外部档案为空集,则更新后的外部档案也为空集;如果进化算法获得的一个新解被外部档案中的任意一个成员占优,则直接返回外部档案;对外部档案中的任意一个成员,如果该成员被进化算法获得的一个新解占优,则外部档案为外部档案除以该解;如果外部档案的成员个数小于最大外部档案容量,则新解占优旧解;如果新解质量最差,被拒绝进入档案;如果新解质量不是最差,新解替换质量最差的旧解。
S216,更新迭代器。
迭代器数量加一。
S217,评估进化环境
将外部档案映射到平行格坐标***PCCS中;分别计算外部档案的Pareto熵和差熵;评估种群进化状态;分别计算外部档案中每个Pareto最优解的个体密度和个体格占优强度;根据种群进化状态,分别计算当前粒子运动参数
S218,更新种群
选择粒子的全局最优解,从外部档案中选择一个与全局最优解空间距离最近的成员作为粒的个体最优解;更新粒子的速度和位置;如果一个随机数小于精英学习速率,则对粒子进行极值扰动
S219,根据MOP评估粒子目标函数值。
更新粒子个体外部档案;更新全局外部档案。
S220,判断是否达到规定迭代次数
若达到,则执行S221;若没有达到则循环S216~S220步骤,知道达到规定迭代次数。
S221,输出最终基分类器组合。
输出全局外部档案,得到的粒子就是最终基分类器组合。
S222,输入目标项目数据集
在实际操作中,目标项目的类标是为空的,在本说明中,目标项目数据集的类标被认为是存在但未进行标注的。
S223,使用基分类器组合在目标项目数据集上进行预测
训练器基于在目标项目数据集上学习到的信息对目标项目数据集中的样本进行分类,每个基分类器给出一个结果。
S224,统计基分类器预测结果。
将所有基分类器的结果汇总,按“判定为有缺陷”和“判定为无缺陷”两个类别分类并统计数量。
S225,判断是否基分类器多数认为有缺陷。
如果“判定为有缺陷”的数量比“判定为无缺陷”的数量多,则认为该样本“判定为有缺陷”,执行S227。
如果“判定为有缺陷”的数量比“判定为无缺陷”的数量少,则认为该样本“判定为无缺陷”,执行S226。
S226,判定为无缺陷。
判定后,对该样本的类标进行标注,表明该样本不存在缺陷。
S227,判定为有缺陷。
判定后,对该样本的类标进行标注,表明该样本存在缺陷。
S228,输出分类结果。
本发明提供一种基于一阶依赖贝叶斯模型和基于Pareto熵的多目标粒子群优化方法的软件缺陷预测方法。软件缺陷预测方法包括:输入源项目数据集;对源项目数据集的每一维特征计算平均值;根据平均值将源项目数据集中的样本划分为大于和小于平均值两部分;使用一阶依赖的贝叶斯模型分别在两部分数据上进行训练;将训练得到的两个子模型共同构建成一个基分类器;将所有基分类器组成初始种群;使用基于Pareto熵的多目标粒子群优化方法对初始种群进行迭代;得到最优组合权重得基分类器组合;输入目标项目数据集;利用基分类器组合在目标项目数据集上进行分类;输出分类的结果。本发明提供的软件缺陷的预测方法,速度快,准确率高。

Claims (1)

1.一种软件缺陷的预测方法,其特征在于,包括:
输入源项目数据集;
计算每一维特征的平均值;
对源目标数据集的每一维特征进行平均值的计算;
根据每一维特征平均值将训练集分为大于均值和小于均值的两部分数据;
使用平均一阶依赖贝叶斯模型分别在两部分数据上进行训练;
将训练得到的两个子模型共同构建一个基分类器;
对每一维度的属性都构造两个基于属性平均值分类的SPODE组成的基分类器;
将上述构造的多个基分类器组成初始种群;
将初始种群输入到基于Pareto熵的多目标粒子群优化方法中;
得到最优组合权重得基分类器组合;
输入目标项目数据集;
利用基分类器组合在目标项目数据集上进行分类;
输出分类的结果;
结束;
所述使用平均一阶依赖贝叶斯模型分别在两部分数据上进行训练,包括:
选择每个属性依次做公共的父节点;
根据父节点构建SPODE模型;
输出所有模型的后验概率累加求和再平均后的结果;
判断是否有剩余维度的特征;
若是,将下一维特征作为当前特征;
重复选择每个属性依次做公共的父节点;根据父节点构建SPODE模型;输出所有模型的后验概率累加求和再平均后的结果;直到判断是否有剩余维度的特征为否;
若否,判断是否有剩余样本;
若是,将下一个样本作为当前样本;
重复选择每个属性依次做公共的父节点;根据父节点构建SPODE模型;输出所有模型的后验概率累加求和再平均后的结果;判断是否有剩余维度的特征;直到判断是否有剩余样本结果为否;
若否,训练结束;
所述将初始种群输入到基于Pareto熵的多目标粒子群优化方法中,包括:
将迭代器计数器为0;
计算F1-measure和AUC的值;
按照适应度基于Pareto支配关系排序;
运用锦标赛选择策略选取个体最好位置;
选取种群最佳位置;
更新种群;
更新迭代器;
判断是否达到规定迭代次数;
若是,输出最终基分类器组合;
若否,重复计算F1-measure和AUC的值;按照适应度基于Pareto支配关系排序;运用锦标赛选择策略选取个体最好位置;选取种群最佳位置;更新种群;更新迭代器;直到判断是否达到规定迭代次数结果为是;
所述利用基分类器组合在目标项目数据集上进行分类,包括:
统计基分类器预测结果;
判断是否分类器预测结果多数为有缺陷;
若是,判定为有缺陷;
若否,判定为无缺陷。
CN202110772750.0A 2021-07-08 2021-07-08 基于贝叶斯模型和粒子群优化的软件缺陷预测方法 Active CN113268434B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110772750.0A CN113268434B (zh) 2021-07-08 2021-07-08 基于贝叶斯模型和粒子群优化的软件缺陷预测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110772750.0A CN113268434B (zh) 2021-07-08 2021-07-08 基于贝叶斯模型和粒子群优化的软件缺陷预测方法

Publications (2)

Publication Number Publication Date
CN113268434A CN113268434A (zh) 2021-08-17
CN113268434B true CN113268434B (zh) 2022-07-26

Family

ID=77236525

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110772750.0A Active CN113268434B (zh) 2021-07-08 2021-07-08 基于贝叶斯模型和粒子群优化的软件缺陷预测方法

Country Status (1)

Country Link
CN (1) CN113268434B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114553489B (zh) * 2022-01-24 2023-05-26 北京北卡星科技有限公司 一种基于多目标优化算法的工业控制***安全防护方法及装置
CN115269377B (zh) * 2022-06-23 2023-07-11 南通大学 一种基于优化实例选择的跨项目软件缺陷预测方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106991047A (zh) * 2017-03-27 2017-07-28 中国电力科学研究院 一种用于对面向对象软件缺陷进行预测的方法及***
CN108304316A (zh) * 2017-12-25 2018-07-20 浙江工业大学 一种基于协同迁移的软件缺陷预测方法
CN111400180A (zh) * 2020-03-13 2020-07-10 上海海事大学 一种基于特征集划分和集成学习的软件缺陷预测方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015054266A1 (en) * 2013-10-08 2015-04-16 The Regents Of The University Of California Predictive optimization of network system response

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106991047A (zh) * 2017-03-27 2017-07-28 中国电力科学研究院 一种用于对面向对象软件缺陷进行预测的方法及***
CN108304316A (zh) * 2017-12-25 2018-07-20 浙江工业大学 一种基于协同迁移的软件缺陷预测方法
CN111400180A (zh) * 2020-03-13 2020-07-10 上海海事大学 一种基于特征集划分和集成学习的软件缺陷预测方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
加权超1-依赖贝叶斯分类器在柴油机故障诊断中的应用;王鑫等;《大连海事大学学报》;20110515(第02期);全文 *

Also Published As

Publication number Publication date
CN113268434A (zh) 2021-08-17

Similar Documents

Publication Publication Date Title
CN113268434B (zh) 基于贝叶斯模型和粒子群优化的软件缺陷预测方法
US7756799B2 (en) Feature selection based on partial ordered set of classifiers
Kuptametee et al. A review of resampling techniques in particle filtering framework
CN110009030B (zh) 基于stacking元学习策略的污水处理故障诊断方法
Balogun et al. Performance analysis of selected clustering techniques for software defects prediction
CN111858328B (zh) 一种基于有序神经网络的软件缺陷模块严重程度预测方法
Shi et al. XCSc: A novel approach to clustering with extended classifier system
CN111209939A (zh) 一种具有智能参数优化模块的svm分类预测方法
Vaiyapuri et al. Intelligent Feature Selection with Deep Learning Based Financial Risk Assessment Model.
Camilleri et al. Parameter optimization in decision tree learning by using simple genetic algorithms
CN113360392A (zh) 一种跨项目软件缺陷预测方法及装置
Liu et al. A quantitative study of the effect of missing data in classifiers
Ler et al. Algorithm selection for classification problems via cluster-based meta-features
Vasilev et al. Calibration of neural networks
Premalatha et al. Software Fault Prediction and Classification using Cost based Random Forest in Spiral Life Cycle Model.
US20220284261A1 (en) Training-support-based machine learning classification and regression augmentation
KR20210158740A (ko) 기계학습 성능 기반 클러스터링 평가 장치 및 그 방법
Khurana Automating feature engineering in supervised learning
CN113255810A (zh) 基于关键决策逻辑设计测试覆盖率的网络模型测试方法
Jabbari et al. Obtaining accurate probabilistic causal inference by post-processing calibration
Elshamy et al. Automatic Detection of Software Defects based on Machine Learning
Floyd Semi-Supervised Hybrid Windowing Ensembles for Learning from Evolving Streams
US20240241487A1 (en) Method and system for controlling a production system
Meghyasi et al. Customer churn prediction in telecommunication industry using data mining methods
Arya et al. Design an Improved Model of Software Defect Prediction Model for Web Applications

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