19软件可靠性模型研究综述_王二威
软件可靠性分析与测试技术研究

软件可靠性分析与测试技术研究随着软件技术的不断发展,越来越多的软件涌现出来,走进我们的日常生活中。
然而,软件可靠性一直是软件行业中的核心问题。
软件在应用中即使出现一些小问题,都可能给用户带来极大的损失,因此软件可靠性分析与测试技术的研究变得越来越重要。
1. 什么是软件可靠性分析?软件可靠性是指软件系统能在规定的时间、规定的环境下以规定的功能精度而连续工作的能力。
为了保证软件的可靠性,在软件生命周期的不同阶段应当进行可靠性分析,也就是在设计、编码、测试、维护等阶段中进行分析。
可靠性分析主要包含两个方面:可靠性预测和可靠性评估。
可靠性预测是在软件开发的早期,通过建立数学模型进行预测,估计软件的可靠性。
在预测的过程中,通常会考虑到软件的复杂度、硬件环境、开发人员水平等因素。
可靠性评估则是在软件开发后,通过各种测试和分析方法来评估软件的可靠性。
2. 软件可靠性测试技术软件可靠性测试是软件测试中的一个重要分支,它是为了发现和争取错误,提高软件的可靠性而进行的测试。
下面介绍一些常用的软件可靠性测试技术。
2.1 代码静态分析代码静态分析是通过对软件代码进行静态分析,以确保软件的正确性和可靠性。
静态分析通常是通过检查代码中潜在的问题来进行的,如可能导致缓冲区溢出的代码、使用未初始化的变量或函数等问题。
代码静态分析工具已经成为软件行业中的常规工具之一。
2.2 黑盒测试黑盒测试是一种基于软件功能的测试方法。
该测试方法主要侧重于对软件的输入和输出数据进行测试,以确保软件的正确性和可靠性。
在黑盒测试过程中,测试人员并不需要了解软件的内部结构和实现方式。
2.3 白盒测试白盒测试是通过检查软件的内部实现来测试软件的可靠性。
在白盒测试中,测试人员通常会检查软件的条件和分支结构、循环结构和异常处理操作等细节。
通过这些细节的检查,测试人员可以确定软件中的潜在问题。
2.4 模型验证模型验证是一种基于建模的测试方法。
在这种测试方法中,模型验证器通常会比较软件模型和规范模型之间的差异。
软件可靠性研究及其应用

软件可靠性研究及其应用软件可靠性是指软件在给定的条件和一定时间内具有稳定的性能和安全性的能力。
软件可靠性不仅是软件开发过程中的一个重要指标,也是软件应用、维护和升级的关键因素。
本文将介绍软件可靠性研究的背景、内容、方法和应用。
一、背景软件已经成为现代社会最为重要的基础设施之一,其在诸多领域的应用越来越广泛。
然而,与此同时,软件所带来的危机也逐渐显现。
由于软件的复杂性和抽象性,软件本身具有不确定性和难以预测性,造成了软件的错误、故障、漏洞等问题的频繁发生,日益对软件的可靠性和安全性提出了更高的要求。
软件可靠性研究的兴起,是为了应对软件危机,提高软件可靠性和安全性,保障软件应用的稳定和持续。
随着软件工程领域的不断壮大和发展,软件可靠性研究已成为软件工程的核心技术之一。
二、内容软件可靠性研究主要包括以下内容:1、可靠性模型:可靠性模型是一种数学模型,用于描述软件系统的可靠性和故障率等参数,以便分析和评估软件系统的可靠性。
可靠性模型包括统计模型、物理模型、分析模型等。
2、可靠性评估:可靠性评估是用定量的方法评价软件系统的可靠性和安全性,包括可靠性分析、故障树分析、失效模式和影响分析等。
3、软件测试:软件测试是验证软件可靠性和安全性的基本手段,涵盖单元测试、集成测试、系统测试、验收测试等。
4、故障定位和修复:故障定位是识别和定位软件中的故障,修复是根据故障定位的结果,对软件的故障进行修复和改进,以提高软件的可靠性和安全性。
三、方法软件可靠性研究的方法主要包括:1、建模方法:建模是软件可靠性研究的重要手段之一,建模方法可以采用数学建模、统计建模、物理建模等多种方式。
2、仿真方法:仿真是软件可靠性分析和评估的常用方法之一,主要包括蒙特卡罗仿真、离散事件仿真、连续系统仿真等。
3、统计方法:统计方法广泛应用于软件可靠性测试和评估中,以分析和统计出软件的故障率、平均故障间隔时间、可用性等指标。
4、检测方法:检测方法是对软件进行代码级别的检测和分析,以发现软件中的缺陷和错误,包括静态代码分析、动态代码分析等。
基于模型的软件可靠性研究

基于模型的软件可靠性研究随着计算机技术的不断发展,软件已经成为了现代人们生活和工作中必不可少的一部分。
然而,随着软件规模的不断扩大,软件可靠性问题也变得越来越重要。
因此,研究基于模型的软件可靠性研究成为了当前重要的研究方向。
一、软件可靠性的概念软件可靠性是指软件在特定的条件下,能够执行其规定的功能,而不出现故障,并在规定的时间内为用户提供正确的结果的能力。
软件可靠性与软件质量密切相关,也是软件质量的重要组成部分。
二、基于模型的软件可靠性研究方法基于模型的软件可靠性研究方法是一种比较常用的软件可靠性研究方法,其本质是建立数学模型,通过分析模型,预测软件在实际使用过程中的可靠性。
目前,基于模型的软件可靠性研究方法包括三种主要方法:可靠性建模法、可靠性测试法和可靠性分析法。
1、可靠性建模法可靠性建模法是一种通过建立可靠性模型来预测软件可靠性的方法。
可靠性模型可以是概率模型、统计模型或者物理模型等。
其中,概率模型是一种用于计算软件可靠性的常用模型,其基本思想是将软件可靠性问题转化为概率问题,通过计算概率来预测软件可靠性。
2、可靠性测试法可靠性测试法是一种通过执行一系列测试用例来评估软件可靠性的方法。
可靠性测试法主要包括两种方法:基于故障注入的可靠性测试和基于负载的可靠性测试。
其中,基于故障注入的可靠性测试是一种在软件中人为地注入故障,然后通过对故障进行分析,评估软件可靠性的方法。
基于负载的可靠性测试是一种在不同的负载条件下测试软件的可靠性,并通过负载试验结果预测软件在不同负载下的可靠性。
3、可靠性分析法可靠性分析法是一种通过数据分析来预测软件可靠性的方法。
可靠性分析法主要包括两种方法:失效率分析法和故障树分析法。
失效率分析法是一种用于分析软件失效率的方法,其基本思想是通过对软件运行时的失效率进行统计分析,从而评估软件的可靠性。
故障树分析法是一种用于分析软件故障的方法,其基本思想是将软件故障看作是故障树的叶子节点,通过对故障树进行分析,找出造成软件故障的根本原因,最终评估软件的可靠性。
基于隶属度的软件可靠性综合预测方法

基于隶属度的软件可靠性综合预测方法王二威;侯福均;郑述招【摘要】Concerned combination concept and change-point idea, a new multi-model prediction method for software reliability based on fuzzy membership was proposed. Firstly, general description of the multi-model prediction problem was expounded, and evaluation crit%将多模型综合的思想和“变点”思想相结合,给出了一种简单有效且具有普适性的软件可靠性预测方法——基于模糊隶属度的软件可靠性多模型综合预测方法。
首先阐述了多模型综合预测问题的一般描述,并介绍了模型评价准则,然后给出了单个模型权重的确定方法和该方法的一般步骤,最后用实际数据验证了方法的有效性及普适性。
【期刊名称】《微型机与应用》【年(卷),期】2011(030)015【总页数】5页(P4-7,11)【关键词】软件可靠性;模糊隶属度;多模型综合【作者】王二威;侯福均;郑述招【作者单位】北京理工大学珠海学院管理与经济学院,广东珠海519085;北京理工大学管理与经济学院,北京100081;北京理工大学珠海学院管理与经济学院,广东珠海519085【正文语种】中文【中图分类】TP311软件的普遍应用促进人们对其可靠性的关注,到目前为止软件可靠性的研究取得了很大的成果,提出了近百种软件可靠性预测模型,如JM模型、GO模型、NHPP 模型、LV模型等,并称此类模型为经典模型。
但是单个经典模型存在很大的局限性,对于一个软件可靠性的评估往往很难用一个模型来处理,而且很多软件可靠性模型都是建立在概率分布假设的基础上,这就造成对一个软件有很好的适用性而对其他的软件则效果很差[1]。
软件可靠性模型应用策略研究的开题报告

软件可靠性模型应用策略研究的开题报告一、研究背景随着现代社会对高质量软件的需求不断增加,软件可靠性成为了软件工程领域中的一个关键问题。
软件可靠性模型是评估软件可靠性的重要手段之一,其主要作用是对软件在特定运行环境下的可靠性进行分析和预测,帮助软件工程师准确评估软件可靠性。
虽然已经有很多软件可靠性模型被提出,但这些模型在实际应用中存在一些问题,如模型的适用性受到数据质量和环境因素的影响,以及某些模型过于复杂而难以应用等。
因此,针对这些问题,需要进一步探索软件可靠性模型的应用策略,提高软件可靠性的评估精度。
二、研究目的与意义本研究旨在探究软件可靠性模型的应用策略,提高软件可靠性的评估精度。
具体目标包括:1. 对现有软件可靠性模型进行总结和归纳,分析其优缺点和适用范围。
2. 研究软件可靠性模型的应用策略,包括数据采集、数据处理、模型选择等环节。
3. 针对不同的应用场景,选择合适的软件可靠性模型,并进行实验验证。
通过本研究,可以有效改善现有软件可靠性评估模型的局限性,提高软件的可靠性和稳定性,提高软件工程的质量和效率。
三、研究方法本研究将采用文献调研和实验验证相结合的方法。
首先,对现有的软件可靠性模型进行文献调研和总结,并分析其优缺点和适用范围。
然后,根据现有的软件可靠性模型,结合实际应用场景,研究软件可靠性模型的应用策略,包括数据采集、数据处理、模型选择等环节。
最后,选择合适的软件可靠性模型,并进行实验验证,以检验所提出的应用策略的有效性和可行性。
四、预期成果本研究的预期成果包括:1. 理论方面:总结和归纳现有软件可靠性模型的优缺点和适用范围,提出软件可靠性模型应用策略。
2. 实践方面:根据现有软件可靠性模型和应用策略,选择合适的软件可靠性模型,并进行实验验证。
3. 社会意义:提高软件可靠性评估的精度,增强软件质量和稳定性,对于社会经济发展具有重要意义。
五、研究计划本研究的时间进度计划如下:第一年:1. 对现有软件可靠性模型进行总结和归纳,分析其优缺点和适用范围。
软件可靠性及测试技术研究

软件可靠性及测试技术研究一、背景介绍随着信息技术的持续发展,软件已经渗透到了我们生活中的方方面面,软件的可靠性成为了一个最基本的要求。
正是由于软件的特殊性质,软件可靠性是一项极其艰巨的任务。
如何保证软件的可靠性呢?这需要我们精细的测试技术的支持。
本文将介绍软件可靠性及测试技术方面的研究成果,以期为软件开发和测试提供参考。
二、软件可靠性的定义和实现软件可靠性是指在规定的时间内,软件保证正常运行的概率。
在实际应用中,软件通常要经历从开发到维护的整个生命周期,因此,如何保证软件的可靠性成为了软件工程师需要考虑的重要问题。
要实现软件可靠性,我们需要从以下几个方面进行分析思考:(1)要求明确软件在开发的过程中,需要依据一系列用户需求进行开发。
这要求我们必须对需求进行准确明确的定义和描述,避免出现模糊或者不完整的情况。
(2)设计合理在软件开发过程中,设计可能是影响可靠性的最重要因素之一。
设计时需要认真分析和处理各种情况,尽量避免潜在的错误或风险。
(3)编程质量编写高质量的代码是保证软件可靠性的基础。
这需要代码的准确性、正确性、可读性以及可维护性等各方面考虑。
(4)测试验证在软件开发完成后,需要对软件进行各类测试验证。
这需要开发测试用例、利用各种测试技术,发现并排除软件中出现的问题,保证软件的稳定性和可靠性。
三、软件测试技术的应用软件测试是保证软件可靠性的重要手段。
测试的目的是为了发现和排除潜藏的错误,保证软件正常运行。
本节将简单介绍几种常用的软件测试技术。
(1)黑盒测试黑盒测试是一种基于需求规格说明文档的测试方法。
测试人员针对需求文档进行测试,不考虑代码内部结构和逻辑,只考虑系统对外的输入和输出。
(2)白盒测试白盒测试是基于代码内部结构的测试方法,也称为结构测试。
测试人员可以通过代码结构设计测试用例,并通过代码的覆盖率来评估测试结果。
(3)灰盒测试灰盒测试是黑盒测试和白盒测试的结合,同时考虑外部输入和输出的同时,也考虑代码架构、逻辑和实现。
软件测试中的可靠性评估与可用性测试研究

软件测试中的可靠性评估与可用性测试研究随着信息技术的高速发展,软件在人们的日常生活和工作中扮演着越来越重要的角色。
然而,软件错误和故障的发生时有所闻,给用户带来不便甚至造成损失。
因此,软件测试中的可靠性评估和可用性测试成为了研究的热点。
本文将探讨软件测试中的可靠性评估方法和可用性测试的研究现状。
一、软件测试中的可靠性评估1. 可靠性评估概述可靠性是衡量软件系统连续无故障运行的能力,也是用户对软件系统的满意度的重要指标之一。
在软件测试过程中,评估软件的可靠性显得尤为重要。
可靠性评估主要包括以下几个方面的内容:1)错误挖掘与修复:通过持续的测试和错误挖掘,发现软件系统中的错误,然后进行修复。
2)可靠性分析和建模:通过收集数据和分析软件系统的故障率、故障模式等信息,建立适当的可靠性模型。
3)可靠性预测和评估:根据建立的可靠性模型,预测和评估软件系统在特定环境中的可靠性表现。
2. 可靠性评估方法在软件测试中,有多种可靠性评估方法可供选择。
其中一些常用的方法包括:1)故障注入法:通过在软件系统中有意地引入故障,然后观察和分析系统的反应,来评估软件的可靠性。
2)可靠性增长模型法:基于软件故障数据,建立可靠性增长模型,预测软件系统可靠性的改进情况。
3)可靠性测试法:通过设计和执行一系列测试用例,以验证系统在长期运行过程中的可靠性。
以上仅是几种常见的可靠性评估方法,不同的方法适用于不同的测试场景和需求。
在实际测试工作中,测试团队需要根据具体情况选择合适的评估方法。
二、可用性测试研究现状1. 可用性测试概述可用性是软件系统能够被用户有效和高效地使用的程度。
可用性测试旨在评估软件系统的易用性和用户满意度,以提供对软件系统的改进建议。
常见的可用性测试内容包括:1)用户体验测试:通过邀请用户参与测试,观察用户在使用软件系统过程中的交互体验,并收集反馈意见。
2)界面测试:主要关注软件系统的用户界面是否符合用户的使用习惯,是否直观易懂。
软件可靠性模型研究综述

软件可靠性模型研究综述作者:王二威来源:《软件工程》2016年第02期摘要:本文对软件可靠性经典模型、模型选择、普适模型的研究进行了归纳和述评,提出了软件可靠性综合预测框架,给出了软件可靠性综合预测进一步的研究方向。
关键词:软件可靠性;经典模型;综合预测;框架研究中图分类号:TP311 文献标识码:A1 引言(Introduction)软件已经成为影响国民经济、军事、政治乃至社会生活的重要因素。
自20世纪60年代“软件危机”出现之后,越来越多的学者开始关注软件可靠性的定量评估和预测。
软件可靠性覆盖整个软件开发过程,与软件工程密切相关,它源于工程,又服务于工程。
在新技术、新应用(如web软件、移动APP等等)不断涌现的当前,重新审视软件开发和应用环境,开展软件可靠性预测研究,有助于推动软件工程项目的实践,降低软件错误率,提升软件质量,从而保障软件所支撑的工程项目的高效完成,推动我国软件产业的持续发展。
本文对软件可靠性模型研究的相关文献进行了梳理,对前人的研究成果进行了归纳,构建了新计算范式下软件可靠性综合预测框架,提出了软件可靠性综合预测的研究方向。
2 经典软件可靠性模型(Classical software reliabilitymodel)软件可靠性建模的基本方法是:以历史失效数据为基础,对软件失效规律进行趋势拟合,进而预测未来的失效可能。
早期软件可靠性的研究是基于概率统计的思想,将软件失效过程看作一个随机过程,从Hudson的工作开始,到1971年J-M模型的发表,再到今天,已公开发表了几百种模型[1](此类模型称之为“经典模型”)。
经典模型存在两个明显的缺陷:第一,在对软件可靠性进行评估预测时都有些固定不变的假设,而这些假设无从证明;第二,模型只考虑输入的随机性,而软件在实际运行时却可能受到各种随机因素影响,使得软件失效出现的情况比较复杂多变。
而用某一个固定的失效模式去解释复杂多变的情况,显然是不合适的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件可靠性模型研究综述王二威(北京理工大学珠海学院,广东 珠海 519088)摘 要:本文对软件可靠性经典模型、模型选择、普适模型的研究进行了归纳和述评,提出了软件可靠性综合预测框架,给出了软件可靠性综合预测进一步的研究方向。
关键词:软件可靠性;经典模型;综合预测;框架研究 中图分类号:TP311 文献标识码:AReview of Research on Software Reliability ModelsWANG Erwei(Beijing Institute of Technology ,Zhuhai ,Zhuhai 519088,China )Abstract:In this paper,the classical model of software reliability,model selection,and the research of the universal model were summarized and reviewed.The framework of software reliability comprehensive prediction was proposed.The further research directions of software reliability comprehensive prediction were proposed.Keywords:software reliability;classical model;comprehensive prediction;framework research文章编号:2096-1472(2016)-02-01-021 引言(Introduction)软件已经成为影响国民经济、军事、政治乃至社会生活的重要因素。
自20世纪60年代“软件危机”出现之后,越来越多的学者开始关注软件可靠性的定量评估和预测。
软件可靠性覆盖整个软件开发过程,与软件工程密切相关,它源于工程,又服务于工程。
在新技术、新应用(如web软件、移动APP等等)不断涌现的当前,重新审视软件开发和应用环境,开展软件可靠性预测研究,有助于推动软件工程项目的实践,降低软件错误率,提升软件质量,从而保障软件所支撑的工程项目的高效完成,推动我国软件产业的持续发展。
本文对软件可靠性模型研究的相关文献进行了梳理,对前人的研究成果进行了归纳,构建了新计算范式下软件可靠性综合预测框架,提出了软件可靠性综合预测的研究方向。
2 经典软件可靠性模型(Classical software reliability model)软件可靠性建模的基本方法是:以历史失效数据为基础,对软件失效规律进行趋势拟合,进而预测未来的失效可能。
早期软件可靠性的研究是基于概率统计的思想,将软件失效过程看作一个随机过程,从Hudson的工作开始,到1971年J-M模型的发表,再到今天,已公开发表了几百种模型[1](此类模型称之为“经典模型”)。
经典模型存在两个明显的缺陷:第一,在对软件可靠性进行评估预测时都有些固定不变的假设,而这些假设无从证明;第二,模型只考虑输入的随机性,而软件在实际运行时却可能受到各种随机因素影响,使得软件失效出现的情况比较复杂多变。
而用某一个固定的失效模式去解释复杂多变的情况,显然是不合适的。
实践证明,经典模型的应用存在不一致性的问题,对一个软件有很好的适用性而对其他的软件则效果很差[2,3],此外预测精度也不够理想。
针对经典模型的不一致性问题,研究者们从两个方面开展了进一步的研究:一是设计一套行之有效的模型选择方法,能够让工程人员从众多的软件可靠性经典模型中选择出最适合实施项目的模型,二是建立一个普适模型。
3 模型选择的研究(Research on model selection)模型选择策略基本可以归纳为两类:一类是基于模型假设与软件环境的相似性,一类是基于对历史失效数据预测性能的评价。
(1)基于模型假设与软件环境的相似性的模型选择。
Andersson、Goel、Sharma等人分别提出了模型假设相似性来选择合适模型的方法[4],基于假设矩阵的模型选择技术实践结果也并不理想[5]。
(2)基于对历史失效数据预测性能的评价。
该类策略的模型选择技术依赖于对模型预测性能的评价,1983年,Musa 等人提出了“预测有效性、模型能力、假设质量、模型适用性、简单性”等五个软件可靠性模型评价准则,在学术界获得了较大范围的认可。
之后的研究人员不断拓展软件可靠性的影响变量范围,提出了模型拟合性、模型偏差、模型偏差趋势、覆盖度、预测数量、模型噪声等等众多的评价准则,力图从多个角度对软件可靠性模型进行评价。
关于采用何种评价方法来选择模型,一是基于数据挖掘、机器学习的方法[6],汪浩等人提出了基于聚类思想的软件可靠性模型选择,吴勤、吴晨、朱磊等人采用Kohonen网络、BP神经网络、决策树等方法对汪浩等人的研究成果进行了改进,在一定程度上提高了分类系统的准确性,李克文等软件工程 SOFTWARE ENGINEERING 第19卷第2期2016年2月V ol.19 No.2Feb. 20162 软件工程 2016年2月人提出了基于时间序列的模型选择方法[6];二是基于多属性决策理论的方法[4],张永强等人根据可测空间中未确知集合理论来综合评价准则,Asad等人提出基于软件开发的生命周期,不同的阶段采用不同的评价准则进行模型选择,还需要考虑各个评价准则的相对重要程度;田涛等人采用模糊综合评判法来综合主观权重集和客观因素集,马飒飒等人则采用熵权法对评价准则客观值和专家主观偏好权重进行综合。
模型选择的研究能够针对某一项目选择合适的预测模型,一定程度上解决了经典模型的不一致性问题。
然而,依靠模型选择来进行软件可靠性预测有较大局限,即其预测能局限于候选模型的预测性能,而且,Littlewood Bev通过研究提出了“变点”的思想,认为(在一个失效数据集中)从失效1至失效20大致可以用一个模型来描述,从失效21至失效60大致可以用另一个模型来描述。
这表明不能期望用某一个或两个经典模型来描述软件的整个失效过程。
4 普适模型的研究(Research on universal model)进入21世纪,越来越多的学者将最新的理论研究成果,如:神经网络、支持向量机、灰色理论、混沌理论、粒子群等,应用于软件可靠性的建模和优化,产生了许多新的预测方法。
尤其是基于神经网络和支持向量机的方法,取得较好的成果和预测效果[7-12]。
该类方法模型多聚焦于短期预测(next-step),对于长期预测(long-term)仍需更进一步的研究。
香港中文大学的Michael Lyu在大量数据实验的基础上得出:将多个经典模型进行综合预测一般比单个经典模型的预测效果更好,且抗数据“噪声”能力强,不但对短期预测有效,长期预测效果尤为明显。
所以多模型综合精度更高,稳健性更好。
研究者先后提出用贝叶斯方法、聚类方法、神经网络、时间序列、模糊数学、泛函网络等用于软件可靠性综合预测,取得良好的效果[13-16]。
5 综合预测框架及进一步研究方向(Comprehensive prediction framework and further research direction)综合多个经典模型的预测性能是解决经典模型不一致性问题的一个很好的思路。
但存在如下问题:(1)待综合的单个经典模型多数是根据主观经验确定或直接指定,对于选择哪些经典模型进行综合缺乏深入的研究。
(2)在对多个经典模型进行综合预测过程中赋权是一次性,导致仍然存在“变点”影响预测精度,缺乏对动态赋权策略的研究。
(3)对多个经典模型进行综合预测的策略多数是线性的,对于非线性综合有待进一步的研究。
可以将软件故障过程看作一个不确定系统,利用不确定理论、技术和方法对此不确定系统进行分析,构建软件可靠性综合预测框架:包括经典模型的评价准则及方法、待综合的经典模型选择的方法、经典模型综合的方法、综合模型的验证与应用,如图1所示。
图1 软件可靠性综合预测框架Fig.1 The framework of software reliabilitycomprehensive prediction经典模型评价:通过对已有软件可靠性模型评价准则的梳理,建立准则库,分析不同准则之间的相关程度,并根据实际需要建立准则集,不同准则集保持相对独立。
模型选择策略:主要采取数据驱动式模型选择。
将经典模型划分成乐观预测模型集和悲观预测模型集,根据一定的评价准则,采用决策树、集团序等方法分别从乐观预测模型集和悲观预测模型集中选择排序最靠前的模型参与综合预测。
综合策略与方法:根据预测时间要求,分为短期预测(next-step)和长期预测(long-term)两种综合策略;根据算法性质,分为线性综合和非线性综合两种策略。
这两种策略基本可以满足不同软件不同环境的要求。
线性综合涉及不同方法下的赋权问题,静态权重适合长期预测,动态权重通过不断感知软件环境的变化更新权重信息,能够很好解决“变点”问题,提高短期预测的精度。
非线性综合可采用神经网络、遗传算法、泛函网络等基于知识的方法在软件可靠性预测中的应用,但这些方法存在“过度学习”的风险,不适合长期预测。
6 结论(Conclusion)结合不确定理论、技术和方法,为软件可靠性预测研究提供了新的思路。
本文对经典随机过程模型进行了梳理,对解决经典模型不一致性问题的模型选择和普适模型研究进行了述评,指出了综合预测仍存在的问题,提出了综合预测研究框架和进一步的研究方向,为软件可靠性研究提供新的路径。
参考文献(References)[1] 徐仁佐.软件可靠性工程[M].北京:清华大学出版社,2007:1-3.[2] Amin,A.,Grunske,L.,Colman,A..An approach to softwarereliability prediction based on time series modeling[J].Syst. Softw,2013,86:1923-1932.[3] Raj Kiran,N.,Ravi,V..Software reliability prediction by soft computing techniques[J].Syst.Softw,2008,81:576-583.(下转第57页)图2 课程设置思路Fig.2 Thinking of curriculum settings4 结论(Conclusion)系统能力是近年计算机教育有深度的总结性认识,各个高校都提出了一些探索性的方案,只有全面认识已经在实践的学校方案(最好去参加培训),多比较他们的方案。