没有合适的资源?快使用搜索试试~ 我知道了~
自动启发式缺陷诊断方法──基于模糊多准则决策的改进错误分类方法
沙特国王大学学报通过改进的错误分类作者:Petro R. M.Inácioa,b,Mário M Freirea,ba葡萄牙贝拉内政大学b葡萄牙,Instituto de Instituto de Instituto Ommunicaçées阿提奇莱因福奥文章历史记录:收到2021年2021年9月11日修订2021年10月3日接受2021年11月2日网上发售保留字:自动化过程信息处理信息检索错误分配问题启发式算法模糊逻辑开源软件系统A B S T R A C T缺陷分类是软件维护中一项重要而耗时的工作。本文提出了一种结合模糊多准则决策的自动启发式缺陷诊断方法。迄今为止,研究缺乏对多标准输入的考虑,以收集错误报告的决定性和明确的知识。该方法采用多准则模糊逼近理想解的方法建立缺陷优先级队列,并将其与细菌觅食优化算法(BFOA)和棒系统(BAR)优化相结合来选择开发者。计算相对阈值,并使用混合优化技术对开发人员进行分类,以区分活跃、不活跃或新开发人员的错误分配。精确率、召回率、f-测度和准确率的调和平均值分别为92.05%、89.21%、85.09%和93.11%。这表明与现有方法相比,总体准确度提高了90%±2%。总的来说,这是一种改进错误分配过程的新颖解决方案,它使用模糊多标准决策来利用triager的直观判断,并且能够基于其相对工作负载分类来区分活跃的、不活跃的和新的开发人员。版权所有©2021作者。由爱思唯尔公司出版代表沙特国王大学这是一个开放的访问CC BY-NC-ND许可证下的文章(http://creativecommons.org/licenses/by-nc-nd/4.0/)。内容1.导言87572.相关工作。...................................................................................................................................................................................................................................................... 87583.建议的方法87594.经验验证87615.结论和未来方向8763资金8763竞争利益声明参考文献8763*通讯作者。电子邮件地址:chetna. ubi.pt(C. Gupta)。沙特国王大学负责同行审查1. 介绍bug诊断人员经常面临的一个难题是,在可用的开发人员中决定谁最适合处理报告的bug。有效的缺陷分配是一个复杂的多标准决策过程,需要缺陷特征的重要信息,如摘要、描述、受让人、优先级、状态、注释等。 (Zhang等人, 2017年)。理想情况下,错误解决过程应该是时效性的,并且能够快速响应https://doi.org/10.1016/j.jksuci.2021.10.0111319-1578/©2021作者。由爱思唯尔公司出版代表沙特国王大学这是一篇基于CC BY-NC-ND许可证的开放获取文章(http://creativecommons.org/licenses/by-nc-nd/4.0/)。制作和主办:Elsevier可在ScienceDirect上获得目录列表沙特国王大学学报杂志首页:www.sciencedirect.comC. 佩德罗?古普塔Inácio和Mário M Freire沙特国王大学学报8758将新报告的bug(基于它们的优先级)分配给最合适和占用最少的开发人员。然而,在这方面,事实上,随着问题跟踪系统的出现,注意到每天有成千上万的bug报告需要修复并不奇怪。在过去的几十年中,随着无处不在的计算的出现,大型开源软件(如OpenStack1)在管理大型计算、存储和网络资源池方面变得越来越重要。此外,Mozilla2,Eclipse3,Jira4是其他知名的问题报告平台。研究人员已经提出了一系列技术来自动化错误分配过程。这些技术中的大多数基于机器学习、社会网络分析、图论、模糊逻辑、信息检索、自动文本摘要和严重性/优先级预测等。长度和时间所需的错误解决使用三个实验设计参数:评估指标,受让人的定义,和社区的开发人员基于机器学习的方法将最接近特征的新错误报告与开发人员修复的一组错误报告进行匹配以获得推荐。信息检索技术使用特征向量来表示错误报告的文本信息,这些错误报告随后被处理以供潜在的开发人员选择。其基本思想是通过考虑开发人员的历史,将错误分配给对特定类型的错误具有比较技能的开发人员(Sajedi-Badashian和Stroulia,2020)还报告了缺乏考虑基于模 糊的 解 决方 案 的研 究 。 可用 的 方法 ( Tamrawi 等 人, 2011;Shokripour等人,2015)计算每对"开发者技术术语“的得分,并且不明确地考虑支持用于错误分配的多标准的Meta特征。这些方法使用具有相似性度量的模糊逻辑实际上,并非所有的特性都是同等重要的,因此一个有效的缺陷诊断方法应该明确地权衡可用的特性。所提出的解决方案认为这一方面填补了其中一个现有文献的空白总之,本文提出了一种方法来解决自动化的错误分配的问题。提出的解决方案结合了多准则模糊TOPSIS方法(Chenand Hwang,1992)和混合启发式算法-BFOA(Passino,2002)与BAR(Del Acebo,2008)系统优化方法来预测和分配错误到适当的开发人员。BAR优化是一种基于群体智能的任务调度方法,据我们所知,现有的研究缺乏额外的工作量。这与识别活跃、非活跃和新开发人员的主要关注点之一直接相关。活跃的开发人员是那些经常积极参与bug分类过程的人,而不活跃的开发人员则是那些不参与的人此外,BFOA还表现出了与其他著名的进化算法如差分进化算法和遗传算法相竞争的性能BFOA和BAR优化的混合性质本文件探讨了这些差距,并提出了以下主要贡献:一个集成的解决方案,以分配错误,以适当的开发-ers利用(i)使用模糊多准则决策的triagers的直观判断,(ii)处理开发人员可用性的约束,以及当前的工作负载状态来区分第1https://www.openstack.org2https://bugzilla.mozilla.org3https://bugs.eclipse.org第https://www.atlassian.com/software/jira活跃、不活跃和新开发人员之间的差异。它计算相对阈值,并使用混合优化技术对开发人员进行分类,以区分活跃,不活跃或新开发人员的错误分配。与现有基准方法的性能比较结果表明,模糊逻辑多准则和启发式算法相结合的缺陷分配成为一个有价值的方式,以最大限度地减少triagers的工作量和修复时间。2. 相关工作在过去,提出了一系列错误分类方法,这些方法大致分为以下类型,即机器学习,信息检索,基于拍卖,社交网络,抛图,模糊集和基于运筹学的技术(Sajedi-Badashian和Stroulia,2020)。基于机器学习的方法(Guo et al.,2020; Bhattacharya等人,2012;Karim,2019;Yang等人,2014 a; Govindasamy等人, 2016;Jonsson等人,2016;Tian等人,2015年; Sharma等人, 2012; Mani等人,2019年; Xia等人, 2017; Johnson和Zhang,2016; Deng等人,2019; Guo等人,2019; Naguib等人,2013年; Xie等人,2012)-将最接近特征的新错误报告与由开发人员针对推荐修复的一组错误报告进行匹配。一些现有的工作已经尝试将开发者的简档的专业知识与特征特征的集合相匹配,以推荐与他们的简档相匹配的开发者。这些方法面临的最大挑战是-如何标记错误报告与不足或遗漏的标签信息。不同的维度,如决策分类器的选择,功能选择,包括折腾图,和增量学习的影响错误分流效率。除了使用文本描述之外,还探索了组件、操作系统、硬件、版本、拥有代码的开发人员、开发人员的当前工作量以及有效参与项目的开发人员,以实现有效的错误分配。研究人员探索的另一套方法是技术-基于信息检索来自动化错误分配过程的方法(Xia等人,2017; Zamani等人,2014; Kaur和Jindal,2019; Gujral等人,2015; Xuan等人,2015; Bhattacharya和Neamtiu,2010)。在这些方法中,错误报告被认为是被转换的文档。这些方法使用特征向量来表示bug报告的文本信息,这些文本信息稍后被处理以供潜在的开发人员选择。其基本思想是通过考虑开发人员的历史,将错误分配给对特定类型的错误具有比较技能的开发人员。Guo等人(Guo等人,2020)使用Word2vec(一种自然语言处理)进行错误总结,并使用CNN进行实现。一些研究人员使用了额外的信息,如组件、产品、严重性、优先级,以提高缺陷分配的准确性(Xia等人,2017; Somasundaram和Murphy,2012; Deng例如,2017年; Guo等人,2018年; Zhao等人,2019年)。在(Zhao etal.,2019)推荐使用主题模型潜在狄利克雷分配(LDA)方法的合适开发人员。他们使用LDA方法计算错误报告的相似性,然后将其与多个属性信息相结合,以过滤出不一致的错误报告。Xia等人(Xia等人,2017)提出了一种具有附加监督信息的LDA模型,以获得更接近的监督主题分布。然而,这些方法受到关注的标记错误报告与不足或丢失或重复的标签信息,导致上下文信息的丢失。另一个问题是与机器学习或信息检索方法的执行相关的成本。现有的工作大多使用主题模型和分类算法,当数据量很大时,这些算法是昂贵的。C. 佩德罗?古普塔Inácio和Mário M Freire沙特国王大学学报8759以前的大多数工作都没有解决开发人员活动的参与,这是错误分配过程中的一个这是因为有很多开发人员,没有办法确定谁是可用的或已经离开工作,或者有一些与技能或潜在的特定错误解决方案有关的问题。在这个方向上,Xuan(Xuan等人,2017)提出了一种半监督文本分类方法,建议开发人员在当前错误报告数据中标记开发人员他们的方法使用朴素贝叶斯方法和期望最大化方法。在(Xuan et al.,2012)使用社交网络技术来分析开发者信息以优先化开发者。他们分析了三个主要的影响因素:产品特性,时间变化和噪声容限,并根据开发人员的优先级分配错误。在基于社交网络的方法中,开发者的社交网络被称为描绘软件开发者之间的社交交互和个人关系的网络。开发人员的专业知识是根据网络的各种影响因素计算的,该网络利用软件开发人员之间的关系和错误报告来选择潜在的开发人员(Zanetti等人, 2013年; Wu等人,2011; Zhang和Lee,2012; Yang等人, 2014 b; Zhang等人,2013年)的报告。文献中报道的另一组方法 是 基 于 抛 掷基 于 图方 法( Bhattacharya 等 人 , 2012;Bhattacharya和Neamtiu,2010; Chen等人,2011;Jeong等人,2009年)。在这些方法中,考虑了错误报告的抛出路径。Jeong等人(Jeong等人,2009)使用转移图来描述当前开发人员无法修复的错误以及错误报告传递给其他开发人员的信息,以优化错误报告分配的准确性。Bhattacharya等人(Bhattacharya和Neamtiu,2010)通过分析结合各种属性的转移图,提出了一种基于(Sajedi-Badashian和Stroulia,2020)的改进的分配准确性方法。报告指出,bug抛出是bug分类中的主要问题之一,大约93%的bug报告在其生命周期中至少被抛出一次。一些研究人员已经使用了基于模糊集的方法(Tamrawi等人,2011;Shokripour等人,2015)来计算开发者关于从bug参数获得的各种主题的会员分数。这些方法使用具有相似性度量的模糊逻辑将错误报告分类为错误和非错误。Tamrawi等人(Tamrawi等人,2011)提出了一种基于模糊集和开发者缓存的bug分发方法。从文献中列出的一系列方法来看,结论是,现有的方法不考虑使用支持多标准决策的Meta特征来将错误分配给最有潜力的实际上,并非所有的特征/参数都是同等重要的,因此一个有效的错误分类方法应该显式地对参数及其优先级进行加权。除此之外,现有的研究在分配错误时没有考虑整体开发人员关于关键因素的能力/专业知识。此外,文献缺乏研究考虑开发商的可用性,这是直接联系到一个主要的问题,识别积极和非积极的因此,本文针对这些差距和方法的混合错误分类方法。3. 该方法提出的解决方案有两个方面涉及错误分配-Fig. 1. 建议的bug分配过程。从错误报告中提取特征,如错误ID、摘要、错误报告器、注释、组件、优先级、严重性和时间戳,以及它们的解决状态(标签),如已解决、已修复、已关闭和已验证。对收集的数据进行预处理,并从数据集中删除所有停止词和噪声。其次,利用模糊多准则TOPSIS方法建立缺陷优先级度量,生成缺陷优先级队列。这是一个强大的方法,杠杆年龄的好处,不确定性和模糊的人类决策。从bug报告中提取两个特征,即优先级和严重性,为每个bug分配等级。严重性被认为是bug紧迫性的严重指标。严重性5可以是以下类型之一:阻塞、严重和主要(指示严重错误和崩溃)、正常、轻微和轻微(指示表面错误)。数以千计的报告的错误报告表明,开发人员不一定以高优先级处理严重或阻塞严重级别的错误,即,P1. 因此,在严重性和优先级之间不存在一对一的映射不同的bug跟踪系统有不同的bug严重度级别。将根据严重程度分配权重。例如,在Jira4中,仅存在三个严重性级别,即,严重的、主要的和次要的。因此,严重性权重(Sw)为3(严重)、2(严重)和1(轻微)。类似地,严重性权重(Sw)将被分配给不同缺陷分类系统中的不同缺陷严重性级别。在生成错误优先级队列之后,使用BFOA和BAR的混合优化技术计算开发人员的可用性和当前工作量的度量,按照以下步骤对错误报告进行排名,将它们排列到bug优先级队列中。该算法(参考伪代码1)将错误报告标准值及其权重作为输入。然后,它从bug报告中获取详细信息,如严重性级别,优先级级别,并为每个参数分配权重。然后,使用模糊TOPSIS方法生成一个错误排序列表(步骤1 - 9).模糊TOPSIS是一种功能强大的算法,用于产生综合得分的最佳方案的选择。该技术的基本原理基于这样的概念,即所选择的备选方案应该具有到正理想解(PIS)的最短距离和到负理想解(NIS)的最远距离此外,标准的重要性权重和定性标准的评级被视为语言变量。在本文中,决策者使用的语言变量来评估的重要性的标准被认为是由决策者和评级的替代品相对于各种标准。首先将语言输入映射到模糊值,如下所示:#21453;和充分的开发人员识别。 图1示意了提出bug分配流程。所述过程开始于https://bugzilla.mozilla.orgC. 佩德罗?古普塔Inácio和Mário M Freire沙特国王大学学报8760+-.ΣΣ1/4iij;ij;IJ语言值=非常低,5分制= 1,模糊数= 1,1,3。语言值=低,5分制= 2,模糊数= 1,3,5。语言值=平均值,5分制=3,模糊数= 3,5,7。语言值=高,5分制= 4,模糊数= 5,7,9。语言值=非常高,5分制=5,模糊数= 7,9,9。三角函数被用作隶属函数。在这些值的帮助下,模糊TOPSIS方法将被用于输入计算和生成错误优先级值。一个模糊决策矩阵,使用方程。(一).K漏洞严重性级别严重性权重Bug优先级优先级权重Bug报告(Sw)水平(Pw)因子(Rf)阻滞剂7P151关键6P241主要5P331正常4P422琐碎3P513轻微2----3增强1----3输出:最佳R(排名错误),其中R是最佳折衷解决方案恩科奥1Xk恩科奥aij¼maxk aij;bij¼Kk¼1bij;cijmaxkc ijð1Þ● 创建决策矩阵D其中(a,b,c)表示模糊值,k定义缺陷的总数,i和j分别表示第i个缺陷和第j个准则● 规范化决策矩阵● 计算每个标准aij的权重wj. 一Bc● 求模糊决策矩阵D~和权重W~● 计算加权模糊决策矩阵V~=D~*W~c0j c0j c0j● 计算正理想(A)和负理想(A)的解。● 计算每个位置c0j¼max.cij优先级标准r}i j1/4。a}j;a}j;a}j,● 计算与理想解的相对接近度● Rank错误根据rank值报告并创建一个队列。R因子表示从国际新闻报bij 国际新闻报Fbug报告其中,Rf可以有三个值映射到严重性a}j<$4最大值ai标准可以分为优先级标准或严重性标准。接下来,模糊正和模糊负理想解(FPIS和FNIS)计算使用Eqs。(4)和(5)。A0.25。01号#02. . ..... . 你 好。 . ..... . 你 好。 . . ::#0n 其中#0j<$max。#ij3个月4个月等级,Rf= 1表示严重、阻滞和主要严重性等级,Rf= 2表示正常严重性等级,Rf= 3表示轻微、轻微和增强严重性等级。在第二步中,计算用于最终分配的开发人员的可用性和当前工作负载的度量开发人员的数据的三个属性等式(7)为用于计算每个筛选后的开发人员的工作量。A00¼英寸#0 0;#00。 . ..... . 你 好。 . ..... . 你 好。 . . ::#0 0m,其中#001/4ma x。#ij1千5百万这里,A然后计算两个模糊数之间的距离、组合决策矩阵的模糊元素以及模糊正理想解和模糊负理想解。这些距离进一步用于计算每个需求的权重,定义每个需求的排名。这个权重被称为接近系数。接近系数d0 0工作量计算1. 生成一个开发人员列表和过去分配给每个开发人员的bug数量。2. 对于每个显影剂,根据以下属性过滤结果:a. current:当前分配的活动bug报告的数量。b. average-fixing-time:解决bug所花费的相对时间。c. 频率:指的是bug报告分配给开发人员的频率。这是过滤结果时需要考虑的时间范围在这项研究中,我们有一个...CCId00 00我我ð6Þ在过去的三年里一直在考虑这个问题。3. 使用给出的公式计算每个开发人员的工作量其中,d0 0和d0表示下图:i i工作量=当前 * 平均固定时间 * 频率(7)模糊元素与模糊神经网络之间的距离和FPIS。这些步骤总结在下面的伪代码-1中。在下一个阶段,开发人员计算用于最终分配的当前工作量。首先执行开发人员当前工作量的估计伪码1:改进的模糊TOPSIS法输入:Bug报告标准值a i j,使得B n ={b 1(b p,b s),b 2(b p,b s),. bn(bp,bs)}伪码1:改进的模糊TOPSIS法输入:Bug报告标准值a i j,使得B n ={b 1(b p,b s),b 2(b p,b s),. bn(bp,bs)}每个标准的权重wj最后,使用BFOA和BAR优化的混合优化技术计算将错误分配给具有相对阈值的适当开发人员(参见伪代码2)。是由Passino提出的基于群体的数值优化算法(Bhattacharya等人, 2012年)。BFO是一个简单而强大的最近推出的优化算法,描述了觅食行为的能动细菌等例如E.大肠杆菌和盐藻通过鞭毛的旋转来推进自己。它成功地解决了许多工程问题,●●●●●r0ij¼和C. 佩德罗?古普塔Inácio和Mário M Freire沙特国王大学学报876122210●9●11已经开发了许多BFO变体来改进其优化性能。本文将BFO算法与BAR优化算法相结合,提高了BFO算法的性能。这是一个非常简单的算法,它的灵感来自于酒吧或酒馆里调酒师向一群顾客提供饮料的行为。BAR算法可以方便地用于解决复杂的NP难调度问题,以及其他广义优化问题。BAR算法可以产生更好的结果相比,其他优化算法,如贪婪算法在通过BFO和BAR的结合,该算法能够有效地平衡细菌进化过程中对搜索空间的探索和利用,从而显著提高了算法的性能. 该算法从错误优先级队列中收集所有错误的错误信息,计数器使用(7)持续跟踪每个开发人员的工作负载状态。相对阈值允许错误分类器根据给定开发人员池中每个开发人员的性能解释工作负载结果具有Rf因子= 3的Bug报告并不意味着它们不复杂(Rf= bug报告的复杂性)。它们可能需要更长的时间来修复,因此可以向新开发人员提供这些错误报告。伪代码2:修改的BFOA+BAR优化算法1. BFOA首先确定要分配的bug数量2. 接下来,它引用在上一步中计算的bug优先级队列进行分配。3. 根据使用(7)计算的当前工作负载状态来执行分配遵循以下步骤:a. 初始化填充b. 使用以下三个优化循环评估个体内环:用于趋化事件;中间循环:用于再现事件;外循环:用于c. 对最优个体进行解码,得到第一级解,并将其作为BAR算法的输入。4. 为了使分配自适应和鲁棒BAR优化,用于获得最终的解决方案。遵循以下a. 将工作负载分为以下类别,并按以下方式计算阈值:b. 计算池中所有开发人员的工作负载得分的平均值和标准c. 将average设置为指向下表中的Middle(A3)的中间值。使用标准差值分隔下一个水平。将标准差添加到A3将设置A2的限值,并将其进一步添加到A2将设置限值为前10%,即A1. 类似地,从A3中减去标准偏差值将设定A4的限值,进一步减去将得到A5。A1=前10%A2=下一个25%A3=中间30%A4=下一个25%A5=底部10%d. 根据以下条件之一分配工作量:i. 如果(工作负载= = A1)不分配?检查满足条件(4d(i到v))之一的下一个显影剂//的条件。ii. 如果(工作负载= = A2)将错误报告分配给d,其中d D具有Rf= 1iii. 如果(工作负载= = A3)将错误报告分配给d,其中d D具有Rf= 2iv. 如果(工作负载==A4)将错误报告分配给d,其中d D具有Rf= 3v. 如果(工作负载= = A5)案例一:不分配?惰性显影剂案例二:新开发人员(工作量值为0)将一个错误报告分配给d,其中d2 D具有Rf= 34. 经验验证为了验证所提出的方法,我们将我们的结果与总共11个数据集进行了比较。在这11个数据集中,Badashian等人(Sajedi-Badashian和Stroulia,2020)共使用了6个数据集(原样)。这些数据集是从Github6中的用户的各种贡献者那里获得的。这6个项目的详情如下:http://github.com/yui/yui37http://github.com/julialang/Julia8http://github.com/elastic/elasticsearchhttp://github.com/Angular.js/Angular.jshttp://github.com/saltstack/salt● http://github.com/Rails/Rails此外,5个开源项目,即OpenStack,Mozilla,Eclipse,NetBeans和Jira被用来测试我们的结果与其他现有的方法。文献报告称,现有研究使用不同的假设、设置,因此报告的技术结果性能在不同指标上差异很大。这使得很难将新方法的结果与现有方法进行比较(Sajedi-Badashian和Stroulia,2020)。从文献中,我们选择了12种方法( Tamrawi 等 人 , 2011; Guo 等 人 , 2020;Sajedi-Badashian 和Stroulia,2020; Xuan等人,2015; Bhattacharya和Neamtiu,2010;Xuan等人, 2012; Anvik和Murphy,2011; Shokripour等人,2013;Wang等人, 2014; Badashian等人, 2015; Zhang等人,2016),用于比较和Meta分析。这些方法使用了大型数据集,并且没有对数据进行主要 过滤。还将 结果与Bada- shian等人( Sajedi-Badashian 和Stroulia,2020)进行了比较,因为这是最合适的方法,并且它还使用从漏洞报告中收集的多源证据进行漏洞分配。结果总结见表1、表2和表3。对于5个开源项目数据集,我们已经将我们的结果与他们发表的结果进行了理论比较。因为,现有方法中的结果在不同的度量上有所不同,例如准确度、精确度、召回率、f-测量、平均倒数秩(MRR)和平均平均精确度(MAP)。MAP是一个单一的数字测量,可以独立使用,不像精确度和召回率,这是一起解释,只考虑高排名的值。在本文中,对所有这些指标(包括MAP)进行了性能比较,从而可以将所提出的方法结果与其他方法(只要有一个或多个指标)进行比较。尽管对所有这些方法进行所提出的方法和其他方法之间的成对比较是不可能的,因为结果并不提供为项目选择的所有错误报告的本评价中使用了以下6https://github.com●●12●C. 佩德罗?古普塔Inácio和Mário M Freire沙特国王大学学报表18762错误等级@k精度计算结果分析前1顶部2前3前4前5前6顶部78强顶部9前10精度百分之九十二点一四91.32%91.12%百分之八十八点二五82.61%79.59%百分之八十点一七百分之八十点一三78.59%77.13%召回75.68%74.98%74.13%73.12%73.17%74.98%百分之七十七点二五81.77%80.11%82.69%F-measure82.12%83.34%79.14%79.74%76.41%79.81%76.12%79.66%81.91%81.16%表2a与Badashian等人比较的分析结果(Sajedi-Badashian和Stroulia,2020)项目平均倒数秩(MRR)平均精密度(MAP)Badashian等人(Sajedi-Badashian和Stroulia,2020)提出Badashian等人(Sajedi-Badashian和Stroulia,2020)提出项目170.640.6661.2363.56项目280.610.6458.7061.04项目390.650.6562.4861.11项目4100.600.6356.9456.95项目5110.630.6360.9261.46项目6120.580.6055.2156.56表2b与其他方法比较的分析结果现有方法数据集性能c) 召回率:它是指检索到的相关实例在所有相关实例中所占的比例。查准率和查全率都被用来理解相关性的度量。Bhattacharya等人,2010年(Bhattacharya和Neamtiu,2010年)(Tamrawi等人,2011;Tamrawi等人,2011;Tamrawi等人,(2011年)Anvik等人,2011年(安维克和墨菲,2011年)Xuan et.艾尔2012(Xuan等人, 2012年)Eclipse,Mozilla准确度77.43%(Eclipse),77.87%(Mozilla)Eclipse精度92.99%Eclipse,Firefox精度60%,召回率3%(Eclipse),精密度51%,召回24%(Firefox)Eclipse,Mozilla准确度53.10%(Eclipse),56.98%(Mozilla)d) f-measure:它指的是测试准确性的度量。它是根据查准率和查全率计算的。其计算如下:f-测量=(2* 精度 * 召回率)/(精度+召回率)e) 平均倒数排名:是指被选中分配的开发商的倒数排名的平均值。只有最高的等级被认为是其他人被忽略。f) 平均精度均值:指总体bug报告的平均精度均值。g) 鲁棒性:定义为系统的能力,(Shokripour等人,2013;Shokripour等人,2013;Shokripour等人,2013年度)JDT-浏览器,Firefox准确度89.41%(JDT-浏览器),59.76%(火狐)处理在执行期间作为输入注入的错误输入测试结果的有效性。(Wang等人,2014; Wang等人,2014; Wang等人, 2014年度)Xuan et.例如,2015(Xuan等人,(2015年)Eclipse,Mozilla准确度84.45%(Eclipse),55.56%(Mozilla)Eclipse,Mozilla准确度60.40%(Eclipse),46.46%(Mozilla)此外,3个研究问题进行了调查,以验证结果的性能。以下是所涉及的研究问题:RQ 1. 模糊多准则TOPSIS方法的有效性如何Badashian et.例如,2015(Badashian等人,( 2015年)20 GitHub项目,7144错误报告准确率89.43%(GitHub项目)● 表1给出了成功计算的分析结果(Jonsson等人,2016年;Zhang等人,(2016年)工业精度89%错误@k精度的定义和排名,其中k = Top 1到Top 10。(Zhang等人, 2016)Eclipse,Mozilla,Ant,TomCat6MRP 0.28(Eclipse),0.28(Mozilla)、0.35(Ant)、0.35(TomCat6)MAP 56.42(Eclipse),44.49(Mozilla)、36.48(Ant)、36.54(TomCat6)RQ 2. 计算工作量,结合两个输入来运行混合BFOA和BAR算法的精度,召回率,f分数和结果准确性的难易程度如何● 表2(a和b)列出了比较结果的分析Badashian et.例如,2020年(Sajedi-Badashian和Stroulia,2020年)13个GitHub项目MRR 0.59和MAP 56.83,准确度80.40%在精确度、召回率、f度量和准确度方面与其他方法相比。Guo等人(Guo等人,二○二○年;Mozilla精确度92.99%*Guo等人, 2020年)RQ 3.所提出的方法的结果是否可以应付错误?建议的方法Mozilla,Eclipse、NetBeans、Jira、OpenStack平均准确度93.11%,准确率92.35%(Mozilla),92.98%(Eclipse),92.98%(NetBeans),93.13%(Jira),94.21%(OpenStack)。平均精密度92.05%,平均回忆率89.21%,平均f-测量85.09%。C. 佩德罗?古普塔Inácio和Mário M Freire沙特国王大学学报表18763● 表3显示了耐用性结果可以看出,使用模糊多准则TOPSIS方法获得了Top 1到Top 10列表大小的精确度、召回率和f-度量的良好值(参见表1)。此外,针对所提出的解决方案与选定的12种其他方法a) 准确性:量化为在所考虑的数据集上计算现有方法和拟议方法之间的可接受性差异b) 精确度:指检索到的实例中相关实例所占的比例。结果表明,该方法可以有效地对故障进行排序,并能有效地提高故障分类的准确性。表2(a)总结了6个GitHub项目的结果,可以看出所提出的方法的结果是有希望的。表2(b)列出了与其他C. 佩德罗?古普塔Inácio和Mário M Freire沙特国王大学学报8764表3(在不同错误率下观察到的p值注入算法输入,α = 0.05)对于错误率为百分之五百分之十百分之十五百分之二十错误等级-错误与错误等级准确度0.0000110.000050.0000270.00018接近。实验结果表明,该方法是有效的,具有较高的准确性,平均准确率为93.11%。所有数据集和协议的总体系统准确度约为90%±2%。为了回答RQ3,将错误输入注入算法,错误率为5%、10%、15%和20%,一次一个这样做是同样的实验进行10次,计算平均值以评估性能。获得的p值小于0.05,α为0.05,表明能够处理错误输入的稳健解决方案。可以得出结论,所提出的算法进行有效的相比,其他研究中的错误分流。5. 结论和今后的方向本文提出了一种新的自动模糊TOPSIS多准则方法,并将其与BFOA和BAR算法相结合用于缺陷分配。模糊TOPSIS方法用于捕捉在作出具体决策时的直觉判断。选择解决状态(标签)为“已解决”、“已修复”、“已关闭”和“已验证”的错误报告并进行预处理,以从收集的数据中删除所有停止词和噪声。通过计算缺陷优先级,利用模糊多准则TOPSIS方法生成缺陷优先级队列,根据缺陷报告中缺陷的优先级和严重性进行排序。使用BFOA和BAR的混合优化技术计算开发人员的可用性和当前工作负载的度量,以进行最终分配。启发式算法使用相对阈值优化结果,以推荐满足当前工作量约束的足够的开发人员。在11个数据集上的实验结果表明,该方法的精确率、召回率、f-测度和准确率的调和平均值分别为92.05%、89.21%、85.09%和93.11%,是一个可靠的鲁棒解决方案。总的来说,这是一个新颖的解决方案,它利用直观的判断、相对的工作量、活跃的、不活跃的和新开发人员之间的区别来处理新的工作量,从而改进了错误分配过程所提出的方法确定了承担新负载的能力,并成功地确定了不活跃/新的开发人员,但它没有在可用的开发人员之间均匀地分配工作量。我们计划解决这一问题,作为今后这项工作的延伸。资金这项工作得到了Operação Centro-01-0145-FEDER- 000019 - C4 -Centro de Competências em Cloud Computing的支持,这项工作也由FCT/MCTES通过国家基金资助,并在适用时由欧盟基金在项目UIDB/EEA/50008/2020下共同资助。竞争利益作者声明,他们没有已知的竞争性财务利益或个人关系,可能会影响本文报告的工作。引用张,T.,T.,陈杰,江,H.,Luo,X.,&Xia,X.,2017.年:5月)。错误报告丰富与自动修复建议的应用程序。IEEE,pp. 230- 240Sajedi-Badashian,Ali,Stroulia,Eleni,2020.评估缺陷分配研究的指南. JournalofSoftware:EvolutionandProcess.32(9).https://doi.org/10.1002/smr.v32.910.1002/smr.2250网站。Tamrawi,A.,Nguyen,T. T.,Al-Kofahi,J.M.,Nguyen,T.N.,2011年。九月)。基于模糊集和缓存的缺陷分类方法。在:在第19届ACMSIGSOFT研讨会和第13届欧洲软件工程基础会议的会议记录中,pp. 365- 375郭世凯,张心怡,杨曦,陈蓉,郭,陈,李,辉,李婷婷,2020年。开发者活动激发的Bug分类:通过卷积神经网络。Neural Processing Letters 51(3),2589-2606.Shokripour, Ramin,Anvik,John ,Kasirun,Zarinah M. ,Zamani,Sima ,2015.一种基于时间的自动错误报告分配方法.系统与软件杂志102,109-122。Chen,S.J.,Hwang,C.L.,一九九二年模糊多属性决策方法。模糊多属性决策,289Passino,K.M.,2002.用于分布式优化和控制的细菌觅食仿生学。IEEE控制系统杂志22(3),52-67。Del Acebo,E.,&de-la Rosa,J. L. (2008,April)。介绍酒吧系统:一类群体智能优化算法。在AISB 2008年会议通信,互动和社会智能(第1卷,第18页)。Sajedi-Badashian,A.,Stroulia,E.,2020.调查开发人员在开源项目中错误分配的专业知识的不同证据来
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功