(计算机软件与理论专业论文)基于人工神经网络的软件质量预测模型研究.pdf_第1页
(计算机软件与理论专业论文)基于人工神经网络的软件质量预测模型研究.pdf_第2页
(计算机软件与理论专业论文)基于人工神经网络的软件质量预测模型研究.pdf_第3页
(计算机软件与理论专业论文)基于人工神经网络的软件质量预测模型研究.pdf_第4页
(计算机软件与理论专业论文)基于人工神经网络的软件质量预测模型研究.pdf_第5页
已阅读5页,还剩58页未读 继续免费阅读

(计算机软件与理论专业论文)基于人工神经网络的软件质量预测模型研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于人工神经网络的软件质量预测模型研究 摘要 随着计算机系统应用的范围越来越广泛、越来越深入,计算机软件系 统也变得越来越复杂。因此,计算机软件的可靠性问题就越来越受到人们 的关注和重视。软件可靠性的度量是以软件可靠性模型为基础对软件的可 靠性行为进行评价和预测。 目前的软件可靠性模型基本上都是以关于剩余在软件中的错误的性 质、以及故障的随机行为的假设作为基础,而这些假设各有不同,由各个 软件可靠性模型所表示的故障行为的类型的差异很大,造成了软件可靠性 模型的不一致性问题。因此,选择一个合适的软件质量预测模型,一直是 高可信软件领域研究的热点问题之一。训练好的神经网络能对软件的可靠 性进行预测,它不需要前提和假设,所以适用于各种场合。 人工神经网络在软件质量预测模型中的研究成果主要分为两个方面: 一是以软件错误报告为基础,以软件失效时间作为神经网络输入的软件质 量预测模型,二是以软件质量度量参数作为神经网络输入的软件质量预测 模型。本文以软件质量度量参数作为神经网络输入,提出了两种软件可靠 性预测模型。一种是基于学习矢量量化神经网络的软件模块风险性预测模 型,它利用学习矢量量化神经网络不需要调整所有的权值系数、稳定性较 好、实现有监督学习和给出分类信息作为指导信号的良好性能,提高了对 软件模块风险性预测的精确度,实验结果表明此模型比基于b p 神经网络的 软件模块风险性预测模型在模块高风险性和模块低风险性预测中的预测精 度分别提高了1 倍和4 倍。另一种是基于p c a 一小波神经网络的软件质量 预测模型,它通过主成分分析方法来剔除实验数据的多重共线性,减少了 数据的维数,但是却保留了原始数据9 7 的信息量,简化了神经网络的结 构,并采用遗传算法来优化小波神经网络,使小波神经网络的预测能力得 到提高,以此来提高软件质量的预测精度;实验结果表明此模型所采用的 方法获得了比基于b p 神经网络的软件质量预测模型和基于广义回归神经 网络的软件质量预测模型更好的预测准确度。 关键词:软件可靠性软件质量软件质量预测模型学习矢量量化神经 网络遗传算法小波神经网络主成分分析方法 s t u d yo nt h es o f t w a r eo u a lit yp r e dic tio nm o d e lb a s e do n a r t i f l c i a ln e u r a ln e t w o r k a b s t r a c t w i t ht h ed e v e l o p m e n to fc o m p u t e rs y s t e m , c o m p u t e r sa r en o wu s e dm o r e a n dm o r ew i d e l yi ne v e r ya s p e c ta n dt h ec o m p m e rs o l a r es y s t e m sa r e b e c o m i n gm o r ec o m p l i c a t e d t h e r e f o r e ,t h es o f t w a r er e l i a b i l i t ya t t r a c t sl o t so f c o n c e ma n da t t e n t i o nf r o mi n c r e a s i n gn u m b e ro fp e o p l e h o wt ot e s tt h e s o f t w a r er e l i a b i l i t y ? i ti st oa p p r a i s ea n dp r e d i c tt h eb e h a v i o r so ft h es o t h a r e b a s e do nt h es o a r e r e l i a b i l i t ym o d e l a tp r e s e n t ,al o to fs o f t - w a r er e l i a b i l i t ym o d e l sa r eb u i l tb a s e do nt h e h y p o t h e s e so fm i s t a k ec h a r a c t e r sa n dm a l f u n c t i o nr a n d o mb e h a v i o r st h a ta r el e f t i ns o f t w a r e t h e s eh y p o t h e s e sv a r yf r o me a c ho t h e r , t h e r e f o r et h ed i f f e r e n c eo f m a l f u n c t i o nb e h a v i o rt y p e se x p r e s s e db yv a r i o u ss o f t w a r er e l i a b i l i t ym o d e l si s o b v i o u s ;a n dt h et e s t i n gr e s u l t sa r ev e r yd i f f e r e n tf r o me a c ho t h e r t h u s , d e v e l o p i n gau m v e r s a lp r e d i c t i o nm o d e lh a sb e c o m eo n eo ft h ei m p o r t a n tt a s k s , w h i c hi so n eo ft h eh o t s p o t si ns o f t w a r er e l i a b i l i t yp r e d i c t i o nm o d e l t h e s o t b , v a r er e l i a b i l i t yp r e d i c t i o nm o d e lc a np r e d i c tt h es o f t w a r er e l i a b i l i t ya n d d o e s n tn e e da n yp r e m i s eo rh y p o t h e s i su s i n gn e u r a ln e t w o r k t h e r ea r et w om a i na c h i e v e m e n t si ns o f b 口v a r er e l i a b i l i t yp r e d i c t i o nm o d e l u s i n ga r t i f i c i a ln e u r a ln e t w o r k :f i r s t l y , p e o p l et a k et h ei n v a l i ds o f t w a r et i m ea s t h ei n p u to fs o f t w a r er e l i a b i l i t yp r e d i c t i o nm o d e l ;s e c o n d l y , p e o p l eu s et h e s o f t w a r eq u a l i t ym e t r i c sa st h em p u to fn e u r a ln e t w o r k si nt h es o f t w a r eq u a l i t y p r e d i c t i o nm o d e l t h i sp a p e rp r o p o s e st w os o r w a r eq u a l i t yp r e d i c t i o nm o d e l s u s i n gs o f t w a r eq u a l i t ym e t r i c sa st h ei n p u to fn e u r a ln e t w o r k s :t h ef i r s to n ei s t h es o f t w a r em o d u l er i s kp r e d i t i o nm o d e lb a s e do nl v q ( l e a r n i n gv e c t o r q u a n t i z a t i o n ) n e u r a ln e t w o r k l v qn e u r a ln e t w o r kd o e s n tn e e dt oa d j u s ta l l t h ew e i g h t sa n di th a sag o o ds t a b i l i t y m o r e o v e r , l v qn e u r a ln e t w o r kh a sa p e r f e c tf u n c t i o no fs u p e r v i s e dl e a r n i n ga n dg i v e sc l a s s i f i e di n f o r m a t i o na s g u i d i n gs i g n a l ,s oi tc a l li n c r e a s et h ep r e c i s i o no ft h es o l , r a r em o d u l er i s k p r e d i c t i o n t h ee x p e r i m e n t sr e s u l t ss h o wt h a tt h i sm o d e lh a si m p r o v e d1t i m e a n d4t i m e si nt h ep r e d i c t i v ea c c u r a c yo fh i g hr i s km o d u l ea n dl o wr i s km o d u l e t h a nt h es o f t w a r em o d u l er i s kp r e d i c t i o nb a s e do l lb pn e u r a ln e t w o r k t h eo t h e r i st h es o f t w a r e q u a l i t yp r e d i c t i o n m o d e l b a s e d0 1 1p c a - w a v e l e tn e u r a l n e t w o r k t h i sm o d e lu s e sp r i n c i p a lc o m p o n e n ta n a l y s i s ( p c a ) t oe l i m i n a t e t h em u l t i c o l l i n e a r i t i yo ft h ee x p e r i m e n t a ld a t a t h ep c ac a nr e d u c ed i m e n s i o n s o ft h ed a t a , b u ti tr e m a i n s9 7 o ft h eo r i g i n a li n f o r m a t i o n i na d d i t i o n , t h i s m o d e la p p l i e sg e n e t i ca l g o r i t h mt oo p t i m i z ew a v e l e tn e u r a ln e t w o r kt h a tc a n i m p r o v et h ep r e d i c t i o na b i l i t yo f 缪? 锕忆a n dt h es o f t w a r eq u a l i t yp r e d i c t i o n p r e c i s i o nc a r lb ec o r r e s p o n d i n g l yi m p r o v e d t h ee x p e r i m e n t sr e s u l t ss h o wt h a t t h i sm o d e lc a na c h i e v eap r e c i s e ra c c u r a c yt h a nt h es o f t w a r eq u a l i t yp r e d i c t i o n m o d e lb a s e do nn e u r a ln e t w o r ko fb a c kp r o p a g a t i o n ( b p ) a n dg e n e r a l i z e d r e g r e s s i o nn e u r a ln e t w o r k ( g r r 帅 k e yw o r d s :s o f t w a r er e l i a b i l i t y ;s o f t w a r e q u a l i t y ;s o f t w a r eq u a l i t y p r e d i c t i o nm o d e l ;l e a r n i n gv e c t o rq u a n t i z a t i o nn e t w o r k ;g e n e t i ca l g o r i t h m ; w a v e l e tn e u r a ln e t w o r k ;p r i n c i p l ec o m p o n e n t sa n a l y s i s 广西大掌硕士掣啦论文 | i 于l 神经网络的软件质量,曩涮模型研究 1 1 问题的提出 第一章绪论 随着科学技术的发展,特别是近十几年来,各种技术取得了突破性的进展,使得如 今的系统越来越复杂,功能也越来越强大。然而正是由于系统功能的强大和复杂程度的 提高,随之产生的系统可靠性问题便日益突出。并且如今的系统承载着大量的信息,一 旦发生崩溃所带来的损失是无法估量的。因此如何设计具有高可靠性和高可用性系统的 研究一直是国际上的一个研究热点。 如今的系统都是硬件和软件的有机整体,而随着软件技术的发展,软件在整个系统 中的比重越来越大,发挥的作用也越来越大。近年来的研究表明,一个系统发生故障, 更多的是由于软件的缺陷而造成的,只要现在软件的复杂性和重用性在增长,这种趋势 就不会改变。因此软件可靠性成为系统可靠性的瓶颈。目前,硬件的可靠性研究已较为 成熟。而软件的可靠性和可用性问题还未有一个很好的解决方法。因此软件可靠性和可 用性的研究成为高可靠性和高可用性系统研究的一个主要的目标。软件可靠性在可靠性 研究领域中是一个新课题,也是一个日益重要的课题。 在计算机问世的初期,由于硬件可靠性不高,根本无暇顾及软件的可靠性,因此软 件可靠性的问题未能引起人们的关注和重视。后来,随着微电子学和计算机科学技术的 迅猛发展,特别是随着微处理器的出现,硬件的可靠性有了惊人的提高,软件规模与应 用领域的日益扩大使系统可靠性的主要矛盾从硬件逐步转向了软件,使得软件的质量和 可靠性问题日益突出起来。怎样对软件的质量进行可靠的预测呢? 于是,软件质量预测 模型应运而生。 定量评估软件质量的一般方法是:根据测试过程中收集到的失效数据,分析其规律, 建立软件质量预测模型,进而评估和预测软件质量。软件工程领域是复杂的,软件生产 过程也是丰富多样的。对不同的工程领域和生产过程得到的数据进行抽象,需要不同的 假设和前提,导致了模型的多样化。到目前为止,国内外建立的各种各样的软件质量预 测模型已不下百种。 由于不同的模型其假设和前提是不同的,故适合不同的软件系统。对同一软件系统 的失效行为,不同模型会做出不同的评估;对同一数据源同一模型在不同的预计阶段所 作的预计性能也不同。实际进行评估时,具体模型的选择是比较麻烦的。开发一个通用 的模型也就成为可靠性研究中所关心的问题之一。基于神经网络软件质量预测模型正是 在这种情况下提出来的。人工神经网络( a r t i f i c i a ln e u r a ln e t w o r k s 。简称a n n ) 是一种 大型并行非线性系统,具有很强的非线性运算能力。应用a n n 软件质量预测模型来预 测软件质量,实际上是一种非线性函数的映射。实现这种映射时,利用现有数据对a n n | i 于。工神经网络的软件质量鼻【测模型研究 进行训练,将已知信息归纳并储存在各个神经元( 节点) 之间的连接权值上。训练好的 a n n 就能对软件的质量进行预测。它不需要前提和假设,所以适用于各种场合。 1 2 研究进展 1 2 1 软件可靠性模型的研究进展 最早研究软件可靠性的是h u d s o n ,1 9 6 7 年他提出了软件生灭过程模型【i 】,他把软 件错误看成一个生灭过程,其假定软件错误一经发现就可以立即排除,并假定软件错误 检测率与软件内残存错误数和测试时间成正比,研究结果表明检测出的错误数服从二项 分布,它的均值具有威布尔函数形式。之后,在1 9 7 2 年j e l i n s k i 等人对软件可靠性进行 了进一步的研究,分析了故障率与残留错误数的关系,并给出了第一个软件可靠性增长 模型,之后出现了大量的可靠性模型。但是大量的事实证明当失效( 或错误) 数据的分布 形式与模型假设的形式不同时,参数的估计值往往很不准确,为了回避这一问题,1 9 7 7 年j w t u k e y 提出了探索数据分析方法( e d a ) ,该方法主要是对数据做极少假定或根本 不假设模型,而是直接研究数据本身,了解数据的特征、结构等来获得更多的信息。 七十年代出到八十年代初的部分软件可靠性模型有:1 9 7 2 年s c h n e i d e w i n d 提出一 种软件可靠性模型。他主张依据不同的可靠性函数来选择最适合项目中问题的分布函 数。这些分布函数有指数函数、正态分布函数、y 分布函数、w e i l ) m 1 分布函数等。后 来,又提出将每个时间间隔内发现差错视为一种指数均值函数的非齐次泊松过程,并采 用了最小二乘法或最大似然估计法来确定过程中的参数【2 1 。s c l l i c k 和w o l v e r t o n 于1 9 7 3 年提出了一种软件可靠性模型,认为风险率同残留差错数和时间的乘积成比例【3 】。因此, 随时间的增长,风险率在差错修正中变化的范围加大。五年后,他们又给出了修正模型, 其风险率是时间的抛物线性函数,而不是时间的线性函数。这种风险率近似于w e i b u l l 分布但并不相同。1 9 7 3 年l i t l e w o o d 和v e r a l l 采用贝叶斯方法进行软件可靠性测试。他 们将风险率视为随机变量,其分布函数含有一个随经历的故障数变化的参数。1 9 7 5 年 m u s a 在总结前人工作的基础上,提出了可靠性模型的执行时间模型,他认为执行时间 可分为软件测试时间和软件交付运行后的运行时间,而计时时间不能说明程序在运行或 测试中的不同用途。 七十年代末至八十年代初,主要的研究集中于对软件可靠性模型的比较和选择上。 关于如何进行模型分类与选择,尚无明确的指导原则。一般是按数学结构、模型假设、 参数估计、失效机理、参数形式、数据类型、建模对象、模型适用性和时域等进行分类 【4 】。早期工作的不足之处在于缺少较好的故障数据和所需的比较准则。这一期间的主要 进展主要应归于: m u s a1 9 7 9 年发表的合理的良好性能的数据集,促进了比较工作的研究; m u s a 和o k u m o t 0 1 9 8 3 年提出了软件可靠性模型分类方法。此项工作有助于模型 分类和组织比较并导致新模型的发展; 2 广西大掌硕士掌位论文 l 于神经用络的软件质慑测模置i 研究 龟) l a n n i n o ,m u s a 等人1 9 8 4 年给出了模型比较和选择准则。 八十年代后期到九十年代后期,人们逐渐将软件可靠性增长模型研究的目光转移到 模型的具体应用上。除了继续关注模型选择以外,为提高模型实用性所进行的模型组合 和模型调整等方面的研究也引起了人们的关注。m r l y u 等人在研究中指出,将模型结 果进行线性组合,会得到比单个模型更精确的预测结果。目前此方面的研究重点集中在 模型的权值的确定上。 近年来,随着统计方法和一些仿生算法的发展,研究人员已不再将建模方法仅仅集 中在回归分析上。最近几年,人们开始尝试运用一些新的方法和技术来进行软件可靠性 的预测:例如专家系统体系结构中的等级混合软件质量预测模型【5 】、基于变点和环境函 数方法的软件可靠性增长模型嘲、基于软件模块结构的质量预测和灵敏度分析的软件可 靠性增长模型r n 、基于马尔可夫贝叶斯网络的软件错误预测模型【酊、基于遗传算法的软 件可靠性预测模型【9 】、基于模拟退火算法的软件质量预测模型l o 】,在一个运行剖面中基于 贝叶斯的网络的软件可靠性预测模型l l 】、基于组件的软件系统结构的可靠性预测【1 2 1 、基 于模糊逻辑的经验评估的软件质量预测模型”】、基于体系结构的统一模型对软件的表 现,可靠性和安全性预测【1 4 1 和采用测试效果与变点方法的软件可靠性增长模型的技术性 能分析【1 5 1 等。 1 2 2 基于人工神经网络软件质量预测模型和软件可靠性模型的研究进展 人工神经网络用于软件质量预测模型的研究始于1 9 9 2 年,n k a n m a n i t h i ,y m a l a i y a 和d w h i t l e y 首次把人工神经网络理论应用到软件软件质量的评估和预测中,取得了比 较好的效果。 目前,人工神经网络在软件质量预测模型中的研究成果主要有两个方面:一方面是 以软件错误报告为基础,以软件失效时间作为神经网络输入的软件质量预测模型;另一 方面是以软件质量度量参数作为神经网络输入的软件质量预测模型。 在第一个方面的主要研究成果有:1 9 9 2 年,k a n m a n i t h i 第一次在软件质量预测模型 中采用人工神经网络方法,以一个实际项目的错误数据集合为基础,用三个不同的神经 网络估计模型来估计累计错误数,通过比较得出比统计模型更好的结果【1 6 1 。同年, k a n m a n i t h i 又提出了神经网络连接模型,以1 4 个不同软件收集的错误数据作为基础, 采用下一步预测和终点预测两种训练机制,通过与五个常用的统计模型比较得出更好的 结果1 1 7 1 。1 9 9 3 年,d p a r t r i d g e 和n s h a r k e y 在软件工程中的软件质量预测中也采用了神 经网络【l s l 。之后,研究工作者分别从神经网络拓扑结构、神经网络参数、神经网络训练 机制和神经网络输入输出几个方面考虑,获得了很多好的研究成果。在研究初期,大部 分的神经网络估计模型都是单输入单输出模型【1 岳1 埘,2 7 捌,例如:n i d h ig u p t a 和m a n u p m t a ps i n g h 采用执行时间为b p 神经网络的输入来预测未来软件可能发生的错误数,并 且使用了映射模式方法来提高预测的准确度1 2 ”。俞立军,贲可荣采用前向级联神经网络 对软件质量进行预测,与几个统计模型进行比较,得到更好的实验结果 2 9 1 。最近研究成 广西大掌习e 士掌位论文| i 亏| 怔神经用络的嗣降质量氟测模型研究 果主要集中在基于多重延迟输入单层输出神经网络预测模型上,2 0 0 1 年, a l j a h d a l i 采 用最近四天的测试错误数据作为前向神经网络多重延迟输入来预测软件测试之前的错 误数1 2 0 1 。2 0 0 1 年,c a i 采用m u s a 数据5 q 和l e e 5 7 1 数据对最近5 0 个接连错误时间作为神 经网络多重延迟输入来估计下一个错误时问i 竭。在人工神经网络结构选择上的软件质量 预测模型有1 1 幡埘毋叫;l i a n gt i a n 和a f z e ln o o r e 采用遗传算法来选择最优的神经网络 输入层和隐含层神经元个数田洲。k k a g g a t w a l 等采用不同训练机制对神经网络进行训 练。然后比较不同的训练方式的软件质量预测结果【2 捌。m x i e 等通过调整神经网络参数来 估计软件质量【冽。p i n gg u o 等采用伪逆学习算法的前向神经网络建立软件可靠性增长模 型 2 s l 。2 0 0 4 年,o y a m a d a 等采用分类和神经网络来预测软件质量的表现t 3 0 l 。t a d a s h i d o h i 等采用m l p n 网络来优化软件的释放时间j 。2 0 0 7 年,y u - s h e ns u 和c h i n y uh u a n g 提出了基于动态权值级联神经网络的软件质量模型1 3 2 1 。 对于以软件质量质量度量作为输入的神经网络的预测模型,t m k h o s h g o f l a a r 做了 比较深入的研究【3 “。提出了一些较好的模型,例如:1 9 9 2 年,t m k h o s h g o t = t a a r 采 用b p 神经网络来对软件模块中的错误数来进行预测,使用8 个软件尺度度量参数作为 神经网络的输入,得到了比统计模型更好的实验结果 3 3 1 。1 9 9 5 年,他以一个商业软件 系统的软件质量度量参数来预测软件质量,采用三个软件可靠性模型,一个是多重回归软 件质量预测模型,另两个是基于神经网络的软件质量预测模型,在两个神经网络模型中, 一个采用主要成分分析( p c a ) 方法选择软件质量度量的主要成分来训练网络,另外一 个直接使用原始数据集合来训练网络,试验结果表明基于神经网络的软件可靠性预测模 型能够得出更好的结果p 4 】。1 9 9 7 年,他采用b p 神经网络算法来预测开发前期模块的质 量,降低在开发过程中模块的风险性1 3 5 1 。1 9 9 6 年,他从两个相似的软件系统中收集软 件质量尺度数据,一个用p c a 方法从质量尺度参数选择主要成分训练b p 网络,一个直 接使用原始数据训练b p 网络,得出p c a 方法训练的b p 网络的预测结果要好m j 。2 0 0 0 年,他采用b p 网络对软件的可测试性进行了预测【4 ”。2 0 0 1 年,他在高可信系统工程基 础上介绍模糊非线性回归技术,采用模糊非线性回归技术跟模糊逻辑及神经网络技术进 行结合产生了更好的实验结果【4 2 】。另外,2 0 0 2 年,d o n a l de n c t m m n n 建立一个p c a a n n 网络预测模型对软件中的错误进行预测阳j 。 国内在软件质量度量作为神经网络输入的质量预测模型的研究才刚刚开始,例如: 2 0 0 5 年,马慧敏等采用基于软件度量数量的广义回归神经网络构造质量预测模型l 。 景疆和杨俊介绍计算机软件度量的一般理论,然后详细介绍具有强大的数据分析能力的 人工神经网络技术在建立软件质量预测模型中的运用1 4 5 】。王琪等介绍了一种基于人工神 经网络的软件失效预测模型,给出了基于反向传播算法的多层前向网络的网络结构。用这 种方法对朗讯光网络有限公司开发的s d h 通信软件进行了分析,并得到了较高的预测 准确率。通过采集通信软件的不同发布版本的测试历史数据,讨论了训练集数据的选择与 预测精度之间的关系【蜘。肖中元等主要就软件失效预测这个应用领域叙述几种适用的网 络,并比较这几种网络在训练结果和性能上的差异。上述方法在s d h 通信软件的失效预 4 | l 于o 哺经网培的软件质h 曩涮模型研究 测中得到了成功的应用。实验结果显示虽然m l p 、p n n 、l v q 网络都能解决这类模式 分类问题,但是只有m l p 网络训练结果比较稳定,在不同的数据集上训练出的网络都有 很好的预测效果1 4 ”。王铁江等提出了基于对软件可靠性影响最突出的e 个因素,结合 模糊逻辑和神经网络技术来构建模糊神经网络软件质量预测模型,抽取蕴含在专家判断 中的模糊规则。然后利用这些规则和专家对当前软件开发完成情况进行预测,该模型能 够完成对目标软件的可靠性预测。然而上述所提的模型都是面向过程的软件质量预测模 型【4 吼。 随着软件开发技术的发展,面向对象开发已经是软件开发的主流开发方法了,m i e m i e 在这方面做了比较深入的研究,他采用面向对象质量尺度数据作为神经网络输入的 面向对象软件质量预测模型 4 9 - 5 孤。2 0 0 2 年,提出了基于神经网络的软件可读性预测模型 s 2 l ,2 0 0 5 年,他采用s q l 尺度度量数据作为神经网络的输入,来预测在s q l 文档中软 件发生的错误剡5 3 】。还有一些研究工作者也提出了自己的模型,例如:s k a n m a n i 提出 的基于广义回归神经网络的面向对象软件质量预测模型i s 4 和m a h a w e e r a w a t 提出的基于 神经网络的面向对象软件的错误数预测模型【5 5 1 。 综上所述,国外在神经网络对软件质量预测模型的研究已经有了一些好的成果,国 内在这方面的研究最近几年才1 日u h u 开始,相对来说比国外要落后。已有的人工神经网络 在软件质量预测模型中应用的主要研究成果是以软件错误测试报告和软件质量度量为 基础,但是,b p 神经网络的模型过多,而传统的b p 算法存在收敛速度慢和易于陷入局 部极小问题,并且对于软件可靠性不同的问题b p 神经网络并不完全适用,例如软件模 块风险性预测,它属于一种分类的问题,b p 神经网络在这方面就没有什么优势了。伴 随着神经网络的发展,一些新的神经网络已经慢慢开始应用到软件可靠性上面了,但是 一些新型的神经网络还存在一定的不足。本论文将从神经网络拓扑结构、神经网络参数、 神经网络训练机制和神经网络输入输出几个方面考虑去建立估计精度更高的神经网络 预测模型。针对模型中存在的问题,在软件模块风险性预测中采用学习矢量量化神经网 络来进行预测,在软件质量预测模型中,采用优化过的小波神经网络来建立软件质量预 测模型,并且采用主要成分分析方法来对实验数据进行压缩。 1 3 论文选题的目的和意义 目前的软件质量预测模型都是以关于剩余在软件中的错误的性质、以及故障的随机 行为的假设作为基础,而这些假设各有不同,所以由各个软件可靠性模型所表示的故障 行为的类型的差异很大,这些模型的预测结果是很不一样的。因此,选择一个合适的软 件质量预测模型,一直是高可信软件领域研究的热点之一。训练好的神经网络能对软件 的质量进行预测,它不需要前提和假设,所以适用于各种场合。神经网络模型解决软件 质量预测模型的不一致性,设计出精确度更好的神经网络软件质量预测模型,以提高预 5 i i 于工神经网络的软件质坝潮楔型研究 测的准确性。 1 4 论文的主要研究内容和论文的组织 本文主要研究内容是:以软件质量度量作为神经网络的输入,建立软件模块模块 风险性预测模型,有效地提高模块风险性预测的精确性。软件质量度量作为神经网络 的输入,建立软件质量预测模型,有效地提高软件质量预测的精确性。 全文的安排如下; 第一章绪论 首先介绍软件质量预测模型问题的提出;其次描述软件可靠性模型的研究进展,接 着描述了基于人工神经网络软件可靠性模型和软件质量预测模型的研究进展,接下来说 明论文选题的目的和意义;最后阐明本文的研究内容和论文的组织。 第二章软件可靠性与软件质量预测模型 首先介绍对软件可靠性的概念进行了阐述;其次分别介绍了软件可靠性的主要研究 内容、失效机理、可靠性度量和目前需要解决的一些问题;然后介绍了软件质量预测模 型的概念、软件质量预测模型的特点、软件质量预测模型的建模原理和软件质量预测模 型目前解决的一些问题。 第三章基于l v q 神经网络的软件模块风险性预测模型 首先介绍常用的神经网络的软件模块风险性预测模型,然后描述学习矢量量化神经 网络的算法,并给出本章使用的基于l v q 神经网络的软件模块风险性预测模型。然后, 在模型上进行实验,得出了比基于b p 神经网络的软件模块风险性预测模型更好的预测 结果。本章提出的模型高风险性模块错误预测率为4 3 4 ,而基于b p 神经网络的软件 模块风险性预测模型的高风险性模块错误预测率为8 6 9 0 , 6 ,预测的准确度提高了1 倍; 本章提出的低风险性模块预测错误率为3 2 3 ,而基于b p 神经网络的软件模块风险性 预测模型的低风险性模块错误预测率为1 6 1 3 。预测准确度提高了4 倍。错误率越低, 表示模型越好,预测的精确度更好。本章提出的模型的性能更好。 第四章基于p c a 一小波神经网络的软件质量预测模型 首先给出介绍了现存的一些神经网络的软件质量预测模型,然后介绍了主要成分分 析方法、遗传算法、小波分析和小波神经网络,提出了g a - - w n n 算法,并且提出了 基于p c a 一小波神经网络的软件质量预测模型。然后,在模型上进行实验,本章提出的 模型在平均绝对误差、平均相对误差、最小绝对误差、最小相对误差、最大绝对误差和 最大相对误差六个参数方面都要比基于b p 神经网络的软件质量预测模型与基于g r n n 神经网络软件质量预测模型有更好的实验结果。实验结果表明基于p c a 一小波神经网络 的软件质量预测模型在平均绝对误差、平均相对误差、最小绝对误差、最小相对误差 最大绝对误差和最大相对误差六个参数方面都要比基于b p 神经网络的软件质量预测模 6 | i 于o 哺经网培的软件质量援潮模型研究 型 3 3 筇- 3 6 与基于g r n n 神经网络软件质量预测模型1 6 3 】有更好的实验结果。基于p c a 小 波神经网络软件质量预测模型在每次的预测中平均绝对误差只有0 8 1 3 3 ,这个数值是比 较低的,然而基于b p 神经网络软件质量预测模和基于g 心州神经网络软件质量预测模 型的平均绝对误差分别为1 0 9 8 3 和1 0 1 9 7 ,比p c a 一小波神经网络软件质量预测模型 分别高出0 2 8 5 和0 2 0 6 4 。p c a 一小波神经网络软件质量预测模型最大绝对误差为 3 7 0 2 4 ,即发生最大的错误预测模块中的错误个数为3 - 4 个左右,跟基于g r n n 神经网 络软件质量预测模型的效果差不多,达到了良好的预测结果,比基于b p 神经网络软件 质量预测模型最大绝对误差的8 3 7 4 6 低3 6 7 2 2 。在平均相对误差、最小绝对误差,最小 相对误差和最大相对误差参数方面,基于p c a 一小波神经网络软件质量预测模型比基于 b p 神经网络软件质量预测模和基于g r n n 神经网络软件质量预测模型分别低0 2 7 7 9 、 0 0 0 4 8 、0 0 0 4 5 、6 5 6 9 5 和0 1 0 7 6 、0 0 9 3 2 、0 0 5 1 4 、0 4 1 8 。 第五章总结 对全文进行总结,并提出对未来工作的展望。 7 广西大掌弓e 士掌位论文| ;于o e 神经用络的软件质量预调期型研究 第二章软件可靠性与软件质量预测模型 随着计算机系统越来越庞大,它的应用范围越来越广泛,计算机的软件系统也变的 越来越复杂了,这时,软件的可靠性问题就越来越受到人们的关注和重视。在软件开发 的时候势必会产生一些错误,然而一些隐藏的错误也许在不久的将来会出现失效,给人 类带了重大损失。比如,美国空军在6 0 年代后期发生过多次的导弹试射的失败,事后 发现所有的失败都是由于计算机软件的错误而引起的。 本章首先介绍对软件可靠性的概念进行了阐述;其次分别介绍了软件可靠性的主要 研究内容、失效机理、可靠性度量和目前需要解决的一些问题;然后介绍了软件质量预 测模型的概念、软件质量预测模型的特点、软件质量预测模型的建模原理和软件质量预 测模型目前需要解决的一些问题。 2 1 软件可靠性 2 1 1 软件可靠性概念 关于软件可靠性的确切含义,学术界有过长期的争论。曾经有人否认软件具有可靠 性属性,把软件可靠性说成是科学家寻求的一种“神圣梦想”,也有人认为软件的正确 性就是可靠性。现在仍然保持这种偏颇观点的认识已十分罕见。还有一些软件工程专家, 认为软件具有与硬件不同的性质,不宜将硬件可靠性的定义引申到软件领域。经过长期 的争论和研究,1 9 8 3 年美国i e e e 计算机学会对“软件可靠性”正式做出如下的定义: ( 1 ) 在规定的条件下,在规定的时间内,软件不引起系统失效的概率,该概率是系 统输入和系统使用的函数,也是软件中存在的错误的函数:系统输入将确定是否会遇到已 存在的错误( 如果错误存在的话) ; ( 2 ) 在规定的时间周期内,在所述条件下,程序执行所要求的功能的能力。 这个定义随后经美国标准化研究所批准作为美国的国家标准。1 9 8 9 年我国国标 g b t - 11 4 5 7 采用了这个定义。这个定义表明,软件可靠性具有定性的和定量的两层含 义。在强调其定量的含义时,工程上常用软件可靠度来代替软件可靠性。 在上述定义中,我们可以看到这个定义主要集中于时间和条件两项。时间是衡量软 件可靠性的一个非常重要的指标,到目前为止大部分的软件可靠性模型都是与时间有关 的,在估计软件可靠性时用到的时间标准包括日历时间、执行时间和c p u 时间三种。 日历时间是指我们通常意义上的年、月、日;执行时间是指从程序开始运行到运行结束所 耗用的时间;c p u 时间与前两者相比则具有非常明显的不同,它是程序实际占用的c p u 的时间,是一种绝对的时间。与时间这一要素相同,条件也是不可缺少的。定义中的条 件是指环境条件,包括系统的存储、运行、操作系统、外设以及外部环境因素等等。软 8 广西大学口嚣士掌位雠叼屯| l 于o 哺经罔群 的软件质量瓤谢,模型研究 件可靠性是软件诸多质量属性中最为重要的一个属性。软件的可靠性与软件的缺陷是密 切联系在一起的。在软件开发中花费大量的人力、物力等资源用于发现和修正缺陷以最 大限度地满足用户需求,而软件可靠性则描述了软件功能满足用户需求的程度。 2 1 2 软件可靠性的主要研究内容 软件可靠性研究的主要目的就是保证和提高软件可靠性,因此,在软件可靠性研究中 首先要搞清楚软件为什么会出现故障或失效,这样,才能在软件开发过程中尽可能避免导 致软件失效的原因,从而开发出高质量的软件。其次,为了保障软件的高可靠性,在软件的 设计、开发、研制中应遵从什么规范要求也是软件可靠性研究的一个重要方面。第三, 对于已开发的软件如何检验它是否满足可靠性要求。这便涉及到软件可靠性数据的收集、 处理软件的测试、软件可靠性模型的建立、软件可靠性的预测等问题的研究。最后,从 软件工程经济学的观点出发,考虑软件的可靠性与软件的测试、维护、管理费用之间的权 衡问题,也是软件可靠性研究的一项内容。软件可靠性模型主要是用来定量估计或预测软 件可靠性的,但现有的软件可靠性模型均有一定的假设。如何使建立的软件可靠性模型更 符合实际的软件失效过程? 在众多的软件可靠性模型中,如何选择一个更恰当的模型来 评价一个软件的可靠性? 对现有的软件可靠性模型如何评价它们的有效性和预测能力? 这是软件可靠性研究的另一主要内容。 2 1 3 软件的失效机理 理清软件失效的前因后果是提高软件可靠性的基础。首先介绍与软件失效机理相关 的几个概念。 ( 1 ) 软件错误( s o r w a r ce n d r ) 。是指在软件生存期内出现的不期望或不可接受的人 为差错,其结果会导致产生软件缺陷。软件错误是人们在软件开发活动中不可避免的一 种行为过失,相对软件本身是一种外部行为。 ( 2 ) 软件缺陷( s o f t w 戤d e f e c t ) 。是存在于软件中的那些不期望的或不可接受的偏 差,其结果是当软件运行于某一特定条件时将出现软件故障( 即软件缺陷被激活) 。软件 缺陷以一种静态的形式存在于软件的内部,是软件开发过程中人为错误的结果。 ( 3 ) 软件故障( s o f t w 盯ef a i i l o ) 。指在软件运行过程中出现的一种不期望的或不可 接受的内部状态,此时若无适当措施加以处理( 例如容错) 就会产生软件失效。软件故障 是一种动态行为,是软件缺陷被激活后的表现形式。 ( 4 ) 软件失效( s o f i w 孤ef a i l u r e ) 。指软件对要求行为的偏离,是软件运行时产生的 一种不期望的或不可接受的外部行为结果。“失效”是动态产生的,必须通过执行程序 才会发现失效。 在某种意义上讲,软件缺陷和软件失效代表了软件的两个不同层次的问题。软件缺 陷是软件的内部问题,是软件开发人员能够察觉到的问题;软件失效是软件的外部问题, 是用户能够察觉到的问题。软件的失效机理可以形象地描述为:人为错误一软件缺陷一软 9 广西大掌硕士学啦论文| l 于o 啸经网络的软件曩r h 瞳翊i 稠霉0 研究 件故障一软件失效。 2 1 4 软件可靠性度量 软件可靠性度t 是表征软件可靠性的最度。它有多种不同的表述方法,例如:软件可 靠度、软件可用性、软件故障率、平均失效时间、平均修复时间等。 ( 1 ) 软件可靠性( s o f t w a r er e l i a b i l i t y ) 。指软件在规定的运行环境中和规定的时间内 无失效运行的概率。所以它是时间,的函数,我们用r 来表示。 假设置御代表在时间m 砂之间的软件可靠性,尸倒代表事件e 的概率,则软件可靠 性表示为: r 何= p 在时间m 玎内按规定条件运行成功 ( 2 ) 软件故障率( f a i l u r er a t e ) 。由上可见,可靠性与软件内部的故障密切相关。所 谓故障就是与软件需求不一致的地方,故障率就是指在单位时间软件发生故障的概率 ( 用2 表示) 。它和软件可靠性的关系可以表示如下: d r ( t ) a ( r ) ;卫 胄( f ) 。 r ( t ) = e x p ( - i a ( t ) d t ) 或者

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论