[发明专利]一种软件故障预测方法有效
申请号: | 201410554598.9 | 申请日: | 2014-10-17 |
公开(公告)号: | CN104331362A | 公开(公告)日: | 2015-02-04 |
发明(设计)人: | 胡晓晔 | 申请(专利权)人: | 宝鸡文理学院 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京科亿知识产权代理事务所(普通合伙) 11350 | 代理人: | 汤东凤;张波涛 |
地址: | 721006 陕西*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 软件 故障 预测 方法 | ||
技术领域
本发明属于计算机技术领域,具体涉及一种软件故障预测方法。
背景技术
软件系统在达到一定规模之后,随着软件的长时间运行,软件系统模块存在“老化”的特点,常常面临各种故障或者失效问题。随着人们对软件系统功能需求的不断增加,软件系统变得越来越庞大和复杂,缺陷和漏洞的发生也随之难以避免。这直接或间接地给人们带来严重的损失。例如,2002年,美国NIST估算其每年因软件失效造成近600亿美元损失,约占其当年GDP的0.6%。
因此,软件系统的可信性问题已经成为业界普遍关注的一个焦点,国内外众多组织机构正致力于解决软件系统面临的安全和可信问题。然而,相关的研究主要关注于软件系统故障的定位,而很少关注对软件系统中的故障或失效进行预测,因为后者涉及多学科领域的知识。
目前,业界亟需对软件系统,尤其是大规模软件系统的故障进行预测的解决方案。
发明内容
针对现有技术的不足,本发明的目的在于提供一种软件故障预测方法,该方法可以适用于大规模软件系统。
为实现以上发明目的,本发明采用以下技术方案:
一种软件故障预测方法,包括以下步骤:
S101、对软件运行过程中的方法执行信息进行监控,并对监控得到的数据进行处理以生成在一个时间段内的方法调用关系图;
S102、对被监控软件进行基本功能块的划分,根据划分结果和所述方法调用关系图生成各个功能块相应的方法调用关系网络;
S103、对软件的动态运行进行持续监控,生成当前功能块在时间片段Δti内系统的方法调用关系网络Gi;
S104、根据动态网络结构演化公式G′i+1=f(Gi,Δti+1)预测被监控软件的当前功能块在下一时间片段内的状态G’i+1;
S105、根据动态网络结构测量公式d=g(G′i+1,Gi+1),对当前功能块在时间片段Δti+1内得到的被监控软件状态Gi+1与预测状态G’i+1的差异进行测量;
S106、如果所测量的差异值超过预定阈值,则确定被监控软件的当前功能块在时间片段Δti+1内发生了故障。
与现有技术相比,本发明具有以下有益效果:可以监控大规模软件系统中每一个时间段内的状态改变,分析所监控软件发生故障的可能性,从而为用户提供系统故障预警信息。本发明的这些和其他方面、特征和优点将通过下面对附图和具体实施方式的描述而变得更加明显。
附图说明
图1是根据本发明实施例的软件故障预测方法流程图;
图2是根据本发明实施例的K-core分解算法流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及示例性实施例,对本发明进行进一步详细说明。应当理解,此处所描述的示例性实施例仅用以解释本发明,并不用于限定本发明的适用范围。
本发明基于以下思想:将大规模软件系统的动态运行信息提取出来,再将软件的动态运行方法调用序列所映射的调用关系进行网络分析,监控网络中每一个时间段内的状态改变,记入每一个状态对应的调用关系网络,进而实现故障与异常的检测。
图1是根据本发明实施例的软件故障预测流程图。如图所示,本实施例的软件故障预测方法包括以下步骤:
S101、对软件运行过程中的方法执行信息进行监控,并对监控得到的数据进行处理以生成在一个时间段内的方法调用关系图(call graph)。
在本实施例中,该步骤可以具体包括:
对软件行为进行持续监控,得到软件运行时的方法执行信息。其中,数据可以以dat文件的格式存储;以及
对监控数据进行处理,通过trace重构来获得软件运行时的方法调用序列,并生成K-core分解之后的调用关系网络。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于宝鸡文理学院,未经宝鸡文理学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410554598.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种富硒指天椒的生产方法
- 下一篇:可折叠的婴儿床