CN102622510A - 一种软件缺陷量化管理系统和方法 - Google Patents
一种软件缺陷量化管理系统和方法 Download PDFInfo
- Publication number
- CN102622510A CN102622510A CN2012100218958A CN201210021895A CN102622510A CN 102622510 A CN102622510 A CN 102622510A CN 2012100218958 A CN2012100218958 A CN 2012100218958A CN 201210021895 A CN201210021895 A CN 201210021895A CN 102622510 A CN102622510 A CN 102622510A
- Authority
- CN
- China
- Prior art keywords
- defect
- software
- fuzzy
- cost
- neural network
- 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.)
- Pending
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种软件缺陷量化管理系统,包括缺陷预测评估模块、过程故障诊断模块和软件缺陷修复成本评估模块,其中所述缺陷预测评估模块用于实现软件缺陷数量的评估与预测;所述过程故障诊断模块用于模拟软件过程故障传播过程,表示模糊的故障知识,提出目标驱动为主的反向推理机制和软件产品故障诊断;所述软件缺陷修复成本评估模块用于研究缺陷修复成本预测方法从而计算修复成本,实现对缺陷修复成本准确估计。本发明公开的软件缺陷量化管理系统,实现了对软件缺陷的智能评估,提高软件过程故障诊断的效率和正确性,使软件过程更可控,开发过程的成熟度更高。
Description
技术领域
本发明涉及软件工程中的软件质量管理领域,尤其涉及一种软件缺陷的定量管理及其实现方法。
背景技术
随着信息技术的发展,计算机行业已经成为现代社会的核心支柱产业之一,运行在计算机中的软件是关系到计算机系统运行性能的重要因素,软件规模的日益扩大,导致了软件质量管理越来越复杂,软件中存在的缺陷会严重降低软件的运行效率,因此保证软件质量是软件工程行业在软件生命周期中应该核心关注的问题,其中对软件缺陷的量化评估管理就是保证软件质量的重要前提。
在航天工业中,软件缺陷是航天地面软件研制部门对软件质量评价的一个重要指标,尽管目前国内已有多家航天地面软件研制承担单位通过GJB 5000A 3级认证,并且培养了一批软件过程评估员和推进人员,对航天地面软件的质量改善起到很大的作用。但是,经过调研分析,目前航天地面软件过程改进实践中依旧缺乏信息化手段辅助进行度量数据获取、分析、呈现,辅助项目监控和管理决策,给进一步质量提升带来障碍。
已有的软件缺陷评估方法的出现,最早可以追溯到1992年,目前常用的软件缺陷评估方法可以分成四类:基于度量元的缺陷评估方法、基于缺陷分布的评估方法、基于模型的缺陷评估方法和基于模糊综合评判的评估方法,这些方法通常面临以下不足:
(1)传统的简单度量元技术基于规模度量来估算和预测软件缺陷,随着软件开发技术从传统的结构化设计技术过渡到面向对象技术(如OOA、OOD、OOP),缺陷评估应该考虑新技术所带来的度量元(如产品度量元、执行度量元、过程度量元等)对软件缺陷评估的影响。
(2)目前的缺陷评估方法受限于所使用的数据以及项目的具体情况。除COQUALMO模型和Bayesian方法考虑到了不同项目及环境因素对缺陷的影响以外,其他方法和技术都受限于组织中的数据,难以广泛推广和使用。
(3)基于模型的缺陷评估技术只考虑到了产品、项目、人员及平台等几个方面对缺陷评估的影响,这些模型框架是否完备、所考虑的因素是否足够还有待进一步研究。
(4)模糊综合评估方法虽然能够有效克服专家评估中人为不利因素的影响,但其不适合在专家评价数据较少时使用,并且随着评价数据增多计算难度明显增大。
传统软件缺陷评估中,由于专家评判过程具有主观性,以及专家经验等人为因素的影响,会导致评估决策上的失误。模糊综合评估方法虽然能够有效克服专家评估中人为不利因素的影响,但其不适合在专家评价数据较少时使用,并且随着评价数据增多计算难度明显增大。
在软件工程中,当软件过程出现问题时(比如过程质量属性出现异常),如何进行故障诊断,并追溯到问题根源尚没有得到很好的解决。软件过程故障的产生和传播,以及故障诊断是一个典型的离散事件动态系统,由于过程分量(人、机器、原料、环境、方法)的不确定性和交互过程的复杂性,导致软件过程故障信息的不确定性和模糊性。
现在有关如何从软件过程质量指标异常追溯到故障源的研究比较少。诸如 CMMI、Bootstrap等软件过程改进模型都没有提供相应的解决方案。其他过程控制领域提供了一些技术方法,比如鱼骨图、离散分析图、因果图等,但是这些方法没有考虑到过程故障信息的不确定性因素,而且形式化能力较差。
故障诊断的一个关键问题是故障知识的表示方法,为此人们提出了许多知识表示法,如逻辑表示法、产生式规则、模糊产生式规则、语义网络、框架和关系表示,以及面向对象表示等。这些方法虽然能表达故障特征的纵向和横向联系,但由于对故障仅仅是一种静态描述,不能表现故障的动态行为,且无法进行并行推理,使诊断效率受到限制。
缺陷是软件“与生俱来”的特征,无论小程序还是大型软件系统,无一例外都存在着缺陷。软件从最初的需求分析到最后的退出使用,需要大量的智力劳动的投入来修复这些缺陷。然而软件技术发展至今,任何验证、检验手段都不可能发现和修复所有的缺陷。保证软件质量的需求催生了许多缺陷预测技术。利用这些缺陷预测技术,基于历史数据,对所预测的缺陷进行成本估计,在分析软件过程质量、平衡软件成本和控制开发进度方面有重要的意义。某个缺陷的修复成本虽然可以在各个开发小组的缺陷管理中独立记录,而缺陷修复成本的意义在于预测下次项目的缺陷修复,如何处理这些成本记录,还有很多探讨的地方。
缺陷修复成本预测技术包括缺陷预测技术和成本计算方法,早期的缺陷预测关注缺陷数目和软件规模的关系。随着软件规模的增加,软件的复杂度也在逐步攀升,人们开始意识到软件缺陷不仅与软件规模有关,还与软件复杂度有关。随之而来出现了许多关于软件复杂度的测量。20世纪90年代初,人们发现缺陷并非在软件中平均分布或者完全随机分布,出现了针对缺陷分布的预测技术。在软件生命周期不同阶段的缺陷引入和移除对缺陷遗留也有重要的影响。基于软件生命周期不同阶段的缺陷分布,一些相应的缺陷预测模型也取得了很好的成果和应用。
常用的软件缺陷修复成本分析方法,用每个缺陷修复的平均成本乘以预测的缺陷数来简化。这种处理方式的弊端在于,统计的平均数据往往掩盖了很多细节。不同类型缺陷的修复成本是不同的,比如,赋值缺陷只需要改动少量代码即可修复,而算法缺陷需要花费更多的时间来修复。不同类型的缺陷占总缺陷的比重不同会导致总的修复成本的不同,而不考虑缺陷类型的计算方法忽略了这些问题。
引入缺陷类型的分析是一种改进的方法,它采用各种类型缺陷的平均修复成本,乘以各种类型缺陷数得出较为准确的缺陷修复总成本。然而,缺陷引入阶段的不同也会导致缺陷修复成本的不同。需求阶段引入的缺陷,一般不能在需求阶段完全修复,如果需求阶段的遗留缺陷在测试阶段才被发现,则需要很大的成本去修复。由于缺陷传递效应,早期引入的缺陷会比后期引入的缺陷需要更大的修复成本。只考虑缺陷类型的分析方法忽略了不同引入阶段导致的成本差异。
综上所述,目前本领域上没有一种可以针对软件缺陷能进行定量分析管理的方法。
发明内容
针对现有技术的不足,本发明提供了一种软件缺陷量化管理的系统及其实现方法,实现了对整个软件生命周期中的缺陷进行准确的预测评估,并对故障进行诊断和准确计算评估软件缺陷的修复成本。
为实现上述发明目的,本发明是通过下述技术方案实现的:
一种软件缺陷量化管理系统,包括缺陷预测评估模块、过程故障诊断模块和软件缺陷修复成本评估模块,其中所述缺陷预测评估模块用于实现软件缺陷数量 的评估与预测;所述过程故障诊断模块用于模拟软件过程故障传播过程和软件产品故障诊断;所述软件缺陷修复成本评估模块计算修复成本,实现对缺陷修复成本准确估计。
其中,所述缺陷预测评估模块通过建立模糊神经网络缺陷评估模型并对其进行训练,并将评估项目的真实数据输入评估模型从而得出缺陷评估结果,包括模糊综合评估模块,用于消除专家评估的不确定因素,得到信任度较高的缺陷评估结果;所述模糊综合评估模块与神经网络模块串联,模糊综合评价模块的输出作为神经网络模型的输入,用于专家评价数据较少、评价数据增多的智能缺陷评估。所述过程故障诊断模块通过模糊Petri网模拟软件过程故障传播,使用模糊产生式规则表示模糊的故障知识,从而优先诊断和处理发生概率最大的故障。所述软件缺陷修复成本评估模块通过建立缺陷类型-引入阶段的成本矩阵计算和准确评估修复成本。
相应的,本发明公开了一种软件缺陷量化管理方法,包括下述步骤:(1)对软件缺陷进行预测评估;(2)对软件过程的故障进行诊断;(3)对软件缺陷修复成本进行评估,并准确评估缺陷修复成本,所述步骤(1)包括对软件缺陷进行模糊综合评价的步骤和对软件缺陷进行模糊神经网络评估的步骤,所述对软件缺陷进行模糊综合评价的步骤用于为模糊神经网络评估的步骤提供神经网络数据训练处理;所述步骤(2)使用Petri网模拟软件的故障传播过程,使用模糊产生式规则表示模糊的故障知识,以目标驱动反向推理;所述步骤(3)通过建立缺陷类型-引入阶段的成本矩阵计算缺陷修复成本。
其中,步骤(1)具体的包括两个过程,第一个过程为对软件缺陷进行模糊综合评价:1)用专家组打分方法和问卷调查方法对软件缺陷因素进行打分,获得领域专家评价数据集;2)用模糊量化方法对专家评价数据进行预处理,确定其隶属度函数,并进行归一化,作为缺陷评估数据;3)建立模糊综合评判模型,对缺陷评估数据进行处理,根据缺陷因素指标的权重采用多层次模糊评判方法进行评判;4)采用最大隶属度原则判定信任度最大的集合为最终评估结果。其在工程上的实现方式为:
A:建立软件缺陷评估的数学模型
U={u1,u2,...,un} V={v1,v2,...,vm} (1-1)
设U为n种评价因素(或者指标)所组成的集合;V为m种评估结果。它们的元素个数和名称应根据实际问题确定,由于各个因素所处的地位和作用不同,权重也不同,所以评判结果就不同。专家对m种评判结果不是绝对肯定或者否定的,因此模糊综合评估结果应是V上的一个模糊子集:
其中,bj(j=1,2,...,m)反映了低j种评判vj在综合评判中所占的地位(即vj对模糊集B的隶属,B(vj)=bj)。综合评判B依赖于各个因素的权重,为U上的模糊子集:
且 其中ai表示第i种因素的权重。给定权重A,相应的可以得到一个模糊综合评判B。如果建立一个从道德模糊变换T,对每一个隐私ui单独做一个评判f(ui),就可以看作是U到V的模糊映射f,即
由f可诱导出一个U到V得模糊变化Tf,把Tf看作是有权重A得到的模糊综合评判B的数学模型,此模型由三个要素(U,V,R)组成。
B:构建软件缺陷模糊综合评估方法
基于A缺陷模糊综合评估数学模型,构建软件缺陷模糊综合评估的步骤为:
1.确立软件缺陷影响因素集U={u1,u2,...,u21},按照缺陷影响因素类别,将U划分为u1(项目属性指标)、U2(项目环境指标)、U3(项目管理指标)、U4(团队与人员指标)、U5(开发工具与方法)、U6(评审策略)、U7(测试策略),使得
称U={U1,U2,U3,U4,U5,U6,U7}为第一级缺陷因素指标集。则
称为第二级因素集,即有:
U1={u11(项目规模),u12(软件复杂度),u13(进度压力)}
U2={u21(需求稳定性),u22(预算水平),u23(客户支持度),u24(过程成熟度),u25(工作环境)}
U3={u31(需求管理),u32(配置管理),u33(变更控制),u34(风险管理),u35(质量管理)}
U4={u41(团队交流协作),u42(团队稳定性),u43(个人能力),u44(项目经验),u45(人员培训)}
2.根据软件缺陷评估结果通常用缺陷率高低来表示,评判集V可表示为:
V={v1(高),v2(较高),v3(中等),v4(较低),v5(低)}
得到软件缺陷的单因素模糊评判矩阵为
设 的权重为
求得软件缺陷单因素模糊综合评判为
AioRi=Bi(i=1,2,...,7) (1-10)
3.对第一级软件缺陷因素集作综合评判。
设U={U1,U2,U3,U4,U5,U6,U7}的权重为A={a1,a2,a3,a4,a5,a6,a7},总评价矩阵为R,按单因素模糊综合评价计算,得到软件缺陷模糊综合评判为
,为了更好的说明上述过程,软件缺陷模糊综合评估模型结构可表示为附图1-1所示。
模糊综合评估方法虽然能够有效克服专家评估中人为不利因素的影响,但其不适合在专家评价数据较少时使用,并且随着评价数据增多计算难度明显增大。 为了有效解决上述问题,本发明使用了一种智能的缺陷评估方法:模糊神经网络缺陷评估。本发明所公开的模糊神经网络缺陷评估的方法是基于Boehm提出软件质量估算模型COQUALMO(constructive quality model)的基本原理(参考附图1-2),利用神经网络的专家经验学习能力和智能预测能力,建立缺陷评估网络来实现对软件缺陷的智能评估,其具体的实现步骤为:
1)根据缺陷因素度量指标体系确定评估网络的输入层和输出层节点数,选择恰当的神经网络模型建立起初始网络;2)使用模糊综合评价处理方法对收集的网络训练样本数据进行预处理,使用模糊综合评估方法计算出样本数据的期望结果值;3)使用样本数据训练建立的评估网络,采用实验的方法调整评估网络的结构,找出最有的网络结构参数;4)使用找出的最优网络结构参数重新建立模糊神经网络缺陷评估模型,重新训练;5)使用测试样本数据测试重新训练好的评估网络,测试网络的拟合能力和泛化能力。
如本领域技术人员所知,神经网络或称人工神经网络(Artificial Neural Network,ANN)通过模拟人类右脑的形象思维来反映人脑功能的若干基本特征,如并行信息处理、学习、联想、模式分类、记忆等。ANN是由大量的、简单的神经元广泛地互相连接而形成的复杂系统,由大量神经元构成的网络系统的行为特征用来模拟、运算和推理高度复杂的非线性系统。ANN通过模拟人的神经元功能,从输入层获得影响预测量的变量值,通过隐含层,用权重对数据进行调整、计算,最后在输出层进行处理得到预测结果。目前神经网络主要有以下四种类型:1)单层或多层前向神经网络,各神经元接受前一层的输入,并输出给下一层,没有反馈。节点分为两类,即输入单元和计算单元,每一计算单元可有任意多个输入,但只有一个输出。2)层内互联神经网络,在同一层的神经元之间有相互连接。3)反馈神经,所有节点都是计算单元,同时也可接受输入,并向外界输出。4)混合式神经网络,兼有上述形式。其工作方式为ANN通过向学习获取知识并改进自身性能。在一般情况下,性能的改善是按某种预定的度量通过调节自身参数随时问逐步达到的。神经网络的工作方式是由两个阶段组成:1)学习期:通过训练学习进行修改,修改神经元之间的联接权值,以使目标(或称准则)函数达到最小;2)工作期:联接权值不变,由网络的输入得到相应的目标输出。
在本发明中,所用的神经网络是BP神经网络(参考附图1-3所示)或者其变种,所述的BP神经网络是一种反馈式前向网络,网络中的神经元分层排列。除了有输入层、输出层之外,还至少有一层隐蔽层;每一层内神经元的输出均传送到下一层,这种传送由联接权来达到增强、减弱或抑制这些输出的作用,除了输入层的神经元之外,隐蔽层和输出层神经元的净输入是前一层神经元输出的加权和。每个神经元均由它的输入、激励函数和阂值来决定它的激励程度。
虽然ANN适合定量数据处理,但是其对定性指标的分析缺乏相应的处理能力,而软件缺陷因素的指标值又有很大的不易确定性。因此,本发明特别采用了模糊神经网络克服了ANN不能处理定性信息的缺点,通过结合模糊数学在处理复杂模糊性指标方面的优势和人工神经网络在智能预测方面的功能,提高整个系统的学习和表达能力。
模糊系统和人工神经网络具体融合方式有两种:一是将模糊处理方法结合于已有的神经网络,二是根据模糊理论构造新的神经网络结构。对于上述两种融合方式,均可以通过一定的处理用于本发明的方法,优选的,考虑本发明缺陷因素分析的缺陷评估模型的实际情况,采用将模糊综合评价模块和神经网络模块进行串联,即模糊综合评价模块的输出作为神经网络模块的输入。融合后可视为两段 推理或者模糊综合评价处理系统作人工神经网络输入指标的预处理部分,融合后的模糊神经网络缺陷评估的结构如图1-4所示。
建立模糊神经网络评价模型的过程主要包括如下几个步骤:
1.预测网络结构的确定
虽然随着神经网络隐藏层的增加,神经网络具有更好的处理能力,但是隐藏层的增加会使神经网络结构越来越复杂,且需要更长的学习时间。一个三层BP网络只需一个隐藏层就能完成任意的u维到v维的映射。只要隐藏层的神经元个数合理,就可以无限逼近目标值,达到所需进度要求。此时增加隐藏层层数,不但不能提高网络的预测进度,反而会增加网络的复杂性。通过大量测试,本发明的方法采用具有一个单隐层的三层BP神经网络来建立预测模型,且在原神经网络的输入层与隐藏层之间加入一个模糊化层,从而构成一个四层结构的预测网络。
2.输入层、输出层节点数的确定
根据软件缺陷评估的实际情况,将软件缺陷影响因素作为网络的输入,软件缺陷评价指标作为网络的输出,可确定预测模型网络输入层的项目自身特点、项目环境、项目管理、团队与人员因素、开发工具与方法、测试策略和评审策略共计21个指标;软件缺陷评价通常采用缺陷率高低来表示,因此本发明采用软件缺陷率作为网络输出层的指标。模糊化层节点是对输入层指标进行隶属度量化,所以模糊化层的节点数和输入层节点数一致,同为21个。
需要注意的是,上述的指标数目是人工选定的,对于不同的软件工程和软件类型,本领域技术人员可以合理修改指标的数目,这依旧属于本发明的保护范围。
3.隐藏层的神经元个数的确定
隐藏层的神经元个数需要合理,神经元过少将会限制网络的学习能力,而神经元过多会影响网络的泛化能力。隐藏层的神经元数与输入层节点数和输出层节点数都有很直接的关系,且需要根据经验和具体实验来确定。以下是常用的几种确定隐藏层神经元数目的经验公式:
式中,h表示隐藏层神经元个数,i是输入层节点数,o是输出层节点数,常数1≤n≤10。
式中,h表示隐藏层神经元个数,i是输入层节点数,o是输出层节点数。
h≤log2i (1-14)
式中,h表示隐藏层神经元个数,i是输入层节点数。
在本发明中,所建立的建立的网络模型采用式(1-10)确立隐藏层神经元初始数目为14个,后期可根据实验数据来确定最佳神经元个数。
4.神经元传递函数的确定
网络模型隐藏层神经元传递函数采用S型函数(logsig),所述S型函数是连 续可微的,神经元权值可用误差反向传播算法(BP算法)进行调节。
在本发明中,S型函数的表达式为:
网络模型输出层神经元传递函数采用线性函数(purelin),所以神经元的输出取值取其基函数的输出值,即
o=f(u)=u (1-16)
式中,u为神经元基函数输出值;e是自然对数的基底,为常值2.71828。
在上述基础上,本发明还公开了缺陷评估的训练方法,所述神经网络模型首先需要进行训练,经过训练使其具有联想记忆和智能预测能力,在本发明中采用BP算法完成训练,包括下述方法:
1、基于BP算法的缺陷评估模块训练方法
设神经网络的输入层共有1个指标,其中任意指标用i表示;隐藏层有H个神经元,任意神经元用h表示;输出层有0个神经元,任意神经元用o表示;输入层到隐藏层的连接权值用wih表示;隐藏层到输出层的连接权值用who表示;神经元的输入用u表示,传递函数的输出用v表示;设训练样本集用X=[X1,X2,...,Xk]表示,即有:任意训练样本集Xk=[xk1,xk2,...,xki],实际输出值表示为Yk=[yk1,yk2,...,xko],期望输出值表示为Dk=[dk1,dk2,...,dko];设n为迭代次数;当输入训练样本Xk,根据工作信号的前向传播过程有:
输出层第o个神经元的输出误差量为
根据Delta学习规则,BP算法中权值修正量与误差对权值的偏微分成正比,
设η为学习速率,则有wih、who的权值修正量分别为:
设输出层和隐藏层的局部梯度
根据式1-24有
则
因为
又有
所以
当输出层神经元采用采用线性(purelin)传递函数,即
vo=f(uo)=uo (1-32)
从而有
因为
又有
所以
由于隐藏层神经元采用采用S型(logsig)传递函数,即
从而有
具体的缺陷评估网络模型的训练流程和过程包括下述几个步骤:
步骤一:设置变量和产量。根据上述的缺陷评估模型可知I=21、H=14、O=0,则对任意的训练样本有:训练输入值Xk=[xk1,xk2,...,xk21];实际输出值yko;期望输出值dko;N为迭代次数;η为学习速率。
步骤二:模块的初始化。初始化输入层、隐藏层和输出层之间神经元的连接权值wih、who;初始化学习速率η和迭代次数N。
步骤三:输入样本值Xk,n=0
步骤五:根据上一步计算结果和公式1-计算出误差能量E(n),如果满足需求则跳转至步骤八,不满足要求则按下列公式计算who、wih的权值修正量
步骤六:按下列公式进行权值更新;然后判断是否达到最大迭代次数,如果n<N则返回步骤四,如果n=N则进行下一步骤。
步骤七:判断是否学完所有样本,若没有学完则返回步骤三,否则训练结束。
在上述基础上,本发明还公开了所述训练方法的改进,由于BP算法的学习速率η的值在[0,1]之间,学习速率η越大权值修正量越大,网络的学习速度越快。过大的学习速率将使网络权值学习过程产生振荡,降低网络的泛化能力;过小的学习速率使网络的收敛速度过慢,网络权值难以趋于稳定,并且经典的BP 算法采用网络预测误差的负梯度方向来调整网络权值,没有考虑前面迭代步骤积累的经验。
为了解决上述问题,本发明在训练方法的步骤五计算权值修正量时加入动量项,带附加动量项的权值修正量,即令
进一步的,为了有效评估模糊神经网络缺陷评估模型的绩效,本发明还提供了下述两种评估方法:
(1)MAE方法
平均绝对误差(Mean Absolute Error)考虑期望值与模型预测值的绝对距离,其公式如下:
其中P表示测试样本数目,表示测试样本的实际值,表示测试样本的预测输出值。
(2)MAPE方法
平均绝对比例误差(Mean Absolute Percentage Error)计算目标值与预测输出值的预测误差占实际目标值的比例。即在MAE中每一绝对误差均除以实际目标值,以便对各个值给予相应的权重。其公式如下:
在本发明中,对软件过程的故障进行诊断的步骤,具体的包括:1)定义软件过程故障模糊Petri网(FPN)为一个十元组;,所述模糊Petri网包括目标位置和起始位置,所述目标位置表示待诊断的故障现象,起始位置表示故障原因;2)定义模糊产生式规则表示因果关系;3)对模糊Petri网FPN中每个位置建立可达性集合、立即可达性集合和相邻位置集合;4)选定目标位置,遍历规则库中的规则,直到得到诊断结论。
如本领域技术人员所知,标准的Petri网是由位置、转移,以及连接两者的有向弧组成的一种有向图,其中“位置”的作用是决定“转移”能否发生,“转移”的作用是改变系统的状态,标准Petri网定义为一个四元组:
PN=(P,T;F,MO) (2-1)
P={P1,P2,…,Pn}是PN的有限位置集合;
T={t1,t2,…,tm}是PN的有限转移集合;
F=(P×T)∪(T×P)为流关系(即有向弧集);
MO:P→{0,1,2,…}为初始标识,MO={u1,u2,…,un},ui表示位置Pi处的标记数,标记表示系统中各位置的状态;
P与T的关系可以表示为:P∩T=Φ且P∪T≠Φ。
一般情况下,在Petri网的图形表示中,位置用圆圈(○)表示,转移用直线段(|)或矩形(□)表示,位置与转移之间的关系用有向弧表示,参考附图2-1,为一个标准的Petri网。
在本发明中,故障诊断的方法主要包括故障传播和故障诊断两个方面。故障传播是一种状态触发衍生的过程,一个异常状态的出现导致了一系列后继状态的发生;由于故障存在着多路径传播的特点,一个原发性异常状态可能引发多个后继状态,表现为故障的并发特性。此外,由于系统的复杂性,一个故障可能是由多个原因造成的,即存在一个故障表征对应多个原因的现象,多个不同的原发性故障源沿着各自不同的传播路径引发同一个故障表征。故障诊断不仅关注系统状态,也同样关注状态的变化过程,不同的过程代表着不同的因果关系。
图2-2a、2-2b分表代表使用有向图表示故障传播模型,位置中的点表示状态异常。图2-2a中t1、t2存在冲突,p2存在资源竞争。图2-2b中p4存在冲突,t1、t2只有一个变迁能启动,这与故障的传播特性不相符。故障传播过程是并发的,变迁t1、t2代表着两个不同的传播路径,变迁t1的启动不能阻止变迁t2的发生,变迁t1、t2是并发的。在故障传播模型中,只要满足启动条件变迁就一定能启动,因此标准的Petri网的动态特性难以描述上述所示的故障传播现象,针对已有的标准的Petri网难于用于本发明所述的软件缺陷故障诊断的情况,在本发明中,公开了一种模糊Petri网,所述的模糊Petri网,简称FPN,考虑了位置的可信度、变迁的可信度、变迁激活的阈值,以及变迁激活概率等四种模糊知识。
本发明的故障诊断方法,首先定义故障模糊Petri网(FPN)为一个十元组,以如下方式表示:
FPN=(P,T,D,I,O,TCF,PCF,FCF,TP,PD) (2-2)
其中P、T、D、I、O和标准Petri网的定义相同:
●P={p1,p2,...,pn}是有限位置的集合。
●T={t1,t2,...,tm}是有限变迁的集合。
●D={d1,d2,...,dn}是有限命题的集合。
●I是输入函数,变迁到位置的有向弧集合,I(tj)=pi。
●O是输出函数,位置到变迁的有向弧集合,O(ti)=pj。
●TCF:T→[0,1]是变迁的可信度。
●PCF:P→[0,1]是位置的可信度。
●FCF:T→[0,1]是变迁激活的域值,对于pi∈I(tj),当且仅当PCF(pi)≥FCF(tj)时,变迁tj才激活。
●TP:T→[0,1]是变迁激活概率,是按照经验或者理论证明得到的到达同一位置的不同变迁发生的可能性。
●PD:P→D,位置到命题的映射,PD(pi)=di。
与一般模糊Petri网相比,本发明所用的FPN充分考虑了变迁激活概率TP。当进行并发多故障诊断推理时,优先激活相邻变迁中TP(ti)值最大的变迁,从而优先诊断和处理发生概率最大的故障。
对于同一软件过程和相同软件过程质量指标而言,在不同开发环境和阶段、不同的输入条件、不同的历史故障序列等情况下,变迁发生的概率是不同的,定义这些影响变迁发生概率的信息统称为过程状态信息。例如对于单元测试这个软件过程而言,假设某一时刻过程质量指标“缺陷率”出现“缺陷率>UCL”故障表征(其中UCL是缺陷率X控制图的上限),如图2-3所示。
在图2-3中,p3所对应的命题“缺陷率>UCL”成立,能导致p3的变迁有t1和t2。若p1、p2所对应的命题状态未知(也就是PCF(p1)和PCF(p2)尚不清楚),p3究竟是由哪个变迁启动引发的就很难确定,存在冲突问题。
故障诊断的本质在于寻找一条最有可能发生的故障传播路径,从图2-3中看出变迁t2的可信度大,但是开发工具异常发生的可能性比较小,尤其在项目开发的初期,出现需求理解不清楚的情况比较多,而且既往项目经验也证明这一点,这时候应该首先选择变迁激活概率更大的变迁t1。
在项目开发后期,需求比较固定和明确的时候,“需求理解不清楚”命题发生的可能性就比较小了,这时出现这种性能异常很可能是由于诸如开发工具等问题引起的,这时t2的变迁激活概率应该比t1的变迁激活概率大,应该首先执行变迁t2。
在本发明中,根据软件项目的过程状态信息不同,相应的变迁激活概率也会不同。而且在不同模糊Petri网实例中,相同命题的前序变迁也可能不同,变迁激活概率只是相对值,能够切实体现当前过程状态信息,帮助实现冲突消解即可,这是本领域技术人员可以想到的。
在上述基础上,定义了模糊产生式规则。模糊产生式规则表示因果关系,包括以下三种基本形式:
R1:IF di THEN dk (TCF=ui,TP=vi)即di→dk
R2:IF di AND dj THEN dk (TCF=ui,TP=vi)即di∩dj→dk
R3:IF di OR dj THEN dk (TCF=ui,TP=vi)即di∪dj→dk
其中,di、dj、dk是包含一些模糊变量的命题。di和dj表示一组前提或状态。dk表示若干个结论或动作。ui∈[0,1]是规则的可信度。vi是规则的优先级。
利用模糊Petri网可以表示这种模糊产生式规则知识,将规则的前提和结论 当作模糊Petri网中的位置,即PD(pi)=di、PD(pk)=dk。而把前提和结论之间的关系看作一种变迁,即变迁ti表示pi→pk。PCF(pi)、PCF(pk)即为前提和结论事实的可信度。变迁的可信度为TCF(ti)=ui。vi是在特定过程状态环境下变迁的优先级。
相对于软件过程,FPN和模糊产生式规则之间的对应关系如表2-1所示。
表2-1软件过程、FPN和模糊产生式规则的对应关系
在本发明的模糊Petri网中,有两种特殊类型的位置:目标位置和起始位置。前者表示待诊断的故障现象,后者表示故障原因,根据所出现的目标位置,寻找到达目标位置的起始位置,从而实现故障的诊断和定位。
对模糊Petri网FPN中每个位置建立可达性集合RS、立即可达性集合IRS和相邻位置集合AP。
具体的实现为:对于某位置pi,
(1)可达性集合RS(pi):从pi经过一系列变迁可以到达的位置集合。
(2)立即可达性集合IRS(pi):从pi经过一次变迁就可以到达的位置集合。
(3)相邻位置集合AP(pi):与pi经过同一变迁能立即到达的位置集合。
为加快推理速度和效率,本发明的方法采用目标驱动为主的反向推理策略:选定一个目标位置,遍历规则库中的规则;如果存在多条可以到达目标位置的路径,则确定规则优先级。
首先选择优先级最大的规则执行;如果优先级相同,则首先选择变迁可信度最大的规则执行,然后依次执行其他规则。若某条规则的产生式前提条件为真,则该规则被激活,推导出新的事实;否则,将该规则的前提作为子目标,递归执行上述过程,如此反复直到得到诊断结论。
或者没有搜索到能导出目标位置的规则,即推理失败,系统转入自学习。
在推理过程中,规则优先级是动态的,在不同过程状态信息环境下,规则优先级(变迁激活概率)是不同的,应该在进行反向推理时根据过程状态信息情况及时调整变迁激活概率。
在本发明中,对软件缺陷修复成本进行评估,并准确评估缺陷修复成本的步骤,具体的包括:1)以软件生命周期阶段引入的缺陷类型的缺陷数建立各类型 缺陷的阶段分布表,并给予不同类型、不同引入阶段的缺陷修复成本以独立的权值;2)以软件生命周期阶段引入的缺陷类型的缺陷引发的修复成本建立各类型缺陷在各阶段的排除成本表;3)计算每种类型缺陷的修复成本;4)计算软件生命周期每个阶段的所有类型缺陷的修复成本;5)计算软件生命周期内所有缺陷修复总成本。具体的实现方式如下过程所示:
在缺陷预测技术基础上,本发明的方法同时考虑了缺陷类型和缺陷引入阶段,通过建立缺陷类型-引入阶段的成本矩阵来计算修复成本,达到对缺陷修复成本更准确估计的目的。
首先建立缺陷修复成本预测模型
以Di,j(1≤i≤10,1≤j≤5)为软件生命周期第j个阶段引入的第i种类型的缺陷数。如果第j个阶段未引入第i种类型的缺陷,则Di,j为0,如错误!未找到引用源。所示。
表3-1各类型缺陷的阶段分布
由上面分析,基于缺陷类型和引入阶段对修复成本的影响,应根据历史数据的分析,给予不同类型、不同引入阶段的缺陷修复成本以独立的权值。
以Ci,j(1≤i≤10,1≤j≤5)为软件生命周期第j个阶段引入的第i种类型的缺陷引发的修复成本。如果第j个阶段未引入第i种类型的缺陷,则Ci,j为0,
如表3-2所示。
表3-2各类型缺陷在各阶段的排除成本
以Mi为所有第i种类型缺陷的修复成本。由定义1和定义2可以得出每种类型的缺陷修复成本为
以Nj为软件生命周期第i个阶段的所有类型缺陷的修复成本,由定义1和定义2可以得出各个引入阶段的缺陷修复成本为
以T为此软件生命周期内所有缺陷修复总成本,由以上的定义可以得出缺陷修复总成本为
对各种类型和各个阶段缺陷修复成本及总成本的分析,有助于更好的了解软件开发的过程、提高过程质量。
本发明所公开的软件缺陷量化管理系统及其方法根据提出的模糊神经网络缺陷评估模型建立缺陷模糊评估网络,利用模糊综合评估的结果数据对评估网络进行训练,使网络完成对专家知识经验的学习,从而实现对软件缺陷的智能评估;考虑到故障发生概率,解决了变迁的冲突消解问题,提高软件过程故障诊断的效率和正确性;能在新项目开始前对软件开发各个阶段的缺陷修复成本、各种类型的缺陷修复成本以及缺陷修复总成本有个大致的估计。这些估计值能提高软件过程的可视性,这意味着软件过程更可控,开发过程的成熟度更高。
附图说明
图1a、1b为本发明的系统的模块结构图和方法流程图;
图1-1为本发明的软件缺陷模糊综合评估模型结构图;
图1-2为COQUALMO模型的示意图;
图1-3为BP神经网络结构图;
图1-4为本发明的结合模糊综合评价和神经网络的缺陷评估模型结构图;
图2-1为标准的Petri网运行结构示意图;
图2-2a、2-2b为模拟故障传播模型的Petri网的示意图;
图2-3为本发明的FPN模糊Petri网示意图,缺陷率异常。
具体实施方式
下面结合附图对本发明的系统和方法进行进一步说明。所给出的附图和示例仅用于说明本发明的系统和方法是如何实现的,并非仅限于采用下述具体实施。本领域技术人员在本发明基础上所进行的变更、改进依旧属于本发明的保护范围。
参考附图1a,为本发明的软件缺陷量化管理系统,包括缺陷预测评估模块、过程故障诊断模块和软件缺陷修复成本评估模块,其中缺陷预测评估模块包括模糊综合评估模块,模糊综合评估模块与模糊神经网络评估模块串联,模糊综合评价模块的输出作为模糊神经网络评估模块的输入。过程故障诊断模块通过模糊Petri网模拟软件过程故障传播,使用模糊产生式规则表示模糊的故障知识,从而优先诊断和处理发生概率最大的故障。软件缺陷修复成本评估模块通过建立缺陷类型-引入阶段的成本矩阵计算和准确评估修复成本。
参考图1b,为本发明的软件缺陷量化管理方法,包括下述步骤:(1)对软件缺陷进行预测评估;(2)对软件过程的故障进行诊断;(3)对软件缺陷修复成本进行评估,并准确评估缺陷修复成本。其中步骤(1)对软件缺陷进行模糊综合评价的步骤和对软件缺陷进行模糊神经网络评估,对软件缺陷进行模糊综合评价用于为模糊神经网络评估的步骤提供神经网络数据训练处理;步骤(2)使用Petri网模拟软件的故障传播过程,使用模糊产生式规则表示模糊的故障知识,以目标驱动反向推理;步骤(3)通过建立缺陷类型-引入阶段的成本矩阵计算缺陷修复成本。
本发明以单元测试过程为例,说明如何使用FPN模糊Petri网进行软件过程故障诊断,确定导致异常的具体原因。以缺陷率这个质量指标为例,假设缺陷率≥UCL(注:UCL是缺陷率的X控制图的控制上限)。“缺陷率≥UCL”故障特征的模糊Petri网,蕴含该故障的模糊产生式规则,并且变迁激活概率已经根据过程状态信息生成了。这是一个非常简单的FPN网。
其中,位置集合为{p1,p2,p3,p4,p5,p6,p7,p8,p9},起始位置集合为{p1,p2,p3,p4,p5,p7,p8},目标位置为p9。诊断推理的过程就是由目标位置反向推理出可导致目标位置故障现象的故障原因,使用起始位置表示故障原因。推理步骤如下:
(1)建立位置集合的可达性集合RS、立即可达性集合IRS和相邻位置集合AP,如表2-2所示。
(2)根据故障特征“缺陷率≥UCL”(位置p9),查询(1)中建立的3个集合,对应p9的相邻位置集合为空,说明没有并发故障发生。
引发p9的路径有3个:p6→p9、p7→p9和p8→p9,再查询变迁激活概率TP(t6)、TP(t7)和TP(t8),发现TP(t6)最大,首先执行t6。
在进行深度优先搜索时,标记已经查询的路径。然后再以p6为目标位置,重复如上反向推理过程,引发p6的路径有p1→p6、p2→p6,p3→p6,p4→p6和p5→p6,由于变迁激活概率TP(t5)最大,根据可信度最大选择原则,首先选择变迁t5,找到输入位置p5。
(3)由于p5是起始位置,人机接口询问“是否存在方法问题?”如用户回答“是”,则从系统预先设置的模糊程度度量表自动计算该命题的可信度,假设PCF(p5)=0.98。
因为该命题的可信度大于域值0.8(假设所有变迁启动的域值都是0.8),则p6对应的命题是一个被激活的事件。计算p6的可信度:PCF(p6)=PCF(p5)*0.9=0.98*0.92=0.90。PCF(p6)>0.8。p9对应命题也被激活,计算p9的可信度:PCF(p9)=PCF(p6)*0.9=0.9*0.9=0.81。
这样就找到导致p9的故障源,那就是p5对应的命题“方法问题”,由该命题导致的“缺陷率≥UCL”故障的可信度是0.81。
(4)若人机接口询问“是否存在方法问题?”时,用户回答“否”,由模糊程度量化表计算该命题可信度PCF(p5)=0.1,0.1小于0.8,则p5对应命题不会被激活。
系统按照变迁激活概率大小,继续如上推理过程,直到找到故障原因,并计算故障位置的可信度。
表2-2可达性集合、立即可达性集合和相邻位置集合
为了说明软件缺陷修复成本评估的方法,申请人给出一个具体的例子:某软件开发小组在软件缺陷的管理方面做了大量工作,在历次软件项目开发过程中对软件缺陷的类型和引入阶段进行了详细记录,根据历史数据分析了不同引入阶段的各类缺陷的单个修复成本。
在新项目开始之前,利用通用的软件缺陷预测技术,在历史数据中对缺陷分布规律进行研究之后,得出此项目的各类型缺陷在不同阶段的分布。结合相应类型、相应阶段的单个缺陷修复成本,利用本部分提出的软件缺陷修复成本预测方法,得到此项目的缺陷修复总成本,如表3-3所示(精确到0.1人日)。
表3-3同时考虑缺陷类型和引入阶段的修复成本分析表
作为对比,不考虑缺陷类型,将各个阶段的缺陷无差别的对待,通过历史数据得出的每个阶段的缺陷修复成本,结合本项目各个阶段的缺陷数得出总的修复成本如表3-4所示(精确到0.1人日)。
表3-4不考虑缺陷类型的修复成本分析表
同样作为对比,不考虑缺陷引入阶段,只考虑缺陷类型,通过历史统计数据得出每种缺陷的平均修复成本,结合本项目各类型缺陷数得出缺陷修复总成本如表3-5所示(精确到0.1人日)。
表3-5不考虑缺陷引入阶段的缺陷修复成本分析表
比较表3-3、表3-4和表3-5的数据,得出如下分析:
1)基于表3-3和表3-4的分析方法得出的缺陷修复总成本差别很大。同样是需求阶段的51个缺陷,如果将各种缺陷无差别的对待,如表3-4所示得出此阶段的缺陷修复成本为127.5人日;如果考虑缺陷类型,如表3-3所示得出缺陷修复成本为82.6人日。比较2种不同的结果发现表3-3得出较低成本的原因是本项目中语法(G-Grammar)类缺陷所占比重很大,而这类缺陷的修复成本较低。表3-4的分析忽略了缺陷类型的差别,相比较之下表3-3的分析更具有说服力。
2)基于表3-3和表3-5的分析方法得出的缺陷修复总成本差别较小,但是各类型缺陷所占的比重有较为明显差别。以文档(D-Documentation)类缺陷为例,同样是46个缺陷,如果不考虑缺陷引入阶段的差异,表3-5得出的修复成本为55.2人日;如果考虑缺陷的引入阶段,表3-3得出的缺陷修复成本为36.9人日。对比2种结果能发现表3-3成本较低的原因是本项目中修复成本较大的需求阶段的缺陷数较少,而不考虑缺陷引入阶段的分析方法忽略了这种特点。
由以上2点分析可以看出缺陷类型和缺陷引入阶段对成本计算的影响。传统无差别对待缺陷的方法暗含了各类型、各引入阶段的缺陷分布是稳定的。如果新项目的缺陷类型分布、引入阶段分布同历史项目相似,则不管用什么方法预测缺陷修复成本,得出的结果都差别不大;如果新项目某种类型或者某个引入阶段的缺陷数占的比重非常大或者非常小,那么2种分析方法得出的结果就会有较大的差异。
Claims (10)
1.一种软件缺陷量化管理系统,包括缺陷预测评估模块、过程故障诊断模块和软件缺陷修复成本评估模块,其中所述缺陷预测评估模块用于实现软件缺陷数量的评估与预测;所述过程故障诊断模块用于模拟软件过程故障传播过程和软件产品故障诊断;所述软件缺陷修复成本评估模块计算修复成本,实现对缺陷修复成本准确估计。
2.根据权利要求1所述的软件缺陷量化管理系统,其特征在于所述缺陷预测评估模块通过建立模糊神经网络缺陷评估模型并对其进行训练,并将评估项目的真实数据输入评估模型从而得出缺陷评估结果,包括模糊综合评估模块,用于消除专家评估的不确定因素,得到信任度较高的缺陷评估结果;所述模糊综合评估模块与神经网络模块串联,模糊综合评价模块的输出作为神经网络模型的输入,用于专家评价数据较少、评价数据增多的智能缺陷评估。
3.根据权利要求1所述的软件缺陷量化管理系统,其特征在于所述过程故障诊断模块通过模糊Petri网模拟软件过程故障传播,使用模糊产生式规则表示模糊的故障知识,从而优先诊断和处理发生概率最大的故障。
4.根据权利要求1所述的软件缺陷量化管理系统,其特征在于所述软件缺陷修复成本评估模块通过建立缺陷类型-引入阶段的成本矩阵计算和准确评估修复成本。
5.一种软件缺陷量化管理方法,其特征在于包括下述步骤:(1)对软件缺陷进行预测评估;(2)对软件过程的故障进行诊断;(3)对软件缺陷修复成本进行评估,并准确评估缺陷修复成本,所述步骤(1)包括对软件缺陷进行模糊综合评价的步骤和对软件缺陷进行模糊神经网络评估的步骤,所述对软件缺陷进行模糊综合评价的步骤用于为模糊神经网络评估的步骤提供神经网络数据训练处理;所述步骤(2)使用Petri网模拟软件的故障传播过程,使用模糊产生式规则表示模糊的故障知识,以目标驱动反向推理;所述步骤(3)通过建立缺陷类型-引入阶段的成本矩阵计算缺陷修复成本。
6.根据权利要求5所述的软件缺陷量化管理方法,其特征在于所述对软件缺陷进行模糊综合评价的步骤,具体的包括:1)用专家组打分方法和问卷调查方法对软件缺陷因素进行打分,获得领域专家评价数据集;2)用模糊量化方法对专家评价数据进行预处理,确定其隶属度函数,并进行归一化,作为缺陷评估数据;3)建立模糊综合评判模型,对缺陷评估数据进行处理,根据缺陷因素指标的权重采用多层次模糊评判方法进行评判;4)采用最大隶属度原则判定信任度最大的集合为最终评估结果;对软件缺陷进行模糊神经网络评估的步骤,具体的包括:1)根据缺陷因素度量指标体系确定评估网络的输入层和输出层节点数,选择恰当的神经网络模型建立起初始网络;2)使用模糊综合评价处理方法对收集的网络训练样本数据进行预处理,使用模糊综合评估方法计算出样本数据的期望结果值;3)使用样本数据训练建立的评估网络,采用实验的方法调整评估网络的结构,找出最有的网络结构参数;4)使用找出的最优网络结构参数重新建立模糊神经网络缺陷评估模型,重新训练;5)使用测试样本数据测试重新训练好的评估网络,测试网络的拟合能力和泛化能力。
7.根据权利要求6所述的软件缺陷量化管理方法,其特征在于所用的神经网络是BP神经网络或者其变种,所述模糊综合评价处理过程和神经网络处理过程进行串联,即模糊综合评价结果作为神经网络的输入,所述模糊综合评价输出作神经网络输入指标的预处理部分。
8.根据权利要求5所述的软件缺陷量化管理方法,其特征在于对软件过程的故障进行诊断的步骤,具体包括:1)定义软件过程故障模糊Petri网(FPN)为一个十元组,所述十元组至少包括位置的可信度、变迁的可信度、变迁激活的阈值,以及变迁激活概率等四种模糊知识;所述模糊Petri网包括目标位置和起始位置,所述目标位置表示待诊断的故障现象,起始位置表示故障原因;2)定义模糊产生式规则表示因果关系;3)对模糊Petri网FPN中每个位置建立可达性集合、立即可达性集合和相邻位置集合;4)选定目标位置,遍历规则库中的规则,直到得到诊断结论。
9.根据权利要求8所述的软件缺陷量化管理方法,其特征在于所述步骤4)的具体方法为:首先选择优先级最大的规则执行;如果优先级相同,则首先选择变迁可信度最大的规则执行,然后依次执行其他规则。若某条规则的产生式前提条件为真,则该规则被激活,推导出新的事实;否则,将该规则的前提作为子目标,递归执行上述过程,如此反复直到得到诊断结论。
10.根据权利要求5所述的软件缺陷量化管理方法,其特征在于对软件缺陷修复成本进行评估,并准确评估缺陷修复成本的步骤,具体包括:1)以软件生命周期阶段引入的缺陷类型的缺陷数建立各类型缺陷的阶段分布表,并给予不同类型、不同引入阶段的缺陷修复成本以独立的权值;2)以软件生命周期阶段引入的缺陷类型的缺陷引发的修复成本建立各类型缺陷在各阶段的排除成本表;3)计算每种类型缺陷的修复成本;4)计算软件生命周期每个阶段的所有类型缺陷的修复成本;5)计算软件生命周期内所有缺陷修复总成本。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012100218958A CN102622510A (zh) | 2012-01-31 | 2012-01-31 | 一种软件缺陷量化管理系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012100218958A CN102622510A (zh) | 2012-01-31 | 2012-01-31 | 一种软件缺陷量化管理系统和方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102622510A true CN102622510A (zh) | 2012-08-01 |
Family
ID=46562425
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012100218958A Pending CN102622510A (zh) | 2012-01-31 | 2012-01-31 | 一种软件缺陷量化管理系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102622510A (zh) |
Cited By (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103699489A (zh) * | 2014-01-03 | 2014-04-02 | 中国人民解放军装甲兵工程学院 | 一种基于知识库的软件远程故障诊断与修复方法 |
CN104021264A (zh) * | 2013-02-28 | 2014-09-03 | 华为技术有限公司 | 一种缺陷预测方法及装置 |
CN104281525A (zh) * | 2014-10-28 | 2015-01-14 | 中国人民解放军装甲兵工程学院 | 一种缺陷数据分析方法及利用其缩减软件测试项目的方法 |
CN105005702A (zh) * | 2015-07-24 | 2015-10-28 | 中国科学技术大学 | 一种基于计算机数据处理技术的基础经济数据拟合方法 |
CN105095747A (zh) * | 2014-04-15 | 2015-11-25 | 阿里巴巴集团控股有限公司 | 一种Java应用健康度评估方法及系统 |
CN106528101A (zh) * | 2016-10-31 | 2017-03-22 | 努比亚技术有限公司 | 修复率计算方法和装置 |
CN106776331A (zh) * | 2016-12-26 | 2017-05-31 | 智车优行科技(北京)有限公司 | 软件成熟度的测评方法、装置和系统 |
CN107292041A (zh) * | 2017-06-28 | 2017-10-24 | 武汉理工大学 | 水下航行器操纵控制技术的评估方法 |
CN107480065A (zh) * | 2017-08-15 | 2017-12-15 | 郑州云海信息技术有限公司 | 一种缺陷管理方法及设备 |
CN108090677A (zh) * | 2017-12-19 | 2018-05-29 | 北京航空航天大学 | 一种关键基础设施可靠性测评方法 |
CN108197018A (zh) * | 2017-12-12 | 2018-06-22 | 链家网(北京)科技有限公司 | 一种软件代码缺陷率统计方法及装置 |
CN108199922A (zh) * | 2018-01-11 | 2018-06-22 | 承德石油高等专科学校 | 一种用于网络设备及服务器故障诊断和修复的系统和方法 |
CN108647707A (zh) * | 2018-04-25 | 2018-10-12 | 北京旋极信息技术股份有限公司 | 概率神经网络创建方法、故障诊断方法及装置、存储介质 |
CN108734329A (zh) * | 2017-04-21 | 2018-11-02 | 北京微影时代科技有限公司 | 一种预测电影次日票房的方法及装置 |
CN108846570A (zh) * | 2018-06-08 | 2018-11-20 | 武汉理工大学 | 一种解决资源受限项目调度问题的方法 |
CN109784481A (zh) * | 2017-11-13 | 2019-05-21 | 杭州海康威视数字技术股份有限公司 | 一种基于神经网络的调整方法、装置及设备 |
US10318591B2 (en) | 2015-06-02 | 2019-06-11 | International Business Machines Corporation | Ingesting documents using multiple ingestion pipelines |
CN110046815A (zh) * | 2019-04-11 | 2019-07-23 | 网易(杭州)网络有限公司 | 风险管理方法、装置、设备和存储介质 |
CN110083514A (zh) * | 2019-03-19 | 2019-08-02 | 深圳壹账通智能科技有限公司 | 软件测试缺陷评估方法、装置、计算机设备及存储介质 |
CN110162475A (zh) * | 2019-05-27 | 2019-08-23 | 浙江工业大学 | 一种基于深度迁移的软件缺陷预测方法 |
CN110188046A (zh) * | 2019-05-31 | 2019-08-30 | 北京银企融合技术开发有限公司 | 研发质量的测评方法及装置 |
CN110196803A (zh) * | 2018-02-27 | 2019-09-03 | 北京京东尚科信息技术有限公司 | 一种软件缺陷培训方法和系统 |
CN110674566A (zh) * | 2019-08-29 | 2020-01-10 | 中国兵器装备集团兵器装备研究所 | 一种基于加权模糊Petri网的过程质量评价方法 |
CN110865939A (zh) * | 2019-11-11 | 2020-03-06 | 南方电网财务有限公司 | 应用程序质量监测方法、装置、计算机设备和存储介质 |
WO2020093761A1 (zh) * | 2018-11-05 | 2020-05-14 | 扬州大学 | 一种面向软件缺陷知识的实体、关系联合抽取方法 |
CN111352397A (zh) * | 2020-01-17 | 2020-06-30 | 西安电子科技大学 | 基于数学规划算法的自动制造系统状态稳健性检测方法 |
CN111949535A (zh) * | 2020-08-13 | 2020-11-17 | 西安电子科技大学 | 基于开源社区知识的软件缺陷预测装置及方法 |
CN112416783A (zh) * | 2020-11-25 | 2021-02-26 | 武汉联影医疗科技有限公司 | 软件质量影响因素确定方法、装置、设备和存储介质 |
CN112783762A (zh) * | 2020-12-31 | 2021-05-11 | 中电金信软件有限公司 | 软件质量的评估方法、装置及服务器 |
CN113435759A (zh) * | 2021-07-01 | 2021-09-24 | 贵州电网有限责任公司 | 一种基于深度学习的一次设备风险智能评估方法 |
CN113535456A (zh) * | 2021-07-27 | 2021-10-22 | 上海科络达云软件技术有限公司 | 一种修复ecu软件缺陷的系统及方法 |
CN114168376A (zh) * | 2022-02-11 | 2022-03-11 | 深圳市北电仪表有限公司 | 设备数据诊断方法、装置、设备及可读存储介质 |
CN114417358A (zh) * | 2022-01-25 | 2022-04-29 | 中航机载系统共性技术有限公司 | 一种机载关键软件安全性评估方法 |
US11403197B2 (en) | 2017-09-30 | 2022-08-02 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Method and device for controlling application, storage medium, and electronic device |
US11972367B2 (en) | 2017-07-11 | 2024-04-30 | Sap Se | Pattern recognition to detect erroneous data |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050120273A1 (en) * | 2003-11-14 | 2005-06-02 | Microsoft Corporation | Automatic root cause analysis and diagnostics engine |
US20100017787A1 (en) * | 2008-07-16 | 2010-01-21 | International Business Machines Corporation | System and process for automatic calculation of orthogonal defect classification (odc) fields |
CN101819617A (zh) * | 2010-05-06 | 2010-09-01 | 天津大学 | 基于软件缺陷的软件可信性定量评估方法 |
-
2012
- 2012-01-31 CN CN2012100218958A patent/CN102622510A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050120273A1 (en) * | 2003-11-14 | 2005-06-02 | Microsoft Corporation | Automatic root cause analysis and diagnostics engine |
US20100017787A1 (en) * | 2008-07-16 | 2010-01-21 | International Business Machines Corporation | System and process for automatic calculation of orthogonal defect classification (odc) fields |
CN101819617A (zh) * | 2010-05-06 | 2010-09-01 | 天津大学 | 基于软件缺陷的软件可信性定量评估方法 |
Non-Patent Citations (5)
Title |
---|
焦彦平等: ""一种软件缺陷排除成本预测方法"", 《装备指挥技术学院学报》, vol. 22, no. 2, 28 April 2011 (2011-04-28), pages 99 - 102 * |
苑畅等: ""基于缺陷度量的软件质量成本分析模型"", 《计算机工程》, vol. 33, no. 6, 31 March 2007 (2007-03-31) * |
赵冬梅等: ""基于模糊神经网络的信息安全风险评估模型"", 《计算机工程与应用》, vol. 45, no. 17, 11 June 2009 (2009-06-11) * |
车美儒等: ""面向开发阶段的软件缺陷分类方法研究"", 《计算机应用研究》, vol. 25, no. 3, 31 March 2008 (2008-03-31), pages 759 - 763 * |
龚波等: ""面向软件密集型装备的软件过程度量和分析框架"", 《装备指挥技术学院学报》, vol. 19, no. 5, 31 October 2008 (2008-10-31), pages 71 - 75 * |
Cited By (54)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104021264A (zh) * | 2013-02-28 | 2014-09-03 | 华为技术有限公司 | 一种缺陷预测方法及装置 |
US10068176B2 (en) | 2013-02-28 | 2018-09-04 | Huawei Technologies Co., Ltd. | Defect prediction method and apparatus |
CN104021264B (zh) * | 2013-02-28 | 2017-06-20 | 华为技术有限公司 | 一种缺陷预测方法及装置 |
CN103699489B (zh) * | 2014-01-03 | 2016-05-11 | 中国人民解放军装甲兵工程学院 | 一种基于知识库的软件远程故障诊断与修复方法 |
CN103699489A (zh) * | 2014-01-03 | 2014-04-02 | 中国人民解放军装甲兵工程学院 | 一种基于知识库的软件远程故障诊断与修复方法 |
CN105095747A (zh) * | 2014-04-15 | 2015-11-25 | 阿里巴巴集团控股有限公司 | 一种Java应用健康度评估方法及系统 |
CN105095747B (zh) * | 2014-04-15 | 2019-04-09 | 阿里巴巴集团控股有限公司 | 一种Java应用健康度评估方法及系统 |
CN104281525A (zh) * | 2014-10-28 | 2015-01-14 | 中国人民解放军装甲兵工程学院 | 一种缺陷数据分析方法及利用其缩减软件测试项目的方法 |
CN104281525B (zh) * | 2014-10-28 | 2016-12-07 | 中国人民解放军装甲兵工程学院 | 一种缺陷数据分析方法及利用其缩减软件测试项目的方法 |
US10318591B2 (en) | 2015-06-02 | 2019-06-11 | International Business Machines Corporation | Ingesting documents using multiple ingestion pipelines |
US10572547B2 (en) | 2015-06-02 | 2020-02-25 | International Business Machines Corporation | Ingesting documents using multiple ingestion pipelines |
CN105005702B (zh) * | 2015-07-24 | 2018-01-30 | 中国科学技术大学 | 一种基于计算机数据处理技术的基础经济数据拟合方法 |
CN105005702A (zh) * | 2015-07-24 | 2015-10-28 | 中国科学技术大学 | 一种基于计算机数据处理技术的基础经济数据拟合方法 |
CN106528101A (zh) * | 2016-10-31 | 2017-03-22 | 努比亚技术有限公司 | 修复率计算方法和装置 |
CN106776331A (zh) * | 2016-12-26 | 2017-05-31 | 智车优行科技(北京)有限公司 | 软件成熟度的测评方法、装置和系统 |
CN108734329A (zh) * | 2017-04-21 | 2018-11-02 | 北京微影时代科技有限公司 | 一种预测电影次日票房的方法及装置 |
CN107292041A (zh) * | 2017-06-28 | 2017-10-24 | 武汉理工大学 | 水下航行器操纵控制技术的评估方法 |
US11972367B2 (en) | 2017-07-11 | 2024-04-30 | Sap Se | Pattern recognition to detect erroneous data |
CN107480065A (zh) * | 2017-08-15 | 2017-12-15 | 郑州云海信息技术有限公司 | 一种缺陷管理方法及设备 |
US11403197B2 (en) | 2017-09-30 | 2022-08-02 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Method and device for controlling application, storage medium, and electronic device |
CN109784481A (zh) * | 2017-11-13 | 2019-05-21 | 杭州海康威视数字技术股份有限公司 | 一种基于神经网络的调整方法、装置及设备 |
CN108197018A (zh) * | 2017-12-12 | 2018-06-22 | 链家网(北京)科技有限公司 | 一种软件代码缺陷率统计方法及装置 |
CN108090677B (zh) * | 2017-12-19 | 2022-01-07 | 北京航空航天大学 | 一种关键基础设施的可靠性测评方法 |
CN108090677A (zh) * | 2017-12-19 | 2018-05-29 | 北京航空航天大学 | 一种关键基础设施可靠性测评方法 |
CN108199922B (zh) * | 2018-01-11 | 2021-07-13 | 承德石油高等专科学校 | 一种用于网络设备及服务器故障诊断和修复的系统和方法 |
CN108199922A (zh) * | 2018-01-11 | 2018-06-22 | 承德石油高等专科学校 | 一种用于网络设备及服务器故障诊断和修复的系统和方法 |
CN110196803A (zh) * | 2018-02-27 | 2019-09-03 | 北京京东尚科信息技术有限公司 | 一种软件缺陷培训方法和系统 |
CN108647707A (zh) * | 2018-04-25 | 2018-10-12 | 北京旋极信息技术股份有限公司 | 概率神经网络创建方法、故障诊断方法及装置、存储介质 |
CN108647707B (zh) * | 2018-04-25 | 2022-09-09 | 北京旋极信息技术股份有限公司 | 概率神经网络创建方法、故障诊断方法及装置、存储介质 |
CN108846570A (zh) * | 2018-06-08 | 2018-11-20 | 武汉理工大学 | 一种解决资源受限项目调度问题的方法 |
CN108846570B (zh) * | 2018-06-08 | 2022-02-01 | 武汉理工大学 | 一种解决资源受限项目调度问题的方法 |
US11169912B2 (en) | 2018-11-05 | 2021-11-09 | Yangzhou University | Entity and relationship joint extraction method oriented to software bug knowledge |
WO2020093761A1 (zh) * | 2018-11-05 | 2020-05-14 | 扬州大学 | 一种面向软件缺陷知识的实体、关系联合抽取方法 |
CN110083514A (zh) * | 2019-03-19 | 2019-08-02 | 深圳壹账通智能科技有限公司 | 软件测试缺陷评估方法、装置、计算机设备及存储介质 |
CN110046815A (zh) * | 2019-04-11 | 2019-07-23 | 网易(杭州)网络有限公司 | 风险管理方法、装置、设备和存储介质 |
CN110162475A (zh) * | 2019-05-27 | 2019-08-23 | 浙江工业大学 | 一种基于深度迁移的软件缺陷预测方法 |
CN110162475B (zh) * | 2019-05-27 | 2023-04-18 | 浙江工业大学 | 一种基于深度迁移的软件缺陷预测方法 |
CN110188046A (zh) * | 2019-05-31 | 2019-08-30 | 北京银企融合技术开发有限公司 | 研发质量的测评方法及装置 |
CN110674566A (zh) * | 2019-08-29 | 2020-01-10 | 中国兵器装备集团兵器装备研究所 | 一种基于加权模糊Petri网的过程质量评价方法 |
CN110865939A (zh) * | 2019-11-11 | 2020-03-06 | 南方电网财务有限公司 | 应用程序质量监测方法、装置、计算机设备和存储介质 |
CN110865939B (zh) * | 2019-11-11 | 2023-11-03 | 南方电网财务有限公司 | 应用程序质量监测方法、装置、计算机设备和存储介质 |
CN111352397A (zh) * | 2020-01-17 | 2020-06-30 | 西安电子科技大学 | 基于数学规划算法的自动制造系统状态稳健性检测方法 |
CN111949535A (zh) * | 2020-08-13 | 2020-11-17 | 西安电子科技大学 | 基于开源社区知识的软件缺陷预测装置及方法 |
CN111949535B (zh) * | 2020-08-13 | 2022-12-02 | 西安电子科技大学 | 基于开源社区知识的软件缺陷预测装置及方法 |
CN112416783B (zh) * | 2020-11-25 | 2022-05-20 | 武汉联影医疗科技有限公司 | 软件质量影响因素确定方法、装置、设备和存储介质 |
CN112416783A (zh) * | 2020-11-25 | 2021-02-26 | 武汉联影医疗科技有限公司 | 软件质量影响因素确定方法、装置、设备和存储介质 |
CN112783762A (zh) * | 2020-12-31 | 2021-05-11 | 中电金信软件有限公司 | 软件质量的评估方法、装置及服务器 |
CN112783762B (zh) * | 2020-12-31 | 2024-04-09 | 中电金信软件有限公司 | 软件质量的评估方法、装置及服务器 |
CN113435759A (zh) * | 2021-07-01 | 2021-09-24 | 贵州电网有限责任公司 | 一种基于深度学习的一次设备风险智能评估方法 |
CN113435759B (zh) * | 2021-07-01 | 2023-07-04 | 贵州电网有限责任公司 | 一种基于深度学习的一次设备风险智能评估方法 |
CN113535456B (zh) * | 2021-07-27 | 2023-09-19 | 上海科络达云软件技术有限公司 | 一种修复ecu软件缺陷的系统及方法 |
CN113535456A (zh) * | 2021-07-27 | 2021-10-22 | 上海科络达云软件技术有限公司 | 一种修复ecu软件缺陷的系统及方法 |
CN114417358A (zh) * | 2022-01-25 | 2022-04-29 | 中航机载系统共性技术有限公司 | 一种机载关键软件安全性评估方法 |
CN114168376A (zh) * | 2022-02-11 | 2022-03-11 | 深圳市北电仪表有限公司 | 设备数据诊断方法、装置、设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102622510A (zh) | 一种软件缺陷量化管理系统和方法 | |
Golmohammadi | Neural network application for fuzzy multi-criteria decision making problems | |
Rafiei et al. | Probabilistic load forecasting using an improved wavelet neural network trained by generalized extreme learning machine | |
Zhong et al. | Genetic algorithm optimized double-reservoir echo state network for multi-regime time series prediction | |
Özkan et al. | Comparison of neural network application for fuzzy and ANFIS approaches for multi-criteria decision making problems | |
Bañuls et al. | Scenario construction via Delphi and cross-impact analysis | |
Tao et al. | Group decision making with fuzzy linguistic preference relations via cooperative games method | |
Abrishami et al. | A data-based comparison of BN-HRA models in assessing human error probability: An offshore evacuation case study | |
CN102496028B (zh) | 一种复杂装备的事后维修故障分析方法 | |
Vimal et al. | Application of artificial neural network for fuzzy logic based leanness assessment | |
Pei | Rational decision making models with incomplete weight information for production line assessment | |
Azadeh et al. | Performance assessment of electric power generations using an adaptive neural network algorithm | |
Bigdeli et al. | A comparative study of optimal hybrid methods for wind power prediction in wind farm of Alberta, Canada | |
Gadhavi et al. | Student final grade prediction based on linear regression | |
Dwivedi et al. | A business intelligence technique for forecasting the automobile sales using Adaptive Intelligent Systems (ANFIS and ANN) | |
Han | Discriminating risky software project using neural networks | |
Azadeh et al. | An integrated artificial neural network fuzzy C-means-normalization algorithm for performance assessment of decision-making units: The cases of auto industry and power plant | |
Azadeh et al. | An integrated artificial neural network and fuzzy clustering algorithm for performance assessment of decision making units | |
JP2020135390A (ja) | 情報処理装置、情報処理方法、およびプログラム | |
Zhang | Prediction of Purchase Volume of Cross‐Border e‐Commerce Platform Based on BP Neural Network | |
Shetty et al. | A comparative study of automobile sales forecasting with ARIMA, SARIMA and deep learning LSTM model | |
CN104408317A (zh) | 一种基于Bootstrap回声状态网络集成的冶金企业煤气流量区间预测方法 | |
Arranz | A system dynamics approach to modelling eco‐innovation drivers in companies: understanding complex interactions using machine learning | |
Azadeh et al. | An adaptive neural network-fuzzy linear regression approach for improved car ownership estimation and forecasting in complex and uncertain environments: the case of Iran | |
Hosseini-Nasab et al. | DEVELOPMENT OF OPENED-NETWORK DATA ENVELOPMENT ANALYSIS MODELS UNDER UNCERTAINTY. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20120801 |