基于贝叶斯网的核安全级软件可靠性评估初探
2017-11-29白涛陈卫华谷鹏飞中广核工程有限公司核电安全监控技术与装备国家重点实验室深圳518124
白涛, 陈卫华, 谷鹏飞(中广核工程有限公司 核电安全监控技术与装备国家重点实验室,深圳 518124)
基于贝叶斯网的核安全级软件可靠性评估初探
白涛, 陈卫华, 谷鹏飞
(中广核工程有限公司 核电安全监控技术与装备国家重点实验室,深圳 518124)
合理有效地定量评估核安全级软件的可靠性是核电数字化仪控系统装备研制中面临的关键技术问题之一。由于核安全级软件的高可靠性要求,仅通过有限的测试难以给出可信的可靠性评估结果。从软件Vamp;V的角度,结合IEEE Std.1012—2004标准要求及实施核安全级软件Vamp;V的工程经验,对核安全级软件贝叶斯网络推理修正模型及其可靠性定量评估方法进行了初步探讨。应用实例说明所提方法可为在软件开发生命周期过程中尽早识别问题、评估软件可靠性及分析Vamp;V活动的有效性提供参考。
核安全级软件; 验证与确认; 贝叶斯网络; 可靠性评估
0 引言
数字化仪控系统装备是核电厂运行的神经中枢,以软件为核心实现核电厂控制和保护逻辑,其软件质量与核电厂运行的安全性、可靠性、可用性及经济性密切相关。核电厂仪控系统一般包括非安全级控制系统和安全级保护系统,其中控制系统用于持续执行核电厂的正常运行功能;而保护系统在正常运行期间监控核电厂的运行状态,一旦发生事故则立即触发适当的保护动作,实现反应堆安全停堆,防止放射性物质泄漏导致的安全问题。因此,数字化保护系统的软件质量至关重要。鉴于自主研制的国产核安全级仪控系统尚处于不断发展和完善的阶段,如何合理有效地定量评估核安全级软件的可靠性是目前核电数字化仪控系统装备研制中面临的关键技术问题之一。相关难题的突破将为论证自主化核电数字化仪控系统装备的可靠性提供更加直接鲜明的证据,也将为自主化核电数字化仪控系统装备随“华龙一号”核电技术走出国门,向欧洲高端核电市场的出口奠定必要的技术基础。
软件具有与硬件截然不同的失效模式和失效机理,软件缺陷主要由设计错误造成,软件缺陷导致的系统失效与其运行环境(即运行剖面)密切相关。因此,成熟的硬件可靠性评估方法并不完全适用于软件。国际上对于软件可靠性评估的方法、步骤,至今未能形成统一的技术规范。另一方面,对于有高可靠性要求的核安全级软件,利用大量的穷尽式测试评估其可靠性不现实,而有限的测试难以给出可信的可靠性评估结果。如何利用软件开发生命周期过程中收集到的数据进行可靠性定量评估,将定性与定量评估有机结合等问题仍处于研究和探讨中。已有的研究成果中,由于贝叶斯网络具有对不确定性和不完整性问题表达与推理的优点,在核安全级软件可靠性建模与定量评估中获较为广泛的应用研究。NRC在NUREG/CR系列报告中对软件可靠性分析与评估技术进行了探讨,其中NUREG/CR 7044—2013[1]对基于贝叶斯网络的核安全级仪控系统软件可靠性定量评估方法进行了分析。芬兰VTT利用软件开发过程中的“可靠性软证据”信息和基于操作剖面测试的“可靠性硬证据”信息建立基于贝叶斯网络的安全级软件系统可靠性估计方法,并针对不同系统及其操作剖面配置构建了四种贝叶斯网络评估模型[2]。文献[3,4]根据NRC NUREG 0800数字化计算机仪控系统软件审评指南BTP-7-14[5]对软件功能特性及过程特性的定义,提出基于软件开发生命周期的核安全级软件贝叶斯网络推理模型,并进一步地给出基于Vamp;V的软件失效估计模型以评估软件的预期残留失效数。文献[6]从研发机构、研发过程等高层次的角度了构建基于贝叶斯网络的核安全级仪控系统软件可靠性模型,并对系统中的不确定性因素进行了分析。
业界普遍认可软件独立验证与确认(Vamp;V)是确保核安全级软件可靠性的关键技术手段,本文从软件开发生命周期Vamp;V的角度,结合IEEE Std. 1012—2004[7]标准要求及实施核安全级软件Vamp;V的工程经验,针对文献[4]的核安全级软件贝叶斯网络推理模型提出分级修正模型,并在此基础上建立可靠性定量评估方法,以便在软件开发生命周期过程中尽早识别软件缺陷和评估软件可靠性;同时,分析Vamp;V活动的有效性对提高软件可靠性的影响。
2 基于贝叶斯统计推断的软件可靠性评估方法
贝叶斯网络是一种有向无环概率图模型,可以模拟人类推理过程中因果关系的不确定性。其节点表示随机变量,是可直接观测变量或隐藏变量,两节点间的有向边表示随机变量间的条件依赖关系,这种依赖关系的强度用条件概率值表征。贝叶斯统计推断的核心是某事件(随机变量表征)发生的概率可由其先验概率分布及已发生的事件估计(参见贝叶斯公式)。
根据贝叶斯统计推断的思想,可建立软件可靠性评估方法[8]。在软件开发生命周期各阶段都将产生一定形式的阶段性产品,通过软件Vamp;V可确保和提高软件阶段性产品的质量,从而保证最终产品的可靠性。在通过一定的测评方法对软件进行测试和评估分析后,可利用测评结果对软件可靠性进行评估,同时也可分析Vamp;V活动的有效性。
假设对于被测软件,其总的输入域为n,正确性概率为r,在随机测试过程中有t个输入通过测试条件的概率密度函数为f(r|t)。根据贝叶斯公式,则f(r|t)可表示为式(1)。
(1)
其中,p(t|r)表示在软件的正确性概率为r的条件下,总输入域n中有t个输入通过测试的概率。f(r)是该被测软件正确性的先验分布概率密度,先验概率是贝叶斯统计推断中必不可少的要素,一般可依据专家判断给出;当无任何信息时,一般假设先验概率服从均匀分布。
对于每一次测试,软件在给定输入条件下有正确与错误2种状态。软件正确与否的判定条件是测试结果与需求是否一致。若与需求一致,软件正确,否则,软件错误。因此,在n次随机测试中,随机变量t(软件正确的次数)服从二项分布为式(2)。
(2)
将式(2)代入(1)中可得式(3)。
(3)
由式(3)可知,软件正确性后验概率服从参数为t+1和n-t+1的β分布。
对式(3)进行积分,可得到软件正确性的后验概率分布函数F(r|t),即式(4)。
(4)
利用公式(4),可以估计被测软件正确性r大于任意目标可靠性估计值的概率,也即被测软件可靠性评估的量化结果。
3 基于贝叶斯网的核安全级软件可靠性模型
如前所述,核安全级软件的可靠性评估不应仅依赖于可靠性测试,还需考虑软件开发生命周期过程各类活动中收集到的可靠性证据。Vamp;V是确保核安全级软件可靠性的关键技术手段,Vamp;V活动贯穿于软件开发生命周期的各个阶段,利用人员和工具的独立性以及技术多样性以尽可能多地发现开发团队未能发现或排查的缺陷或失效,从而提高软件质量。Vamp;V活动对软件可靠性的影响,如图1所示。
图1 软件开发生命周期中的核安全级软件可靠性评估策略
在软件开发生命周期的某个阶段,其特定形式的阶段性软件产品的可靠性受到前一阶段软件产品的影响、本阶段开发活动的影响以及本阶段软件Vamp;V活动的影响。软件开发生命周期的各个阶段以Vamp;V活动所发现的缺陷或失效全部被正确修正,且未引入新的错误为结束条件,从而确保下一阶段的软件开发活动以前一阶段高质量的软件产品为基准展开。
为分析软件Vamp;V活动对软件可靠性的影响,分析中假定本阶段软件可靠性的先验概率估计值是由前一阶段软件可靠性结果与本阶段开发活动共同作用的结果。
3.1 建模
针对核安全级软件的运行安全特性要求,BTP-7-14给出其功能特性及过程特性的定义,其中功能特性包括精度、功能性、可靠性、强壮性、安全性、安全防范性、实时性等7项子特性。过程特性包括:完备性、一致性、正确性、格式、可追溯性、无二义性、可验证性等7项子特性。文献[3,4]基于BTP-7-14的软件功能特性及过程特性定义提出核安全级软件贝叶斯网络推理模型,但没有考虑功能特性与过程特性间的耦合关系,本文结合IEEE Std. 1012—2004[7]标准要求及实施核安全级软件Vamp;V的工程经验,提出分级的核安全级软件贝叶斯网络推理修正模型。以功能特性为核心建议的一级贝叶斯网络推理模型如图2所示。
图2 基于功能特性的一级贝叶斯推理模型
同时,建立各子功能特性与过程特性相关的二级贝叶斯网络推理模型,如图3所示。
图3 子功能特性二级贝叶斯推理模型
软件开发生命周期各阶段Vamp;V活动的目的就是发现不符合软件功能特性及其过程特性要求的各类异常项或缺陷。由于不同Vamp;V人员的技术能力、工程经验、心理因素等影响,其实施的Vamp;V过程是一种随机过程。
3.2 归一化处理
软件的部件级测试或系统集成测试的结果直接体现为系统功能特性的正确性,而在软件开发生命周期的其他阶段,如概念、需求和设计阶段,其阶段性软件产品是文档,Vamp;V过程中发现的异常或缺陷造成的系统功能失效的后果严重程度不同,或者说对源代码或最终产品正确性的影响程度有所不同。工程上,通常根据异常项或缺陷造成的系统功能失效后果的严重程度,将异常项划分为5个等级,分别“致命”、“关键”、“重要”、“一般”和“建议”。为此,根据对Vamp;V异常项分级情况对异常项进行归一化处理为式(5)。
(5)
Mi为等级为i的异常项的统计数量。
异常项经过归一化处理后,可将Vamp;V异常项转换为软件正确与否的二元结果,从而可以利用本文第二部分贝叶斯统计推断方法进行软件可靠性评估。
表1 错误归一化处理
4 应用实例
以某国产自主化核安全级专用监测装置样机软件Vamp;V项目为例,利用本文提出的核安全级软件贝叶斯推理分级修正模型及统计推断方法对其进行软件可靠性评估,以说明该方法的有效性。在软件需求Vamp;V阶段,对该项目软件需求文档审查中,结合系统功能特性及其子特性细化,结合贝叶斯推理分级修改模型共形成需求检查条目377项,由2名Vamp;V人员分别独立执行审查工作,相当于对被测系统执行754项测试,累计发现异常项5项,其中2项异常属“重要”类,3项异常属“一般”类。为进行需求阶段的软件可靠性评估,首先对发现的异常项数量进行归一化处理,计算可得归一化后的异常项数量为2*1+0.5*3=3.5,也即有751.5项通过测试。根据测试结果,将n=754,t=751.5代入式(4),可得到以软件正确性先验概率r为自变量的软件正确性后验估计概率密度及概率分布曲线,如图4所示。
图4 被测软件在n=754,t=751.5时的概率曲线
由于在软件开发生命周期的初期阶段可获得的可靠性证据数量有限,其可靠性估计值难以达到预期目标值。假定需求阶段Vamp;V活动执行前,软件正确性估计的先验概率为0.990 1,则依据概率分布特性可知F(r|t)=p(r≤ri),则p(rgt;ri)=1-p(r≤ri)。计算结果表明Vamp;V活动后软件正确性估计的后验概率为0.964 2。从另一方面来看,即如果假定需求阶段Vamp;V活动执行前后的软件正确性概率不变,则表明当前Vamp;V活动的有效性为96.42%。
进一步地,经Vamp;V回归测试发现所有的异常项均已正确修改且未引入新的异常项后,可得到软件正确性后验估计概率密度及概率分布曲线,如图5所示。
图5中,n=754,t=754。根据计算结果可知,软件正确性估计的先验概率为0.990 1时,其后验概率估计值为0.994 6,经Vamp;V活动后软件可靠性增加。
图5 被测软件在n=754,t=754时的概率曲线
5 总结
对于具有高可靠性要求的核安全级软件,仅通过有限的测试难以给出可信的可靠性评估结果。充分利用软件开发生命周期过程中的各类证据,合理有效地定量评估核安全级软件的可靠性是核电数字化仪控系统装备研制中面临的关键技术问题之一,相关问题的突破将为论证自主化核电数字化仪控系统装备的可靠性提供更加直接鲜明的证据。本文从软件Vamp;V的角度,结合IEEE Std. 1012—2004[7]标准要求及实施核安全级软件Vamp;V的工程经验,提出核安全级软件贝叶斯网络推理模型[4]的修正模型,并在此基础上建立可靠性定量评估方法,以便在软件开发生命周期过程中尽早识别问题和评估可靠性,同时也为分析Vamp;V活动的有效性及其对软件可靠性的影响提供了佐证。本文仅是基于贝叶斯网络的核安全级软件可靠性定量评估的初步探讨,关于先验分布、参数敏感度等问题有待进一步研究。
[1] NUREG/CR—7044. Development of Quantitative Software Reliability Models for Digital Protection Systems of Nuclear Power Plants[M].Nuclear Regulatory Commission, 2013.
[2] Helminen A. Reliability Estimation of Safety-critical Software-based System Using Bayesian Networks[M]. Helsinki: STUK, 2001.
[3] KIM M.C. High level issues in reliability quantification of safety-critical software[J]. Nuclear Safety and Simulation, 2012, 3(2): 97-103.
[4] Eom H.S., Park G.Y., Jang S.C., et al. Vamp;V-based Remaining Fault Estimation Model for Safety-critical Software of a Nuclear Power Plant[J]. Annals of Nuclear Energy, 2013, (51): 38-49.
[5] BTP-7-14. Guidance on Software Reviews for Digital Computer-based Instrumentation and Control Systems(Revision 5)[M]. Nuclear Regulatory Commission, 2007.
[6] 迟淼,史丽萍,刘盈. 核安全级仪控软件可靠性评估模型构建[J]. 哈尔滨工程大学学报,2014,35(12):1570-1574.
[7] IEEE Std. 1012. IEEE standard for software verification and validation[S].New York IEEE, 2004.
[8] 柴哲丽,林佳齐,朱金平,等. 基于贝叶斯的软件可靠性评估研究[J]. 计算机工程,2010,36(2):73-74.
PreliminaryStudyonNuclearSafety-CriticalSoftwareReliabilityEvaluationBasedonBayesianNetwork
Bai Tao, Chen Weihua, Gu Pengfei
(State Key Laboratory of Nuclear Power Safety Monitoring Technology and Equipment, China Nuclear Power Engineering Co., Ltd., Shenzhen 518124)
It is a key issue ofevaluating the safety-critical software reliability quantitatively during developing digital instrumentation and control system for nuclear power plants. Due to the high reliability requirements on nuclear safety-critical software, it may be practically impossible to obtainthe reliabilityestimation with high confidence level only through limited testing.From the viewpoint of software verification and validation (Vamp;V), a preliminary study on nuclear safety-critical software reliability modeling and evaluation based on Bayesian network is given in this note by considering the requirements of IEEE Std. 1012—2004 and our experiences. It is shown by an example that the proposed software reliabilitymethod couldprovidesupportfor evaluating software reliability and analyzing the Vamp;V effectiveness during its life cycle simultaneously.
Nuclear safety-critical software; Verification and validation (Vamp;V); Bayesian network; Reliability evaluation
国家重大科技专项资助项目(2014ZX06004002-004)
白涛(1975-),女,回,河北正定,高工,博士,研究方向:核安全级软件Vamp;V技术.
陈卫华(1972-),男,天津蓟县,高工,学士,研究方向:核电数字化仪控系统设计与可靠性研究.
谷鹏飞(1980-),男,江苏盐城,高工,博士,研究方向:核安全级软件Vamp;V技术.
1007-757X(2017)11-0012-03
TK08
A
2017.08.31)