没有合适的资源?快使用搜索试试~ 我知道了~
沙特国王大学学报利用未标记数据Golnoush Abaeia,b,Ali Selamata,b,c,d,Jehad Al Dallalea软件工程研究组(SERG),马来西亚技术大学计算机学院软件工程系,81310 UTM Johor Bahru,Johor,Malaysiab马来西亚新山技术大学计算机学院、工程学院、UTM UTM和媒体与游戏卓越中心(MagicX)c马来西亚新山马来西亚技术大学日本国际技术学院d捷克共和国赫拉德茨-克拉洛韦大学信息与管理学院基础与应用研究中心Rokitanskeho 62,500 03赫拉德茨-e科威特大学信息科学系,P.O. Box 5969,Safat 13060,Kuwait阿提奇莱因福奥文章历史记录:2018年1月10日收到2018年7月29日修订2018年8月2日接受在线发售2018年8月10日保留字:遗传算法数据库规则库阈值A B S T R A C T已经提出了几种技术来预测故障数据的情况下,软件模块的故障倾向。然而,这些技术的应用需要专家助手,并且基于固定的阈值和规则,这可能会妨碍获得最佳预测结果。在这项研究中,一个模糊逻辑专家系统预测软件模块的故障倾向性的发展证明在故障数据的情况下。该研究解决了专家辅助预测模型的可靠性强以及基于固定阈值和固定规则来判定模块故障倾向性的问题。事实上,现在专家的参与更为宽松,或提供更多的支持。两种方法已被提出并实施使用模糊逻辑系统。在第一种方法中,基于Takagi和Sugeno的模糊逻辑系统是手动开发的。在第二种方法中,规则库和数据库的模糊逻辑系统的调整使用遗传算法。第二种方法可以确定最佳阈值,同时推荐最合适的规则来指导测试活动,通过优先级模块两个数据集从美国宇航局和土耳其白色家电制造商,开发嵌入式控制器软件用于评估。基于第二种方法的结果表明,在假阴性率,f-测量,和整体错误率的改善。为了获得最佳的预测结果,建议开发人员和从业人员应用所提出的模糊逻辑专家系统预测故障数据的情况下,软件模块的故障倾向。©2018作者制作和主办:Elsevier B.V.代表沙特国王大学这是一CC BY-NC-ND许可下的开放获取文章(http://creativecommons.org/licenses/by-nc-nd/4.0/)。1. 介绍随着软件规模和复杂度的快速增长,软件可靠性预测在软件开发过程中变得至关重要(Seliya and Khoshgoftaar,2007)。 软件系统故障的主要原因包括错误* 通讯作者:软件工程研究组(SERG),软件工程系,计算学院,马来西亚技术大学,81310 UTM柔佛新山,柔佛,马来西亚。电子邮件地址:aselamat@utm.my(A. Selamat)。沙特国王大学负责同行审查制作和主办:Elsevier规范和不适当的配置开发(Dowd等人,2006)以及不正确的设计或实现。软件故障预测方法通过将更多的资源集中和分配给容易出错的模块Catal和Diri(2009)来改善测试过程。基 于 深入的 分 析 调 查 , Radjenovic 等 人 。 (2013 ) 和 Catal(2011)报告称,不同的软件度量指标集被认为是构建故障预测模型的适当数据。与当前系统或所考虑软件系统的先前版本(历史数据)类似的系统的软件质量度量和故障数据(在此称为数据标签)可用于构建故障预测模型;这种方法称为监督学习方法,并且在软件故障预测领域很流行(Al Dallal,2015,2013,2012 a,2012 b; AlDallal和Briand,2012)。相比之下,当数据未标记时,可以采用聚类等非监督方法进行质量评估(Abaei和Selamat,2014 a,https://doi.org/10.1016/j.jksuci.2018.08.0031319-1578/©2018作者。制作和主办:Elsevier B.V.代表沙特国王大学这是一篇基于CC BY-NC-ND许可证的开放获取文章(http://creativecommons.org/licenses/by-nc-nd/4.0/)。可在ScienceDirect上获得目录列表沙特国王大学学报杂志首页:www.sciencedirect.comG. Abaei等人/沙特国王大学学报6852014 b; Bishnu和Bhattacherjee,2012)。聚类算法基于特定特征将一组相似的实体视为一组,然后由合格的软件工程专家(Zhong等人,2004a)可以根据以下条件将群集标记为故障或非故障每个集群内的数据的特征。然而,找到合格的专家是一项潜在的困难任务(Zhong等人,2004年a)。为了克服这个问题,一些研究人员(Bishnu和Bhattacherjee,2012; Catal等人,2009,2010; Abaei等人,2013)使用用于质量度量的规则条件和/或阈值,诸如代码行、圈复杂度、操作数的总数和运算符的总数,由Integrated SoftwareInc. (ISM)(2013)用于将聚类组标记为包括故障或非故障模块。这种方法的关键限制是度量阈值、阈值间隔和规则条件的变化的存在,这极大地影响了模块标记结果。通常,注意到度量阈值和构建规则的复杂性和模糊性,这可能会阻止收集最佳预测解决方案的某些结果。为了克服模糊性和不确定性问题,可以考虑基于模糊逻辑的专家系统。为了找到一个最佳的解决方案,有必要考虑到专家系统的数据库和规则库部分。虽然这两个部分可以手动调整,但最好使用优化技术,如遗传算法,以获得最佳结果。在本文中,我们提出了两个模型来设计最佳的数据库和规则库专家系统。这两个模型考虑了度量阈值的区间和在没有故障数据的情况下故障预测专家系统的规则选择。我们的专家系统可以用于两个监督和无监督故障预测建模。除了上述问题之外,由于大多数新项目没有历史数据,因此使用来自一个项目的数据来预测另一个项目中的缺陷(跨项目预测),然而,跨项目缺陷预测中的大多数实验报告了较差的性能(Rahman等人,2012; Zimmermann等人, 2009年)。其他国家的研究人员已经提出了几种方法工程领域开发的模糊逻辑专家系统的优化知识库。其中一些方法,如Karr ( 1991 ) , Ng 和 Li ( 1994 ) , Rao 和 Pratihar ( 2007 ) ,Vundavilli等人(2012)提出的方法,使用遗传算法来识别最佳数据库或规则库专家系统。在本研究中,一个基于模糊逻辑的专家系统开发,以确定最佳值的度量阈值的区间以及最佳规则。我们的方法允许从业者检测和优先级模块的基础上,他们的故障倾向估计,通过使用简单的规则,是基于软件测量阈值。我们使用七个公开可用的数据集(Bishnu和Bhattacherjee,2012)评估了所获得的故障预测模型的性能,其中三个数据集来自开发嵌入式控制器软件的土耳其白色家电制造商,四个数据集来自NASA存储库。此外,我们经验比较故障预测能力的建议模型与其他现有的方法的基础上。结果表明,生成的规则可以用来指导测试工作,提高开发的软件系统的质量,特别是当开发人员有一个有限的时间框架和预算。更具体地说,结果表明,建议的隶属区间和规则,从我们提出的模型可以提高整体性能的故障预测模型相比,其他现有的模型方面,假阴性率本文的主要贡献如下:1. 1提出了两个模糊专家系统,可以预测软件故障倾向性,特别是当故障数据缺失或历史数据不可用。2. 提出了一套基于6个软件度量指标的隶属度区间,以及通过优化模糊专家故障预测模型来选择模糊规则,从而改进了软件故障预测过程,使专家的作用变得不那么关键,而更具有支持性。本文的结构如下。第二是相关研究综述。第三介绍了建立故障预测模型的两种方法。第4报告并讨论了一项实证评价研究。第五讨论了实证研究的有效性威胁最后,第6总结了本文,并概述了可能的未来工作。2. 相关研究在本节中,我们总结和讨论了在故障倾向性预测领域的相关研究此外,我们提供了一个简要的概述,在本文中被认为是建立故障预测模型,包括模糊配置文件的发展和遗传算法的两个研究课题。2.1. 相关工作不同的技术已经用于软件故障预测,例如神经网络(Thwin和Quah,2005)、朴素贝叶斯(Menzies等人, 2007)、逻辑回归(Mauša等人, 2012)、基于案例的推理(El Emam,2001)以及(Catal和Diri,2009,2007 a,2007 b,2008)中的人工免疫识别系统算法。当我们研究研究论文时,我们发现大多数论文集中在监督方法上;然而,在软件故障预测领域,尽管它们的重要性和必要性,但与半监督和无监督学习相关的研究较少。因此,在本节中,少数可用的半监督和无监督的软件故障预测的研究进行了审查。在没有错误数据的情况下,预测易出错模块和非易出错模块通常基于以下方法之一来完成1. 对数据进行聚类,并要求专家根据数据的统计信息进行预测(Seliya和Khoshgoftaar,2007; Zhong等人,2004年a、2004年b)。2. 对数据进行聚类,并使用授权公司提供的指标阈值来决定数据的标签(Bishnu和Bhattacherjee,2012年; Catal等人,2009年、2010年)。3. 使用授权公司提供的指标阈值来决定数据的标签(Catal等人,2009年、2010年)。现将这三种方法的研究综述如下。Zhong等人(2004 a,2004b)在专家的帮助下,采用聚类技术、k-means和neural-gas,使用NASA的KC 2数据集建立模型专家们利用每个集群提供的统计数据分析了集群的故障倾向 Zhong等人(2004a,2004b)在NASA的大型数据集JM 1上重复了他们的实验。从这两项研究中,他们得出的结论是,神经气体在JM 1中的表现略差,在KC 2中的表现仅略好于k均值,考虑到整体错误率作为性能评估指标的一部分。然而,他们的方法依赖于他们声称的至少有15年经验的软件质量专家的可用性,因此该过程不能完全自动化。Seliya和Khoshgoftaar(2007)提出了一种基于约束的半监督聚类模型,该模型使用质量专家以迭代方式识别聚类六个NASA数据集用于评估模型性能686G. Abaei等人/沙特国王大学学报基于在半监督方法期间使用称为JM 1的最大数据集聚类应用于对其他几个剩余数据集中的模块进行分类。他们的结论是,与无监督方法相比,他们提出的半监督模型可以做出更好的预测。他们的模型也依赖于软件质量专家的可用性,因此不能完全自动化。Catal等人(2009)采用聚类和软件度量阈值来构建故障预测模型。他们声称,他们可以最大限度地减少专家在从非故障倾向模块中识别故障倾向模块时的不情愿他们提出了两个预测模型。第一个是简单地将模块然而,在第二种方法中,数据集内的所有模块最初使用k-means聚类为20个组,并且使用每个聚类的代表针对度量阈值执行一阶段方法他们将模块标记为故障的原则是,代表性模块的至少一个度量需要高于相应的度量阈值。 由于确定集群的数量是模型的缺点之一,Catal等人。(2010)使用x-means聚类来解决这个问题。他们在与开发嵌入式控制器软件的土耳其白色家电制造商相同的数据集上进行了实验(Radjeno vic′ ,2013)。他们表示,他们的模型可以自动化;然而,他们提出的模型的准确性仍然没有达到预期。此外,使用固定条件来考虑模块的故障倾向性高度依赖于数据集的性质因为他们只基于三个小的数据集来评估他们的模型,所以模型不能推广到所有的数据集。基于四叉树的k均值(QDK)方法由Bishnu和Bhattacherjee(2012)是最近用于故障预测的模型之一。首先,使用四叉树确定初始聚类中心,以改进k-means算法。此外,基于四叉树的方法被用于故障预测过程。QDK模型和Catal etal. (2009)使用相同的度量阈值、数据集和性能评估度量。他们声称QDK可以执行k均值算法和众所周知的监督方法,即线性判别分析和朴素贝叶斯。QDK 的表现也优于Catal 提出的两种模型等(2009)。然而,基于QDK的方法有其局限性,例如确定最佳聚类数。其次,与Catal等人(2009)的模型类似,他们都使用小数据集来评估他们的模型,这不能推广到所有工业数据集。最后,由于模型严格依赖于用户,因此无法自动化张等提出的NSGLP方法。(2017)使用了基于图的半监督学习技术,该技术对标记的无缺陷模块采用了拉普拉斯评分采样策略。该方法分为三个阶段:首先构造类平衡标记的训练数据集,然后使用非负稀疏算法计算关系图的非负稀疏权值最后,在非负稀疏图上采用标签传播算法迭代预测未标记软件模块的标签。他们表示,NSGLP优于几种代表性的最先进的半监督软件缺陷预测方法,然而,他们提出的模型的准确性仍然可以提高,他们使用了21个方法级度量。此外,当只有很少的标记数据可用时,NSGLP可能不能很好地执行(Li等人, 2017年)。Jiang等人(2011)声称,他们提出了一种新的模型,以克服软件故障预测领域的两个主要挑战,即难以收集大量标记的训练数据和不平衡的数据集问题(较少有缺陷的模块与无缺陷的模块相比)。他们提出了一种半监督学习方法ROCUS,该方法使用随机委员会作为分类器的集成,欠采样作为类不平衡学习技术。Jiang等人ROCUS比那些忽略任务的类不平衡性质的半监督学习方法和不有效利用未标记数据的类不平衡学习方法效果更好这种方法也有类似于Zhang et al. (2017年)。FTF是Lu等人(2011)提出的另一种方法,它使用随机森林作为基本监督学习器,自训练算法是原始Yarowsky算法的变体。在FTF算法中,基本监督学习器从标记和未标记数据中迭代训练,直到满足某些停止标准。他们报告说,半监督学习只有在最初标记的软件模块数量超过5%时才能改善故障预测。FTF方法的局限性与Zhang et al. (2017),Jiang et al.(2011年)。除了上述相关工作,还有其他研究论文提出了半监督学习方法,但将其应用于不同的数据集 Li等人(2012)提出了基于样本和剩余未采样模块的CoForest方法。他们还提出了另一种称为ACoForest的半监督学习方法,该方法可以主动选择几个信息丰富的未采样模块进行测试,同时自动利用剩余的未采样模块以获得更好的性能。Luet al.(2014)提出了主动学习作为一种自动化模型开发的方法,可以提高连续版本(Eclipse的三个连续版本)之间的缺陷预测性能如前所述,在聚类和软件专家或指标阈值的帮助下,使用未标记数据管理预测方法然而,如前所述,每一种方法都有其自身的问题。因此,我们设计并开发了自动混合模糊专家预测模型,以克服上述问题,特别是当模块标签可以根据度量阈值区间改变时,结果会随着规则条件的改变而改变的问题事实上,考虑阈值和规则条件的固定值并不是最佳解决方案。现有的模糊度量阈值区间和规则,使我们使用的专家系统基于模糊逻辑,这将在本文后面详细说明值得一提的是,其他一些研究采用基于模糊逻辑的方法进行故障预 测 ( Erturk 和 Sezer , 2016; Vir 和 Mann , 2013; Yadav 和Yadav,2015);然而,所有这些研究都使用了其他测量指标,如面向对象的指标,因此,它们无法与我们的模型进行比较。2.2. 模糊剖面开发Zadeh ( 1996 ) 在 Lukasiewicz ( Adams and Farber ,1999;Gaines,1976)提出的多值逻辑的基础上引入了模糊逻辑模糊器、模糊规则、模糊推理机和解模糊器是任何模糊逻辑系统的四个主要组成部分。语言变量和隶属函数被用来将输入的清晰值转换为模糊集,这被称为模糊化步骤。模糊化步骤完成后生成模糊规则模糊规则具有与IF-THEN规则相同的结构,IF-THEN一个推理机,这是一组规则中定义的模糊规则库,被用来作为解释和推理模糊输出所产生的基础。解模糊器将模糊集映射为单个数字作为输出。换言之,在模糊分类方法中,n个数据对象(x(1),x(2),. ,x(n)由mG. Abaei等人/沙特国王大学学报687QN1···þÞ122.. .KK12K12K12XK属性x(n),x(n),. ,x(n)。x(n)中的每个属性表示为每个模糊划分生成的一组t个模糊规则1 2 m离散语言变量LV(x(n))= {LV,LV...LV}. 每个这些规则的性质与模糊划分的性质相等比如说,m m1m2,、Mt将输入向量划分为p个不同的模糊集,表示为FS1,FS2,. . ,FSp.隶属函数mFS(i)(x(j))表示x(j)属于FSi的程度。此外,语义值mLV(i)(x(j))描绘了输入向量jthx的属性q属于语言变量i的程度(请参考等式1)。(1)和(2))。模糊系统的知识部分由两部分组成:数据库和规则库(Nozaki等人,1997年)。数据库部分解决了输入空间的划分和隶属函数的确定。根据文献综述,确定隶属函数的方法有很多种一些研究人员将隶属函数分为四个主要类别,分别是主观评价和启发、转换频率和概 率 、 物 理 测 量 以 及 特 设 形 式 和 方 法 ( Ramík , 2001; Liu 和Miyamoto,2012)。在主观评价和启发中,模糊集可以通过一定的启发程序来确定,这些程序通常由问题领域的专家提供。在转换频率和概率时,根据信息概率曲线和频率直方图构造隶属函数。物理测量使用特征的唯一在学习和自适应方法中,模糊集的隶属函数可以从给定的一组函数中学习和自适应其他一些研究人员(Medasani等人,1998; Soyer等人, 2007)将该方法分为三个主要部分:第一,主观评估和启发,包括测量理论方法(Bilgienic and Türk,sen , 2000 ) 、 基 于 直 觉 的 方 法 ( Tzvieli , 1990 ) 和 概 率 方 法(Dubois and Prade,1997);第二,启发式方法和参数化函数(Medasani et al., 1998);第三,使用合成和真实数据集的估计方法,包括神经网络技术(Wilamowski,2002)和曲线拟合方法(Klir和Yuan,1996)。在我们的实验中(将在5.3节中描述),我们使用了主观评价和启发方法。实现模糊逻辑有两种主要方法系统(FLS):Mamdani和Assilian(1999,1975)以及Takagi和Sugeno(1993)方法。规则的后果部分在对于每个输入具有3个语言划分的四输入单输出模糊系统的情况下,生成81条规则。有不同的自动和手动生成规则的方法。模糊规则的提取可以通过启发式方法、决策树、神经模糊技术、遗传算法、粗糙集理论等,一般来说,关于定义隶属函数以及规则归纳所需的知识可以从专家、数据库、课程材料和流程图中收集。2.3. 遗传算法遗传算法是一种基于种群的算法(Holland,1992),被认为是Meta启发式算法之一。GA学习过程类似于问题解决方案中所有候选人之间的竞争遗传算法的目标是确定最佳染色体以及最佳分组的基础上,其健身价值,同时应用最佳健身染色体。关于任何染色体是否将有助于下一代解的决定是基于适应度函数的值做出遗传算法的灵感来自达尔文的进化论,它使用种群、变异和交叉等算子将一个种群的解转化为一个新的种群。种群是在算法的第一步中生成的候选解的集合。采用适应度函数来决定最佳解的选择。在选择过程期间,基于适应度函数值来选择解的数量。选择的解决方案(个体)用于基于其适应值的育种(或交叉)过程,以产生两个新的个体。在每一代中,一个个体可以发生突变,这导致个体的微小变化在每轮模拟之后,目标是确定M个新解决方案与总体目标的接近程度,并删除特定数量的最差解决方案。该步骤是基于分析适应度值完成的,该适应度值是根据每个解决方案产生的适应度函数计算的。当量(3)显示了GA的样本适应度(MSE),其中N是训练集的总数并且ACTI和PRED分别示出了实际值和预测值在Takagi和Sugeno中,FLS不是模糊的,而在Mamdani和模糊化和模糊化过程也是必要的。Mamdani和Assilian规则基础部分,以及Takagi和对于it我训练样本NSugeno(1)和(2)。如果.xiis LViAND.xi是LViANDAND。xiisLVi适合度:1/21/1则FS是FSk1如果.x1i是LV1iAND。x2i是LV2iAND。 . . 和.xkiisLV ki然后y¼fx2也如在本节开始时所解释的,x(i),x(i),. . ,x(i)是因果因子,FS是决策。LV(i),LV(i),. LV(i)是表示第k个规则的模糊集,FSk是模糊集的第换言之,LV( i ),LV( i ),. LV(i )和FSk表示语言术语。由方程式(2),y由函数定义为:+an xn,可以是常数(0/1)。为了证明我们的问题-lem适合Eq.(2),一个规则可以写如下:如果是L且CC是L且UOPR是H。. 且是LTHEN故障¼ 0或如果是H,CC是H,UOPR是L。. 且最大值为HTHEN故障 1/43. 提出方法在本研究中,我们使用Takagi和SugenoEq的y部分(2)是常数(0或1),其表示程序模块的有缺陷或无缺陷。代码行(line ofcode,简写为REQ)、循环复杂度(cyclo- matic complex,缩写为CC ) 、 唯 一 操 作 数 ( unique number of operators , 缩 写 为UOPRD)、唯一运算符数(unique number of operators,缩写为UOPR ) 、 操 作 数 总 数 ( total number of operators , 缩 写 为TOPRD ) 和 运 算 符 总 数 ( total number of operators , 缩 写 为TOPR)被认为是输入参数。我们考虑了这六个指标,因为它们基于硬 件 的 阈 值 是 由 Integrated SoftwareInc. 提 供 的 。 ( ISM )(2013),并且因为它们在类似研究中 被 考 虑 (即,Radjenovic' ,2013;AlDallal,2013),这允许结果比较。只有两个语言变量被认为是,为每个输入,这是低和高。隶属函数的形状被认为是梯形。此外,输入模块的缺陷或非缺陷被认为是输出。示意图显示了688G. Abaei等人/沙特国王大学学报的输入和输出之间的关系,建议系统,TEM,如图所示。1 .一、本文提出了两种方法:方法1:实现一个手动设计的FLS.方法2:用遗传算法调整FLS的规则库和数据库,具体说明如下。3.1. 方法1:实现人工设计的模糊逻辑系统(FLS)基于专家意见、用户期望、软件要求、来自先前版本或类似系统的现有现场数据记录(Kumar等人, 2008)和度量阈值,可以确定语言变量。请注意,模糊逻辑系统的隶属函数分布和规则库是在专家的帮助下开发的,文献综述(Catal和Diri,2009),以及许多试验和错误过程。在本文中,我们使用方法级度量阈值。Menzies等人(2007年)声称,用于软件故障预测的有用软件测量指标是方法级指标(McCabe,1976年),关于其相应阈值的知识可以在文献和集成软件度量组(Integrated Software Metrics,Inc.)提供的预测工具文档中找到。(ISM),2013)(参见表1)。因为每个输入有两个语言变量,总共64个(即,(2)首先需要考虑规则,手动构建的FLS。为便于可视化,所有选定的输入/输出变量的隶属函数和模糊轮廓如图2所示。梯形隶属函数分布的每个输入变量A1、A2、B1、B2、C1、C2、D1、D2、E1、E2、F1和F2的两个半基宽度都是基于文献综述、专家建议和大量测试来确定的。手动构建的系统是基于不同的训练数据集构建的,并使用其他看不见的数据进行了测试-Fig. 1. 故障预测过程的输入和输出变量。表1参数的说明没有参数描述符号低高阈值1行代码LOC4080652圈复杂度CC815103唯一的操作UOPND1535254操作员的唯一数量UOPR2560405操作数总数TOPND1101451256运营商总数TOPR509070集.方法1的总体结构如图3所示。手动开发的故障预测过程的规则库也在附录A中给出。如图3所示,构建FLS模型首先使用Integrated Software Inc.提供的阈值定义规则和隶属函数区间。(ISM)(2013年)。隶属函数3.2. 方法二:用遗传算法(GA_FLS)在第二种方法中,手动构造的FLS包含数据库和规则库部分都使用遗传算法进行优化。要应用遗传算法,使用二进制编码、稳态选择、均匀交叉和逐位变异。每个染色体包括由以下表示的信息:A到F值(参见图2),所有输入值,后面是如下所示的规则值。此外,发现以下遗传算法参数足以给出最佳结果。交叉和变异概率分别为0.6和0.005。此外,种群大小被设置为150,50被分配给最大迭代次数染色体的长度被认为是184,其包含六个输入的每个A到F值的10位,其总共具有120位,随后是64位,其中每个位表示每个规则的存在或不存在为了优化目的,A至F值的合适变化范围在仔细研究后确定,每个输入值的初始范围如表2通过这种方法,好的规则也被识别在规则库中。方法2的总体结构如图所示。 四、如图在图4中,构建GA_FLS的过程开始于通过使用表2定义成员范围来生成包括成员值和规则的二进制串,其中成员范围是基于集成软件公司提供的阈值选择的。(ISM)(2013年)。在下一阶段,专家系统是建立使用模糊逻辑系统和遗传算法。基于适应度函数计算模型的性能,并使用性能指标进行评估。如果性能不能接受,最好的二进制字符串的适应度函数的基础上选择,交叉和变异算子的应用,新的专家系统建模的基础上新的参数。优化专家系统性能的关键因素之一是如何在遗传算法过程中根据适应度函数值选择染色体进行添加或删除。由于获得良好的故障预测模型取决于最小化两个度量:假阳性率和假阴性率,因此我们将适应度函数视为这两个因素的组合分别基于这些因子之和的最小值或最大值来选择用于添加或消除的所选染色体关于假阳性和假阴性率的解释见第4.2。G. Abaei等人/沙特国王大学学报689图二. 手动定义输入输出变量的隶属函数分布4. 实验描述和结果4.1. 数据集选择基于七个数据集(PROMISE,2012)对拟议模型进行了评估。三个数据集来自一家土耳其白色家电制造商开发的嵌入式控制器软件,即AR3、AR4和AR5,我们称之为土耳其集。还选择了属于美国航天局软件的另外四个从现在开始,我们将把它们称为NASA集。关于每个数据集的简要说明见表3。土耳其和美国宇航局提供的测量指标各不相同;然而,由于数据集的维度应与(Bishnu和Bhattacherjee,2012; Catal等人,2009年,为便于比较。表4提供了所考虑的六个指标中每个指标的描述性统计量,包括最小值、25%四分位数、平均值、中位数、75%四分位数、最大值和标准差。根据表4所示的统计数据,所有NASA数据集在最小值、25%四分位数、平均值、中位数、75%四分位数和标准差方面具有相似范围的SNR、CC、UOPND值,但最大值除外,MW1、PC 4、KC 3、KC 1和CM 1具有相似范围的值。在另一边,PC1,PC2和PC3值彼此接近。P5和JM 1具有相似的最大值,因为它们与其他数据集相比是大数据集。在UOPR方面,有趣的是,MW1和JM 1以及KC 3、KC 2和PC 4具有相似的最大范围值。此外,就TOPR而言,PC 3和JM 1的最大范围值相似。此外,在TOPND中,P5、PC3和JM 1的最大值彼此接近。在土耳其设置中,AR3和AR5值更相似。通过比较NASA和土耳其数据集的统计数据,我们发现,在UOPND,TOPR和TOPND值范围方面,所有三个土耳其数据集都接近KC 1和KC3。4.2. 业绩衡量标准四个性能评估指标用于评估所提出的模型:假阳性率,假阴性率,总错误率,和马修斯在指定模块标签之后,基于混淆矩阵计算假阴性(FN)的情况发生时,实际的标签是错误的,我们预测,它是无故障和假阳性(FP),否则。当预测标签与实际标签相同时,我们得到了以下公式用于计算三个评估指标。690G. Abaei等人/沙特国王大学学报MCC¼×-×-1/4ð Þ¼公司简介TPTNFPFNPTPFPTPFNð7ÞF测度2ω TP2ω TP双稳 FP双稳 FN4.3. 结果和讨论ð8Þ最初,所提出的系统是基于Mamdani和Assilian(1999,1975)方法开发的,以显示程度基于五个语言输出变量(非常低,低,中,高,非常高)的缺陷。然而,该模型应与现有的预测算法和其他研究相结合。用Takagi和Sugeno(1993)代替了Mam- dani已经开发了两种不同的方法来计算程序模块的缺陷,并在没有类或模块标签的情况下提高预测精度。4.3.1. 方法1:实现人工设计的模糊逻辑系统(FLS)如第3.1节所述,与每个输入隶属函数相关的所有A到F值都是根据文献综述和软件质量专业知识手动确定的(图2)。在开发了模糊专家系统后,利用14个不同的数据集(NASA集和Turkish集)计算了预报精度。表5显示了FPR、FNR、总体错误率、MCC和这些结果将在本文第4.3.3中进行比较和讨论。表2图三. 方法1(FLS)中的工艺步骤。4.3.2. 方法二:用遗传算法(GA_FLS)根据第三节提出的模型,采用遗传算法对模糊专家系统的隶属函数分布和规则库进行调整。在本节中,将基于每个美国宇航局和土耳其的布景当优化完成后,专家模糊系统的预测精度与其余的NASA和土耳其的数据集进行测试。在模糊专家系统与每个数据集进行优化,并最终系统与其他剩余数据集进行测试后,我们观察到,用于优化的初始基础值(A到F)。假阳性FPRFPFP- 100FNRFN假阴性FN- 2000ð4Þð5Þ结果表明,在分别从NASA和土耳其的数据集构建基于CM1和AR4的GA_FLS之后,与其他数据集显示基于使用CM1和AR 4构建和优化的专家系统,测试数据集的预测结果见表6和表9。针对CM 1和AR 4优化后的A至F值也分别显示在表7和表10此外,遗传算法基于CM 1和AR 4优化从总共64条规则(参见附录A)中选择了24条和20条规则,分别如表8和表11所示。表中的规则编号表示实际规则编号,如附录A所示。此外,图。图5和图6示出了在不同代的遗传优化期间FPR、FNR、总体错误率、MCC和F-度量方面的平均错误性能变化。表6和表9中列出的结果将在本文第4.3.3中进行比较和讨论。请注意,某些数据集(如KC 1、KC 2、JM 1和PC 4)缺陷较多,因此,如结果部分表5总错误率<$TP< $FN<$ FP <$TN<$60和6,它们的FNR值不如其他数据集;然而,即使有这个问题,GA_FLS模型也提高了性能代表性信函值范围代表性信函值范围的120–50D115–35一个250–100D235–75B15–10E180–110B210–25E2110–150C110–20F135–60C220–40F260–100G. Abaei等人/沙特国王大学学报691图四、方法2(GA_FLS)中的工艺步骤表3数据集描述。名称描述编程语言模块数量模块缺陷%AR3洗衣机C63百分之十三AR4洗碗机控制器软件C107百分之十九AR5冰箱控制器软件C36百分之二十二CM1NASA航天器仪器项目C498百分之十PC1地球轨道卫星C1109占7%PC2地球轨道卫星C5589百分之零点四PC3地球轨道卫星C1563百分之十PC4地球轨道卫星C1458百分之十八PC5地球轨道卫星C++17,186百分之五KC1接收和处理地面数据的存储管理C1183百分之二十九KC2收发库管理系统的科学数据处理单元C++522百分之二十二KC3地面数据接收和处理地面数据的存储管理Java458百分之九MW1零重力燃烧实验C403百分之八JM1实时预测地面系统C10,883百分之十九与手动FLS和几乎其他模型相比,这些数据集。如图在图5和图6中,基于来自NASA集合的CM1的优化中的FNR值显著降低,而FPR和总体错误率保持近似恒定。所有评估性能度量基于来自土耳其集合的AR4而降低。我们没有基于土耳其集合中的其他系统(包括AR 3和AR 5)来优化专家系统的原因是它们具有非常小的数据群体(即,分别为36和63692G. Abaei等人/沙特国王大学学报表4每一个人的描述性统计。名称度量最小25%四分位是说中值75%四分位数最大标准偏差CM1LOC2932.34851933.542344.7190CC115.810936968.7561UOPR1916.0821520729.6657UOPND0827.8929173331435.3258TOPR11996.8974471051261140.6658TOPND01160.9954296981490.7808PC1LOC0825.7177142960237.2830CC126.0866371369.52084UOPR1914.21241318998.1349UOPND0722.7938142753830.6174TOPR11873.88263780.751641118.4475TOPND01356.63742861114491.3591PC2LOC0516.746309101766333.827024CC124.3637584351446.9375499UOPR4811.7744971114464.954106UOPND1512.45100781424517.752573TOPR41346.0442952444119884.540643TOPND1931.748993163184357.898782PC3LOC01029.922006183381748.039341CC137.2739094729912.589538UOPR41115.2321261418686.413129UOPND21027.753018183376844.345806TOPR52590.47168146915590225.77946TOPND21873.26462436734015182.94978PC4LOC0620.6138546122621025.234081CC114.8395061736946.6682565UOPR0715.23212631115386.6167031UOPND0527.753017691660120.535942TOPR01590.471680633731687103.99983TOPND0973.2646241944140371.446722PC5LOC029.408530222207262.373684CC112.0381124113667.6985314UOPR034.441696736854.2796491UOPND004.476550713224125.93173TOPR0323.8573263710,862209.57392TOPND0014.668277135169126.34343KC1LOC11031.950972204128834.974092CC114.091293325454.7717921UOPR0610.5012681014375.7671797UOPND0514.91885112112013.720876TOPR01150.282333276667861.964496TOPND0730.79459174042838.358549KC2LOC11152.67363060.75127593.1063CC126.826344718013.2936UOPR1711.83831116476.0620UOPND0620.3473152732525.2700TOPR11283.81134394.752469172.284TOPND085
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C++标准程序库:权威指南
- Java解惑:奇数判断误区与改进方法
- C++编程必读:20种设计模式详解与实战
- LM3S8962微控制器数据手册
- 51单片机C语言实战教程:从入门到精通
- Spring3.0权威指南:JavaEE6实战
- Win32多线程程序设计详解
- Lucene2.9.1开发全攻略:从环境配置到索引创建
- 内存虚拟硬盘技术:提升电脑速度的秘密武器
- Java操作数据库:保存与显示图片到数据库及页面
- ISO14001:2004环境管理体系要求详解
- ShopExV4.8二次开发详解
- 企业形象与产品推广一站式网站建设技术方案揭秘
- Shopex二次开发:触发器与控制器重定向技术详解
- FPGA开发实战指南:创新设计与进阶技巧
- ShopExV4.8二次开发入门:解决升级问题与功能扩展
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功