CN116010226A - 软件系统可靠性仿真评估方法、装置和计算机设备 - Google Patents
软件系统可靠性仿真评估方法、装置和计算机设备 Download PDFInfo
- Publication number
- CN116010226A CN116010226A CN202211661705.9A CN202211661705A CN116010226A CN 116010226 A CN116010226 A CN 116010226A CN 202211661705 A CN202211661705 A CN 202211661705A CN 116010226 A CN116010226 A CN 116010226A
- Authority
- CN
- China
- Prior art keywords
- simulation
- module
- software system
- reliability
- parameters
- 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
- 238000004088 simulation Methods 0.000 title claims abstract description 449
- 238000011156 evaluation Methods 0.000 title claims abstract description 51
- 238000000034 method Methods 0.000 claims abstract description 65
- 230000008569 process Effects 0.000 claims abstract description 36
- 238000004590 computer program Methods 0.000 claims abstract description 26
- 239000011159 matrix material Substances 0.000 claims description 39
- 239000013598 vector Substances 0.000 claims description 35
- 230000007704 transition Effects 0.000 claims description 30
- 238000005070 sampling Methods 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本申请涉及一种软件系统可靠性仿真评估方法、装置、计算机设备、存储介质和计算机程序产品。所述方法包括:获取软件系统的属性相关信息;初始化仿真参数,仿真参数至少包括模块调用次数、模块失效次数和仿真时间;进行软件系统仿真模拟,并在仿真模拟过程中更新各仿真参数的值;若累计仿真时间满足预设时间条件,则输出仿真结果参数;返回初始化仿真参数的步骤以进行下一次的软件系统仿真模拟,若连续两次输出的仿真结果参数确定满足仿真精度要求则停止仿真模拟;根据输出的多个仿真结果参数,对软件系统的可靠性进行评估。采用本方法能够提高软件系统的可靠评估的精度。
Description
技术领域
本申请涉及系统测试技术领域,特别是涉及一种软件系统可靠性仿真评估方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
随着软件系统可靠性评估技术的发展,传统技术方案中在对软件系统的可靠性进行评估时,多是通过收集软件可靠性测试或使用中的失效数据,利用统计知识分析其规律,建立一个参数模型,通过对统计分布的参数进行评估,进而实现对可靠性指标的估计。
由于软件体系结构愈发复杂、软件内部交互关系多样,经典的概率统计方法以及面向体系结构的评估方法,在应对复杂软件系统可靠性评估方面,不仅缺乏足够的运行数据支撑,且定量指标的解析计算也较为困难。因此,复杂软件系统可靠性评估还存在评估方法不成熟、实用度不高等问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高软件系统可靠性仿真评估精度的软件系统可靠性仿真评估方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种软件系统可靠性仿真评估方法。所述方法包括:
获取软件系统的属性相关信息,所述属性相关信息包括状态转移矩阵、软件系统中各软件模块的模块失效概率以及模块运行时间,所述状态转移矩阵为表征各所述软件模块之间的调用关系的矩阵;
初始化仿真参数,所述仿真参数至少包括模块调用次数、模块失效次数和仿真时间;
根据所述软件系统的属性相关信息进行软件系统仿真模拟,并在仿真模拟过程中更新各仿真参数的值;
若软件系统仿真模拟的累计仿真时间满足预设时间条件,则根据最新的各仿真参数的值输出仿真结果参数;
返回所述初始化仿真参数的步骤以进行下一次的软件系统仿真模拟,若基于连续两次输出的仿真结果参数确定满足仿真精度要求则停止仿真模拟;
根据输出的多个仿真结果参数,对所述软件系统的可靠性进行评估。
在其中一个实施例中,所述根据所述软件系统的属性相关信息进行软件系统仿真模拟,并在仿真模拟过程中更新各仿真参数的值,包括:
根据所述状态转移矩阵进行仿真抽样,依次随机调用任一软件模块执行仿真,在任一软件模块执行仿真的过程中根据模块失效概率确定被调用的软件模块的可靠度,并更新被调用软件模块的模块调用次数、根据被调用软件模块的可靠度更新模块失效次数、以及根据被调用软件模块的模块运行时间更新仿真时间。
在其中一个实施例中,所述根据被调用软件模块的可靠度更新失效次数,包括:生成随机数;将所述随机数与被调用软件仿真模块的可靠度进行比较;若所述随机数大于所述被调用仿真模块的可靠度,则确定所述被调用仿真模块已失效,则对所述被调用仿真模块对应的模块失效次数进行更新,得到更新后的模块失效次数。
在其中一个实施例中,所述若基于连续两次输出的仿真结果参数确定满足仿真精度要求则停止仿真模拟之前,所述方法还包括:确定前次仿真模拟输出的第一仿真结果参数、以及当次仿真模拟输出的第二仿真结果参数;根据所述第一仿真结果参数、以及前次仿真模拟所对应的仿真次数,计算得到第一失效频率向量;根据所述第二仿真结果参数、以及当次仿真模拟所对应的仿真次数,计算得到第二失效频率向量;基于所述第一失效频率向量和所述第二失效频率向量,确定仿真精度。
在其中一个实施例中,所述根据输出的多个仿真结果参数,对所述软件系统的可靠性进行评估,包括:基于输出的多个仿真结果参数中的各模块调用次数和各模块失效次数,确定所述软件系统的软件系统可靠度;根据所述软件系统可靠度,对所述软件系统的可靠性进行评估。
在其中一个实施例中,所述输出的多个仿真结果参数,对所述软件系统的可靠性进行评估,包括:
根据输出的多个仿真结果参数中的各仿真时间和各模块失效次数,确定所述软件系统的平均故障间隔时间;
根据所述平均故障间隔时间,对所述软件系统的可靠性进行评估。
第二方面,本申请还提供了一种软件系统可靠性仿真评估装置。所述装置包括:
信息获取模块,用于获取软件系统的属性相关信息,所述属性相关信息包括状态转移矩阵、软件系统中各软件模块的模块失效概率以及模块运行时间,所述状态转移矩阵为表征各所述软件模块之间的调用关系的矩阵;
初始化模块,用于初始化仿真参数,所述仿真参数至少包括模块调用次数、模块失效次数和仿真时间;
模拟模块,用于根据所述软件系统的属性相关信息进行软件系统仿真模拟,并在仿真模拟过程中更新各仿真参数的值;
数据更新模块,用于若软件系统仿真模拟的累计仿真时间满足预设时间条件,则根据最新的各仿真参数的值输出仿真结果参数;
处理模块,用于返回所述初始化仿真参数的步骤以进行下一次的软件系统仿真模拟,若基于连续两次输出的仿真结果参数确定满足仿真精度要求则停止仿真模拟;
评估模块,用于根据输出的多个仿真结果参数,对所述软件系统的可靠性进行评估。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述软件系统可靠性仿真评估装置的步骤。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述软件系统可靠性仿真评估装置的步骤。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述软件系统可靠性仿真评估装置的步骤。
上述软件系统可靠性仿真评估方法、装置、计算机设备、存储介质和计算机程序产品,获取软件系统的属性相关信息,属性相关信息包括状态转移矩阵、软件系统中各软件模块的模块失效概率以及模块运行时间,状态转移矩阵为表征各软件模块之间的调用关系的矩阵;初始化仿真参数,仿真参数至少包括模块调用次数、模块失效次数和仿真时间;根据软件系统的属性相关信息进行软件系统仿真模拟,并在仿真模拟过程中更新各仿真参数的值;若软件系统仿真模拟的累计仿真时间满足预设时间条件,则根据最新的各仿真参数的值输出仿真结果参数;返回初始化仿真参数的步骤以进行下一次的软件系统仿真模拟,若基于连续两次输出的仿真结果参数确定满足仿真精度要求则停止仿真模拟;根据输出的多个仿真结果参数,对软件系统的可靠性进行评估。其中,在获取属性相关信息的基础上,通过初始化仿真参数之后进行软件系统仿真模拟,从而实现了对软件系统在实际任务场景中的运行方式的模拟,进一步的,根据输出的多个仿真结果参数,对软件系统的可靠度进行评估,不仅有效的提升了软件系统可靠性仿真评估精度,还解决了传统方法计算过程繁琐的问题。
附图说明
图1为一个实施例中软件系统可靠性仿真评估方法的流程示意图;
图2为一个实施例中软件系统可靠性仿真评估步骤的流程示意图;
图3为另一个实施例中软件系统可靠性仿真评估方法的流程示意图;
图4为一个实施例中软件系统可靠性仿真评估方法的流程框图;
图5为一个实施例中软件系统可靠性仿真评估装置的结构框图;
图6为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的软件系统可靠性仿真评估方法,可以应用于终端中,其中,终端上运行有仿真软件,终端可以获取软件系统的属性相关信息,属性相关信息包括状态转移矩阵、软件系统中各软件模块的模块失效概率以及模块运行时间,状态转移矩阵为表征各软件模块之间的调用关系的矩阵;初始化仿真参数,仿真参数至少包括模块调用次数和模块失效次数;根据软件系统的属性相关信息进行软件系统仿真模拟,并在仿真模拟过程中更新各仿真参数的值;若软件系统仿真模拟的累计仿真时间满足预设时间条件,则根据最新的各仿真参数的值输出仿真结果参数;返回初始化仿真参数的步骤以进行下一次的软件系统仿真模拟,若基于连续两次输出的仿真结果参数确定满足仿真精度要求则停止仿真模拟;根据输出的多个仿真结果参数,对软件系统的可靠性进行评估。其中,其中,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。
在一个实施例中,如图1所示,提供了一种软件系统可靠性仿真评估方法,以该方法应用于终端为例进行说明,其中,终端上运行有仿真软件,包括以下步骤:
步骤S102,获取软件系统的属性相关信息,属性相关信息包括状态转移矩阵、软件系统中各软件模块的模块失效概率以及模块运行时间,状态转移矩阵为表征各软件模块之间的调用关系的矩阵。
其中,软件系统的属性相关信息可以是与软件系统本身的性质相关的信息,属性相关信息可以包括状态转移矩阵、软件系统中各软件模块的模块失效概率以及模块运行时间,模块失效概率可以为软件系统中各个软件模块失效的概率,模块失效概率可以根据各个软件模块的可靠性水平确定,模块运行时间可以为调用该软件模块后其运行使用时间,一般的,模块运行时间为一个固定值或时间区间,如模块运行时间为60秒或60秒至120秒之间,状态转移矩阵为表征各软件模块之间的调用关系的矩阵,具体的,调用关系可以是指各个软件模块之间相互调用的概率。
在其中一个实施例中,软件系统的状态转移矩阵如下所示:
在上述状态转移矩阵中,Q21=0.5,可以表示软件系统中软件模块2调用软件模块1的概率为0.5;Q23=0.5,可以表示软件模块2调用软件模块3的概率也为0.5。
步骤S104,初始化仿真参数,仿真参数至少包括模块调用次数、模块失效次数和仿真时间。
其中,仿真参数可以是在仿真过程中涉及到的相关参数,仿真参数至少包括模块调用次数、模块失效次数和仿真时间,模块调用次数可以是在仿真过程中各软件模块分别对应的被调用的次数,模块失效次数可以是在仿真过程中各软件模块分别对应的失效的次数,仿真时间可以是在软件系统仿真模拟过程中由模块运行时间确定出的累加时间,除了模块调用次数、模块失效次数以及仿真时间以外,仿真参数还可以包括仿真次数、失效频率向量等,其中,仿真次数可以由返回初始化仿真参数的步骤的次数确定,每返回一次初始化仿真参数的步骤,则仿真次数可以相应的加1,失效频率向量可以是由仿真参数的值确定的,具体的,终端可以采用连续两次仿真输出的失效频率向量来确定仿真精度是否满足收敛要求。
步骤S106,根据软件系统的属性相关信息进行软件系统仿真模拟,并在仿真模拟过程中更新各仿真参数的值。
其中,软件系统仿真模拟可以是在仿真过程中模拟软件系统的运行过程,具体的,终端可以根据软件系统的属性相关信息进行软件系统仿真模拟,并在仿真模拟过程中更新模块调用次数、模块失效次数和仿真时间的值。
步骤S108,若软件系统仿真模拟的累计仿真时间满足预设时间条件,则根据最新的各仿真参数的值输出仿真结果参数。
其中,预设时间条件可以是设定的用于判断是否输出仿真结果参数的条件,累计仿真时间可以是由仿真模拟过程中更新的仿真时间的值得到的,仿真结果参数可以是由最新的各仿真参数的值确定的,终端在进行软件系统仿真模拟的过程中,可以在调用软件模块之后,更新该被调用的软件模块的模块调用次数的值、更新该被调用的软件模块的模块失效次数的值以及根据该被调用的软件模块的模块运行时间更新仿真时间的值。
在其中一个实施例中,预设时间条件可以为累计仿真时间是否大于等于时间阈值,当终端确定累计仿真时间大于等于时间阈值后,则可以根据最新的各仿真参数的值输出仿真结果参数。
步骤S110,返回初始化仿真参数的步骤以进行下一次的软件系统仿真模拟,若基于连续两次输出的仿真结果参数确定满足仿真精度要求则停止仿真模拟。
其中,仿真精度要求可以是仿真系统的收敛要求,终端在输出仿真结果参数之后,则会返回初始化仿真参数的步骤以进行下一次的软件系统仿真模拟,终端可以根据连续两次输出的仿真结果参数,计算得到仿真精度,进一步的,终端通过判断仿真精度是否满足仿真精度要求,若满足,则停止仿真模拟,若不满足,则重新返回初始化仿真参数的步骤,直至满足仿真精度要求即可。
在其中一个实施例中,终端将计算得到的仿真精度与设定的仿真收敛精度进行比较,若小于等于仿真收敛精度,则表示满足仿真精度要求,则可以停止仿真,若大于仿真收敛精度,则表示不满足仿真精度要求,则需要重新返回初始化仿真参数的步骤。
步骤S112,根据输出的多个仿真结果参数,对软件系统的可靠性进行评估。
其中,当终端根据连续两次输出的仿真结果参数确定满足仿真精度要求之后,则可以停止仿真,并结合此过程中每一次仿真输出的仿真结果参数,对软件系统的可靠性进行评估。
上述软件系统可靠性仿真评估方法中,获取软件系统的属性相关信息,属性相关信息包括状态转移矩阵、软件系统中各软件模块的模块失效概率以及模块运行时间,状态转移矩阵为表征各软件模块之间的调用关系的矩阵;初始化仿真参数,仿真参数至少包括模块调用次数、模块失效次数和仿真时间;根据软件系统的属性相关信息进行软件系统仿真模拟,并在仿真模拟过程中更新各仿真参数的值;若软件系统仿真模拟的累计仿真时间满足预设时间条件,则根据最新的各仿真参数的值输出仿真结果参数;返回初始化仿真参数的步骤以进行下一次的软件系统仿真模拟,若基于连续两次输出的仿真结果参数确定满足仿真精度要求则停止仿真模拟;根据输出的多个仿真结果参数,对软件系统的可靠性进行评估。其中,在获取属性相关信息的基础上,通过初始化仿真参数之后进行软件系统仿真模拟,从而实现了对软件系统在实际任务场景中的运行方式的模拟,进一步的,根据输出的多个仿真结果参数,对软件系统的可靠度进行评估,有效的提升了软件系统可靠性仿真评估精度。
在一个实施例中,根据软件系统的属性相关信息进行软件系统仿真模拟,并在仿真模拟过程中更新各仿真参数的值,包括:根据状态转移矩阵进行仿真抽样,依次随机调用任一软件模块执行仿真,在任一软件模块执行仿真的过程中根据模块失效概率确定被调用的软件模块的可靠度,并更新被调用软件模块的模块调用次数、根据被调用软件模块的可靠度更新模块失效次数、以及根据被调用软件模块的模块运行时间更新仿真时间。
其中,终端在进行软件系统仿真模拟时,则可以根据状态转移矩阵,确定各软件模块之间的转移关系及转移概率,从而进行仿真抽样,随机调用任一软件模块执行仿真,当任一软件模块被调用之后,则终端就会根据模块失效概率确定被调用的软件模块的可靠度、更新该软件模块的模块调用次数、根据可靠度更新模块失效次数以及根据该软件模块的模块运行时间更新仿真时间。
具体的,终端可以采用1减去模块失效概率得到可靠度。在更新时,终端可以采用累加的方式进行更新,如当任一软件模块被调用之后,则终端可以在该软件模块上一次被调用时更新的模块调用次数的基础上加预设步长(如数字1或者其他任意数字),以更新模块调用次数。终端可以根据可靠度,在该软件模块上一次被调用时的模块失效次数的基础上加预设步长(如数字1或者其他任意数字),以更新模块失效次数,在该软件模块上一次被调用时的仿真时间的基础上加上该软件模块的模块运行时间,以更新仿真时间。
上述实施例中,终端通过在仿真模拟过程中更新各仿真参数的值,从而后续可以根据各仿真参数的值,展开可靠性评估。
在一个实施例中,根据被调用软件模块的可靠度更新失效次数,包括:生成随机数;将随机数与被调用软件仿真模块的可靠度进行比较;若随机数大于被调用仿真模块的可靠度,则确定被调用仿真模块已失效,则对被调用仿真模块对应的模块失效次数进行更新,得到更新后的模块失效次数。
其中,随机数是终端在软件系统仿真模拟过程中,通过抽样产生的数,随机数的范围可以在0-1之间,终端通过将被调用的软件模块的可靠度与随机数进行比较,若随机数大于可靠度,则判定软件模块失效,终端在软件模块失效时,即可对被调用仿真模块对应的模块失效次数进行更新,得到更新后的模块失效次数。
上述实施例中,终端通过将随机数与可靠度进行比较的方式,确定被调用的软件模块是否失效,在其失效的基础上,才去更新模块失效次数,可以有效提升更新的模块失效次数的精度。
在一个实施例中,若基于连续两次输出的仿真结果参数确定满足仿真精度要求则停止仿真模拟之前,还包括以下步骤:
步骤S202,确定前次仿真模拟输出的第一仿真结果参数、以及当次仿真模拟输出的第二仿真结果参数。
其中,第一仿真结果参数和第二仿真结果参数均为仿真结果参数,为了区分前次仿真模拟的输出和当次仿真模拟的输出,前次仿真模拟的输出为第一仿真结果参数,当次仿真模拟的输出为第二仿真结果参数。
步骤S204,根据第一仿真结果参数、以及前次仿真模拟所对应的仿真次数,计算得到第一失效频率向量。
其中,终端可以根据第一仿真结果参数、以及前次仿真模拟所对应的仿真次数,计算得到第一失效频率向量,具体的,计算第一失效频率向量的公式如下:
步骤S206,根据第二仿真结果参数、以及当次仿真模拟所对应的仿真次数,计算得到第二失效频率向量。
其中,终端在计算第二失效频率向量时,所采用的计算公式和计算第一失效频率向量的公式是相同的,因此,终端只需要将当次仿真模拟所对应的第二仿真结果参数、当次仿真模拟所对应的仿真次数带入到上述公式,即可确定第二失效频率向量。
步骤S208,基于第一失效频率向量和第二失效频率向量,确定仿真精度。
其中,终端在得到第一失效频率向量和第二失效频率向量之后,则可以将第一失效频率向量和第二失效频率向量相减,得到仿真精度。
上述实施例中,终端通过相邻两次仿真的失效频率向量来确定仿真精度,从而可以充分考虑仿真过程存在的不确定性问题,能够有效消除不确定性对系统可靠性评估的影响。
在一个实施例中,根据输出的多个仿真结果参数,对软件系统的可靠性进行评估,包括:基于输出的多个仿真结果参数中的各模块调用次数和各模块失效次数,确定软件系统的软件系统可靠度;根据软件系统可靠度,对软件系统的可靠性进行评估。
其中,软件系统的可靠性是指软件系统不发生失效的概率,终端在判断连续两次仿真的仿真精度满足精度要求时,则可以对多次仿真中涉及到的各软件模块的模块调用次数、模块失效次数进行计算,得到软件系统可靠度,具体的,在计算软件系统可靠度时,可以采用下述公式:
上述实施例中,终端通过软件系统可靠度,进行软件系统可靠性仿真评估,可以精准的对软件系统的可靠性进行评估。
在一个实施例中,根据输出的多个仿真结果参数,对软件系统的可靠性进行评估,包括:根据输出的多个仿真结果参数中的各仿真时间和各模块失效次数,确定软件系统的平均故障间隔时间;根据平均故障间隔时间,对软件系统的可靠性进行评估。
其中,平均故障间隔时间可以是软件系统两次失效之间的平均时间,终端还可以通过计算平均故障间隔时间来进行可靠性评估,具体的,计算平均故障间隔时间的公式可以为:
上述实施例中,终端通过平均故障间隔时间,进行软件系统可靠性仿真评估,可以解决传统方法计算过程繁琐、难以适用复杂系统等问题。
在一个实施例中,如图3所示,为一个实施例中软件系统可靠性仿真评估方法的流程框图:
其中,在进行软件系统可靠性仿真评估时,主要可以涉及到系统定义、仿真运行以及指标评估这三大模块,具体的,在对仿真的软件系统进行定义时,可以包括明确软件系统的状态转移矩阵、确定各个软件模块的模块失效概率以及各个软件模块的模块运行时间。
在仿真运行阶段,由于软件系统在实际任务场景中的运行方式表现为在一定运行剖面下,各类软件模块或构件相互调用、通过接口完成信息交互的过程。因此,通过仿真技术可以对软件系统进行可靠性评估,主要是在仿真过程中模拟软件系统的运行过程,通过统计软件系统的失效信息、运行信息等,对软件系统可靠性指标进行定量计算。
最后,根据各次仿真中产生的软件系统各软件模块的调用次数、失效次数、系统运行时间等数据,进行软件系统可靠性评估,主要包括对系统可靠度、平均故障间隔时间(MTBF)等指标的定量计算。
在一个实施例中,如图4所示,为一个实施例中软件系统可靠性仿真评估方法的流程示意图:
其中,软件系统在实际任务场景中的运行方式表现为在一定运行剖面下,各类软件模块或构件相互调用、通过接口完成信息交互的过程,终端通过在仿真过程中模拟软件系统的运行过程以实现软件系统可靠性仿真评估。其中,本实施例中涉及到的各符号的含义如下:
T0-典型任务场景下任务时间;
ti——第i类软件模块单次运行时间,i=1,2…,j,j表示模块数量;
Ri——第i类软件模块可靠度;
t0——仿真时钟,表示软件系统实际运行总时间;
ni——第i类软件模块调用次数,i=1,2…,j;
mi——第i类软件模块失效次数,i=1,2…,j。
k——仿真次数;
ε——收敛精度;
w——失效频率向量。
当仿真开始之后,仿真运行的具体步骤如下:
步骤1:仿真开始;
步骤2:设定典型场景下任务时间T0、各个软件模块的单次运行时间ti、各个软件模块的可靠度Ri、仿真收敛精度ε;
步骤3:初始化仿真时钟参数、各类软件模块调用次数、失效次数、仿真次数以及失效频率向量,分别令t0=0、ni=0、mi=0、k=0、w0=0;
步骤4:进行仿真抽样,随机调用一种软件模块,记录其序号为i,抽样确定其运行时间ti;
步骤5:终端累加被调用软件模块的调用次数,令ni=ni+1;
步骤6:终端根据被调用软件模块可靠性水平,判断该软件模块是否失效。若是,则转入步骤7;否则,转入步骤8,失效判定主要通过抽样[0,1]之间的随机数,并与软件模块的可靠度进行比较,若随机数大则判定模块失效,否则判定软件模块不失效;
步骤7:累加被调用软件模块的失效次数,令mi=mi+1,并转入步骤9;
步骤8:推进仿真时钟,累加系统运行时间,令t0=t0+ti;
步骤9:判断系统运行时间是否达到任务时间要求。若是,则转入步骤11;否则,转入步骤10;
步骤10:根据系统状态转移矩阵,依据各类软件模块之间的转移关系及转移概率,转入步骤4进行仿真抽样;
步骤11:输出单次仿真中各类软件模块的调用次数ni、失效次数mi及系统运行时间t0;
步骤12:累加仿真次数,令k=k+1;
步骤14:判断相邻两次仿真的失效频率向量的精度是否满足收敛要求,即
||wk-wk-1||≤ε
是否成立。若是,则转入下一步;否则,转入步骤3。
步骤15:仿真结束。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的软件系统可靠性仿真评估方法的软件系统可靠性仿真评估装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个软件系统可靠性仿真评估装置实施例中的具体限定可以参见上文中对于软件系统可靠性仿真评估方法的限定,在此不再赘述。
在一个实施例中,如图5所示,提供了一种软件系统可靠性仿真评估装置,包括:信息获取模块、初始化模块、模拟模块、数据更新模块、处理模块和评估模块,其中:
信息获取模块502,用于获取软件系统的属性相关信息,属性相关信息包括状态转移矩阵、软件系统中各软件模块的模块失效概率以及模块运行时间,状态转移矩阵为表征各软件模块之间的调用关系的矩阵。
初始化模块504,用于初始化仿真参数,仿真参数至少包括模块调用次数、模块失效次数和仿真时间。
模拟模块506,用于根据软件系统的属性相关信息进行软件系统仿真模拟,并在仿真模拟过程中更新各仿真参数的值。
数据更新模块508,用于若软件系统仿真模拟的累计仿真时间满足预设时间条件,则根据最新的各仿真参数的值输出仿真结果参数。
处理模块510,用于返回初始化仿真参数的步骤以进行下一次的软件系统仿真模拟,若基于连续两次输出的仿真结果参数确定满足仿真精度要求则停止仿真模拟。
评估模块512,用于根据输出的多个仿真结果参数,对软件系统的可靠性进行评估。
在一个实施例中,模拟模块,还用于根据状态转移矩阵进行仿真抽样,依次随机调用任一软件模块执行仿真,在任一软件模块执行仿真的过程中根据模块失效概率确定被调用的软件模块的可靠度,并更新被调用软件模块的模块调用次数、根据被调用软件模块的可靠度更新模块失效次数、以及根据被调用软件模块的模块运行时间更新仿真时间。
在一个实施例中,模拟模块,还用于生成随机数;将随机数与被调用软件仿真模块的可靠度进行比较;若随机数大于被调用仿真模块的可靠度,则确定被调用仿真模块已失效,则对被调用仿真模块对应的模块失效次数进行更新,得到更新后的模块失效次数。
在一个实施例中,装置还包括仿真精度确定模块;
仿真精度确定模块,用于确定前次仿真模拟输出的第一仿真结果参数、以及当次仿真模拟输出的第二仿真结果参数;根据第一仿真结果参数、以及前次仿真模拟所对应的仿真次数,计算得到第一失效频率向量;根据第二仿真结果参数、以及当次仿真模拟所对应的仿真次数,计算得到第二失效频率向量;基于第一失效频率向量和所述第二失效频率向量,确定仿真精度。
在一个实施例中,评估模块,还用于基于输出的多个仿真结果参数中的各模块调用次数和各模块失效次数,确定软件系统的软件系统可靠度;根据软件系统可靠度,对软件系统的可靠性进行评估。
在一个实施例中,评估模块,还用于根据输出的多个仿真结果参数中的各仿真时间和各模块失效次数,确定软件系统的平均故障间隔时间;根据平均故障间隔时间,对所述软件系统的可靠性进行评估。
上述软件系统可靠性仿真评估装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图6所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种软件系统可靠性仿真评估方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置。显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述软件系统可靠性仿真评估方法的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述软件系统可靠性仿真评估方法的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述软件系统可靠性仿真评估方法的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种软件系统可靠性仿真评估方法,其特征在于,所述方法包括:
获取软件系统的属性相关信息,所述属性相关信息包括状态转移矩阵、软件系统中各软件模块的模块失效概率以及模块运行时间,所述状态转移矩阵为表征各所述软件模块之间的调用关系的矩阵;
初始化仿真参数,所述仿真参数至少包括模块调用次数、模块失效次数和仿真时间;
根据所述软件系统的属性相关信息进行软件系统仿真模拟,并在仿真模拟过程中更新各仿真参数的值;
若软件系统仿真模拟的累计仿真时间满足预设时间条件,则根据最新的各仿真参数的值输出仿真结果参数;
返回所述初始化仿真参数的步骤以进行下一次的软件系统仿真模拟,若基于连续两次输出的仿真结果参数确定满足仿真精度要求则停止仿真模拟;
根据输出的多个仿真结果参数,对所述软件系统的可靠性进行评估。
2.根据权利要求1所述的方法,其特征在于,所述根据所述软件系统的属性相关信息进行软件系统仿真模拟,并在仿真模拟过程中更新各仿真参数的值,包括:
根据所述状态转移矩阵进行仿真抽样,依次随机调用任一软件模块执行仿真,在任一软件模块执行仿真的过程中根据模块失效概率确定被调用的软件模块的可靠度,并更新被调用软件模块的模块调用次数、根据被调用软件模块的可靠度更新模块失效次数、以及根据被调用软件模块的模块运行时间更新仿真时间。
3.根据权利要求2所述的方法,其特征在于,所述根据被调用软件模块的可靠度更新失效次数,包括:
生成随机数;
将所述随机数与被调用软件仿真模块的可靠度进行比较;
若所述随机数大于所述被调用仿真模块的可靠度,则确定所述被调用仿真模块已失效,则对所述被调用仿真模块对应的模块失效次数进行更新,得到更新后的模块失效次数。
4.根据权利要求1所述的方法,其特征在于,所述若基于连续两次输出的仿真结果参数确定满足仿真精度要求则停止仿真模拟之前,所述方法还包括:
确定前次仿真模拟输出的第一仿真结果参数、以及当次仿真模拟输出的第二仿真结果参数;
根据所述第一仿真结果参数、以及前次仿真模拟所对应的仿真次数,计算得到第一失效频率向量;
根据所述第二仿真结果参数、以及当次仿真模拟所对应的仿真次数,计算得到第二失效频率向量;
基于所述第一失效频率向量和所述第二失效频率向量,确定仿真精度。
5.根据权利要求1所述的方法,其特征在于,所述根据输出的多个仿真结果参数,对所述软件系统的可靠性进行评估,包括:
基于输出的多个仿真结果参数中的各模块调用次数和各模块失效次数,确定所述软件系统的软件系统可靠度;
根据所述软件系统可靠度,对所述软件系统的可靠性进行评估。
6.根据权利要求1所述的方法,其特征在于,所述根据输出的多个仿真结果参数,对所述软件系统的可靠性进行评估,包括:
根据输出的多个仿真结果参数中的各仿真时间和各模块失效次数,确定所述软件系统的平均故障间隔时间;
根据所述平均故障间隔时间,对所述软件系统的可靠性进行评估。
7.一种软件系统可靠性仿真评估装置,其特征在于,所述装置包括:
信息获取模块,用于获取软件系统的属性相关信息,所述属性相关信息包括状态转移矩阵、软件系统中各软件模块的模块失效概率以及模块运行时间,所述状态转移矩阵为表征各所述软件模块之间的调用关系的矩阵;
初始化模块,用于初始化仿真参数,所述仿真参数至少包括模块调用次数、模块失效次数和仿真时间;
模拟模块,用于根据所述软件系统的属性相关信息进行软件系统仿真模拟,并在仿真模拟过程中更新各仿真参数的值;
数据更新模块,用于若软件系统仿真模拟的累计仿真时间满足预设时间条件,则根据最新的各仿真参数的值输出仿真结果参数;
处理模块,用于返回所述初始化仿真参数的步骤以进行下一次的软件系统仿真模拟,若基于连续两次输出的仿真结果参数确定满足仿真精度要求则停止仿真模拟;
评估模块,用于根据输出的多个仿真结果参数,对所述软件系统的可靠性进行评估。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211661705.9A CN116010226A (zh) | 2022-12-23 | 2022-12-23 | 软件系统可靠性仿真评估方法、装置和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211661705.9A CN116010226A (zh) | 2022-12-23 | 2022-12-23 | 软件系统可靠性仿真评估方法、装置和计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116010226A true CN116010226A (zh) | 2023-04-25 |
Family
ID=86024177
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211661705.9A Pending CN116010226A (zh) | 2022-12-23 | 2022-12-23 | 软件系统可靠性仿真评估方法、装置和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116010226A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116520756A (zh) * | 2023-06-29 | 2023-08-01 | 北京创博联航科技有限公司 | 数据采集监控系统、航电系统以及无人机 |
CN117852462A (zh) * | 2023-11-20 | 2024-04-09 | 北京智芯微电子科技有限公司 | 可靠性仿真方法、可靠性仿真装置、仿真设备和存储介质 |
CN117891566A (zh) * | 2024-03-18 | 2024-04-16 | 中国电子产品可靠性与环境试验研究所((工业和信息化部电子第五研究所)(中国赛宝实验室)) | 智能软件的可靠性评估方法、装置、设备、介质和产品 |
-
2022
- 2022-12-23 CN CN202211661705.9A patent/CN116010226A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116520756A (zh) * | 2023-06-29 | 2023-08-01 | 北京创博联航科技有限公司 | 数据采集监控系统、航电系统以及无人机 |
CN116520756B (zh) * | 2023-06-29 | 2023-09-26 | 北京创博联航科技有限公司 | 数据采集监控系统、航电系统以及无人机 |
CN117852462A (zh) * | 2023-11-20 | 2024-04-09 | 北京智芯微电子科技有限公司 | 可靠性仿真方法、可靠性仿真装置、仿真设备和存储介质 |
CN117891566A (zh) * | 2024-03-18 | 2024-04-16 | 中国电子产品可靠性与环境试验研究所((工业和信息化部电子第五研究所)(中国赛宝实验室)) | 智能软件的可靠性评估方法、装置、设备、介质和产品 |
CN117891566B (zh) * | 2024-03-18 | 2024-06-18 | 中国电子产品可靠性与环境试验研究所((工业和信息化部电子第五研究所)(中国赛宝实验室)) | 智能软件的可靠性评估方法、装置、设备、介质和产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116010226A (zh) | 软件系统可靠性仿真评估方法、装置和计算机设备 | |
CN112395423A (zh) | 递归的时序知识图谱补全方法和装置 | |
CN112417169A (zh) | 知识图谱的实体对齐方法、装置、计算机设备和存储介质 | |
CN113887845A (zh) | 极端事件预测方法、装置、设备、介质和计算机程序产品 | |
US20170299424A1 (en) | Measuring and diagnosing noise in an urban environment | |
CN117854720A (zh) | 基于菌属特征的自闭症风险预测装置和计算机设备 | |
CN116108697B (zh) | 基于多元性能退化的加速试验数据处理方法、装置和设备 | |
CN115859016B (zh) | 基于处理器的运算方法、装置、计算机设备及存储介质 | |
CN115758271A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN112528500B (zh) | 一种场景图构造模型的评估方法及评估设备 | |
CN113159100B (zh) | 电路故障诊断方法、装置、电子设备和存储介质 | |
CN116579669B (zh) | 可靠性评估方法、装置、计算机设备及其存储介质 | |
CN117331590B (zh) | 工艺设计工具包更新方法、装置、计算机设备和存储介质 | |
CN118153292A (zh) | 产品可靠度确定方法、装置、计算机设备和存储介质 | |
CN117407267A (zh) | 条件分支覆盖率计算方法、装置、计算机设备、存储介质 | |
CN117331812A (zh) | 业务代码验证方法、装置、计算机设备、存储介质和产品 | |
CN118154300A (zh) | 抵质押参数处理方法、装置、计算机设备和存储介质 | |
CN116781536A (zh) | 流量预测方法、装置、设备、存储介质和程序产品 | |
CN115718701A (zh) | 程序测试方法、装置、计算机设备和存储介质 | |
CN115877125A (zh) | 针对阻容元件的电路故障仿真方法、装置和计算机设备 | |
CN118279597A (zh) | 目标检测方法、装置、设备、介质和程序产品 | |
CN117058422A (zh) | 图像标注方法、装置、计算机设备及计算机可读存储介质 | |
CN118227107A (zh) | 代码生成模型训练方法、代码生成方法、装置 | |
CN117853217A (zh) | 数据隐私保护的金融违约率预测方法、装置以及设备 | |
CN116229271A (zh) | 图像差异检测方法、装置、设备、存储介质和程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |