一种复杂软件系统失效预测方法技术方案

技术编号:26790657 阅读:29 留言:0更新日期:2020-12-22 17:05
本发明专利技术公开了一种复杂软件系统失效预测方法,从复杂软件系统的状态和行为特征出发,分析并提取复杂软件系统失效表征度量元,寻找复杂软件系统发生失效前系统内部和外部所表现出来的表征规律,获得表征规律产生的根本原因,建立失效预测模型,实现复杂软件系统的失效预测,从而为系统运行时健康管理提供基础,避免系统失效行为的发生,保证系统的可信运行。

【技术实现步骤摘要】
一种复杂软件系统失效预测方法
本专利技术涉及软件可靠性
,更具体的说是涉及一种复杂软件系统失效预测方法。
技术介绍
随着计算机软件技术的高速发展,各类软件系统层出不穷,系统完成的功能呈日渐增长的趋势,系统与其它系统、设备、传感器、人的交互日益密切,因此形成了复杂软件系统的概念。这些复杂软件系统一旦发生失效,将会造成巨大的损失。在传统的软件工程和系统工程中,主要通过验证和确认(V&V)来确保复杂软件系统在部署前达到近似零失效并且严格遵从了需求的状态,从而保证系统的可信运行。然而经验表明,在实践中,系统根本无法达到这种近似无失效的状态。要预测并防止复杂软件系统发生失效,首先要明白什么是失效,为什么会发生失效,系统发生失效前是什么样的状态和行为,是系统的哪些行为在什么环境下、触发了什么样的条件才导致了失效。只有解决软件失效表征规律和失效机理问题,才能准确、有效的对复杂软件系统失效进行预测。失效表征是指与失效有关联的一些状态和行为特征的表述,它是反应系统是否发生失效的一类度量元。失效表征规律是指失效表征度量元与失效类型间的相关性。失效机理是指由于人为错误在代码中引入缺陷,缺陷在一定条件下成为故障,故障在运行状态下被激活成为失效的机理过程。关于失效表征,现有技术主要集中在代码和开发过程上,对于系统在时间/空间、整体/局部、软件/硬件等维度的状态和行为特征分析还比较欠缺。在失效机理的研究中,现有技术未能考虑软硬件交互行为、动态的运行时信息,未针对复杂软件系统新特征导致的失效进行全面的机理分析,导致失效机理分析不合理、不充分,进一步影响复杂软件系统失效预测的准确性。因此,如何利用失效表征规律对复杂软件系统中即将发生的失效进行准确的失效预测是本领域技术人员亟需解决的问题。
技术实现思路
有鉴于此,本专利技术提供了一种复杂软件系统失效预测方法,从复杂软件系统的状态和行为特征出发,分析并提取复杂软件系统失效表征度量元,寻找复杂软件系统发生失效前系统内部和外部所表现出来的表征规律,获得表征规律产生的根本原因,建立失效预测模型,实现复杂软件系统的失效预测,从而为系统运行时健康管理提供基础,避免系统失效行为的发生,保证系统的可信运行。为了实现上述目的,本专利技术采用如下技术方案:一种复杂软件系统失效预测方法,包括以下具体步骤:步骤1:多维度分析复杂软件系统的状态和行为特征,提取失效度量元信息;步骤2:根据所述失效度量元信息构建失效表征知识库;步骤3:基于所述失效表征知识库构建所述复杂软件系统的失效表征规律集合,通过多远回归模型定量分析和失效原因定性分析获得所述复杂软件系统的失效机理;步骤4:基于所述失效表征规律集合和所述失效表征知识库构建所述复杂软件系统的失效预测模型;步骤5:将待检测复杂软件系统的软件缺陷数据输入所述失效预测模型获得预测结果。优选的,软件失效类型主要分为功能失效和性能失效,所述多维度分析包括内部/外部、时间/空间、整体/局部和软件/硬件四个维度。优选的,所述步骤2中根据所述失效度量元信息,从国际通用的公开数据集(UCI、weka、AWS、MLC、promise、IBM、NASA等),收集相应的失效数据,如果在开源网站中获取的数据无法满足要求,无法得到能够准确覆盖内部/外部、时间/空间、整体/局部、软件/硬件各维度的失效数据时,则考虑采取与企业合作的方式,分析各个所述失效表征度量元的度量目的、度量方法、度量元解释、度量标度类型、度量数据来源等方面的信息,针对不同的所述复杂软件系统,设计相应的测试用例,通过测试等方式获取所述失效数据,然后通过将失效数据层次化、结构化、组织化处理后,构建所述失效表征知识库。优选的,所述步骤3中基于所述复杂软件系统的所述失效表征数据库,构建所述失效表征规律集合,根据所述失效表征规律集合中失效表征规律之间的关联关系,获得所述失效表征规律产生的根本原因,通过所述多元回归模型定量分析和失效原因定性分析相结合的方法,获得所述复杂软件系统的所述失效机理。优选的,根据所述失效表征规律和所述失效表征知识库,采用KNN、SVM、神经网络和Softmax等算法构建所述失效预测模型;并对所述失效预测模型进行选择与优化,采用机器学习算法进行对比实现选择,通过类不平衡、交叉验证、误差分析等实现优化;对所述失效表征知识库里面的数据进行预处理,包括数据清洗、数据标准化、数据集成和数据离散化等。优选的,在所述步骤5中通过所述失效表征规律集合结合所述失效预测模型进行预测,向所述失效预测模型中输入所述复杂软件系统的带度量元的所述软件缺陷数据,输出数据包括准确率、召回率和误报率,最后输出所述预测结果包括未失效、功能失效、性能失效和均失效。经由上述的技术方案可知,与现有技术相比,本专利技术公开提供了一种复杂软件系统失效预测方法,针对典型复杂软件系统失效预测的需求,获得失效表征规律,利用失效表征规律对复杂软件系统运行中即将发生的失效进行失效预测。从而实现针对复杂软件失效机理的差异化失效预测,提高了软件失效预测的效率和准确率,有效地避免软件失效的发生。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1附图为本专利技术提供的结构示意图;图2附图为本专利技术提供的本专利技术复杂软件系统失效预测方法与普通方法准确度箱图对比示意图;图3附图为本专利技术提供的本专利技术复杂软件系统失效预测方法与普通方法召回率箱图对比示意图;图4附图为本专利技术提供的本专利技术复杂软件系统失效预测方法与普通方法误报率箱图对比示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术实施例公开了一种复杂软件系统失效预测方法,包括以下具体步骤:S1:多维度分析复杂软件系统的状态和行为特征,提取失效度量元信息;软件失效类型主要分为功能失效和性能失效,从包括内部/外部、时间/空间、整体/局部和软件/硬件的四个维度分析进行失效表征获得失效表征度量元,从失效表征度量元中提取失效表征度量元信息;其中失效表征为对复杂软件系统即将发生失效或已经发生失效时,存在的能够被察觉的一些表象属性和参数;S2:根据失效度量元信息构建失效表征知识库;S21:根据失效度量元信息,从国际通用的公开数据集(UCI、weka、AWS、MLC、promise、IBM、NASA等),收集相应的失效数据;S22:判断失效数据是否达到覆盖标准,如果在公开数据集中获取的数据无法准本文档来自技高网
...

【技术保护点】
1.一种复杂软件系统失效预测方法,其特征在于,包括以下具体步骤:/n步骤1:多维度分析复杂软件系统的状态和行为特征,提取失效度量元信息;/n步骤2:根据所述失效度量元信息构建失效表征知识库;/n步骤3:基于所述失效表征知识库构建所述复杂软件系统的失效表征规律集合,通过多远回归模型定量分析和失效原因定性分析获得所述复杂软件系统的失效机理;/n步骤4:基于所述失效表征规律集合和所述失效表征知识库构建所述复杂软件系统的失效预测模型;/n步骤5:将待检测复杂软件系统的软件缺陷数据输入所述失效预测模型获得预测结果。/n

【技术特征摘要】
1.一种复杂软件系统失效预测方法,其特征在于,包括以下具体步骤:
步骤1:多维度分析复杂软件系统的状态和行为特征,提取失效度量元信息;
步骤2:根据所述失效度量元信息构建失效表征知识库;
步骤3:基于所述失效表征知识库构建所述复杂软件系统的失效表征规律集合,通过多远回归模型定量分析和失效原因定性分析获得所述复杂软件系统的失效机理;
步骤4:基于所述失效表征规律集合和所述失效表征知识库构建所述复杂软件系统的失效预测模型;
步骤5:将待检测复杂软件系统的软件缺陷数据输入所述失效预测模型获得预测结果。


2.根据权利要求1所述的一种复杂软件系统失效预测方法,其特征在于,软件失效类型主要分为功能失效和性能失效;所述多维度分析包括内部/外部、时间/空间、整体/局部和软件/硬件四个维度。


3.根据权利要求2所述的一种复杂软件系统失效预测方法,其特征在于,所述步骤2中根据所述失效度量元信息,从公开数据集中收集相应的失效数据;如果获取的所述无效数据无法准确覆盖所述四个维度的失效数据时,则分析各个所述失效表征度量元的度量目的、度量方法、度量元解释、度量标度类型、度量数据来源信息,针对不同的所述复杂软件系统,设定相应的测试用例,通过测试所述测试用...

【专利技术属性】
技术研发人员:吴玉美姚京秀
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1