CN115756394A - 借助失效数据的嵌入式软件需求安全性验证方法 - Google Patents
借助失效数据的嵌入式软件需求安全性验证方法 Download PDFInfo
- Publication number
- CN115756394A CN115756394A CN202211477614.XA CN202211477614A CN115756394A CN 115756394 A CN115756394 A CN 115756394A CN 202211477614 A CN202211477614 A CN 202211477614A CN 115756394 A CN115756394 A CN 115756394A
- Authority
- CN
- China
- Prior art keywords
- failure
- data
- failure data
- function
- functional
- 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
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
- Hardware Redundancy (AREA)
Abstract
本发明提供了一种借助失效数据的嵌入式软件需求安全性验证方法,其包括:建立软件需求模型,将软件需求进行形式化模型描述,进行失效数据的模式化处理,明确失效数据模式信息,建立软件需求模型与失效数据之间的映射关系,开展软件需求模型的安全性验证,得到软件需求安全性验证结果,所述软件需求模型的元素包括功能输入接口、功能输出接口和功能处理过程。本发明以失效数据和安全性验证规则驱动,着重考虑了易引发发动机控制软件运行失效的关键信息,可显著提升工作效率和质量,确保充分识别软件需求中潜在的失效模式和系统危险。
Description
技术领域
本发明属于嵌入式软件安全技术领域,特别是一种借助失效数据的嵌入式软件需求安全性验证方法。
背景技术
随着计算机技术的广泛普及,由于软件失效所引发系统危险比重逐渐增加,造成经济与资源的重大损失,高安全、高可靠已成为软件研制的通用要求。
根据外场软件安全性事故统计分析,发现绝大部分事故的原因都涉及到软件需求问题,即需求不充分或不准确,而很少的原因是由于代码错误导致的。因此,软件需求质量已成为影响软件安全性水平的关键因素。在软件开发过程中科学、系统地利用软件安全关键失效数据,形成可复用的失效数据经验,对软件需求的安全性验证提供数据支撑和指导,可有效避免软件的安全性失效或系统危险的重复出现,显著提升软件需求安全性验证工作效率,确保软件的安全性水平能够稳步提高。目前,软件需求安全性验证技术是确保软件安全性最为有效的手段。因此,通过提炼若干基础失效数据,寻求一种借助失效数据的嵌入式软件需求安全性验证方法,以期显著提升工作效率和质量,确保充分识别软件需求中潜在的失效模式和系统危险是十分迫切且必要的。
发明内容
本发明针对上述现有技术中的缺陷,提出一种借助失效数据的嵌入式软件需求安全性验证方法。该方法包括建立软件需求模型,将软件需求进行形式化模型描述,进行失效数据的模式化处理,明确失效数据模式信息,建立软件需求模型与失效数据之间的映射关系,开展软件需求模型的安全性验证,得到软件需求安全性验证结果,所述软件需求模型的元素包括功能输入接口、功能输出接口和功能处理过程。本发明以失效数据和安全性验证规则驱动,着重考虑了易引发发动机控制软件运行失效的关键信息,可显著提升工作效率和质量,确保充分识别软件需求中潜在的失效模式和系统危险。
本发明提供一种借助失效数据的嵌入式软件需求安全性验证方法,其包括以下步骤:
S1、建立软件需求模型,将软件需求进行形式化模型描述,所述软件需求模型的元素包括功能输入接口、功能输出接口和功能处理过程;定义所述软件需求模型为功能集合F={F1,...,Fi,...,Fn},其中,n为常数;Fi表示第i个功能且定义为:
Fi={(FiName,fi)|fi∈FiI×FiP→FiO}={FiName,FiI,FiO,FiP}
其中,FiName表示第i个功能的功能名称;FiI表示第i个功能的功能输入接口集合;FiO表示第i个功能的功能输出接口集合;FiP表示第i个功能的功能处理过程;fi表示第i个功能的功能描述;
S2、进行失效数据的模式化处理,明确失效数据模式信息:将所有失效数据进行整理与归纳,为每条失效数据分级关联引导词,并明确失效数据的失效数据模式信息;所述引导词包括第一级引导词和第二级引导词;
S21、为失效数据关联第一级引导词:将所述失效数据按失效类型分类为功能输入接口失效数据、功能处理过程失效数据和功能输出接口失效数据;所述第一级引导词包括功能输入接口失效、功能处理过程失效和功能输出接口失效;
S22、为失效数据关联第二级引导词,明确失效数据模式信息:
S3、建立软件需求模型与失效数据之间的映射关系,所述映射关系包括第一映射关系和第二映射关系;
S31、建立软件需求模型的元素与失效数据的第一引导词之间的第一映射关系,所述第一映射关系包括所述功能输入接口向功能输入接口失效映射、所述功能处理过程向功能处理过程失效映射、所述功能输出接口向功能输出接口失效映射;
S32、建立软件需求模型的元素与失效数据的第二引导词之间的第二映射关系,所述第二映射关系为所述软件需求模型的元素的具体信息分别向所述失效数据的第二引导词映射;
S4、开展软件需求模型的安全性验证:依据所述软件需求模型与失效数据之间的映射关系,设计安全性验证规则,对所述软件需求模型的元素进行安全性验证;
S5、得到软件需求安全性验证结果:检查所述软件需求模型的元素是否均达到分析验证覆盖率要求,即功能输入接口的分析验证覆盖率达到100%、功能输出接口的分析验证覆盖率达到100%、功能处理过程的分析验证覆盖率达到100%,若是,则所述软件需求模型的安全性验证完成,输出所述软件需求模型的安全性验证结果;否则,执行步骤S4;所述分析验证覆盖率达到100%表示所述软件需求模型的所有元素分别针对所有所述失效数据进行了逐一验证分析。
进一步,所述步骤S4中的所述安全性验证规则具体包括以下步骤:
S41、选择所述软件需求模型的任一未被验证的元素作为待验证元素,逐一验证所有所述失效数据与所述待验证元素是否具有所述映射关系,若是,则将所述失效数据作为第一失效数据,并执行步骤S42;否则将所述失效数据作为第二失效数据,并执行步骤S45;
S42、检查所述待验证元素是否针对所述第一失效数据所包含的失效数据模式信息提供了相应的第一处理措施,若是,则所述软件需求模型针对所述第一失效数据的安全性验证通过并执行步骤S44;否则所述软件需求模型针对所述第一失效数据的安全性验证不通过并执行步骤S43;
S43、为所述待验证元素针对所述第一失效数据所包含的失效数据模式信息提供相应的第二处理措施,所述软件需求模型针对所述第一失效数据的安全性验证通过并执行步骤S44;
S44、分析处理措施的正确性和充分性,所述处理措施包括所述第一处理措施和第二处理措施;分析所述第一处理措施或第二处理措施是否能够有效且充分地控制所述失效数据中蕴含的安全关键失效问题,若是执行步骤S5;否则所述软件需求模型针对所述第一失效数据的安全性验证修正为不通过并执行步骤S43;
S45、针对软件需求模型的元素进行补充性分析验证:依据软件需求模型与失效数据之间的映射关系,逐一分析所述第二失效数据是否适用于所述待验证元素,若是,则将所述第二失效数据作为所述第一失效数据,并执行步骤S42;否则在所述软件需求模型的安全性验证结果中记录所述第二失效数据对所述待验证元素不适用,并执行步骤S5。
可优选的,所述步骤S22具体包括以下步骤:
S221、当所述失效数据关联的所述第一级引导词为所述功能输入接口失效时,所述第二级引导词包括时序失效、数据失效、通信失效、余度表决失效、故障诊断失效、故障处理失效和第一自定义;
S222、当所述失效数据关联的所述第一级引导词为所述功能处理过程失效时,所述第二级引导词包括时序失效、数据失效、逻辑失效、通道切换失效、故障诊断失效、故障处理失效、信号采集失效、信号处理失效、时序控制失效、算法失效、闭环控制失效、功能交互失效和状态迁移失效;
S223、当所述失效数据关联的所述第一级引导词为所述功能输出接口失效时,所述第二级引导词包括时序失效、数据失效、通信失效、余度表决失效、故障诊断失效、故障处理失效和第二自定义。
可优选的,所述步骤S1中所述第i个功能的功能输入接口集合FiI表示为:
FiI={FIirange,FIiO,FIinam}
其中,FIirange表示FiI的值域且FIirange={UpI,LowI},UpI表示FiI的上限值,LowI表示FiI的下限值;FIiO表示FiI经过FiP映射后的功能输出接口集合;FIinam表示第i个功能的功能输入接口名称;
所述第i个功能的功能输出接口集合FiO表示为:
FiO={FOirange,FOiI,FOinam}
其中,FOirange表示FiO的值域且FOirange={UpO,LowO},UpO表示FiO的上限值;LowO表示FiO的下限值;FOiI表示FiO经过FiP映射后的功能输入接口集合;FOinam表示第i个功能的功能输出接口名称;
所述第i个功能的功能处理过程FiP表示为:
FiP={PiI,PiT,PiO,PiC,PiJ}
其中,PiI表示Fi对于FiI的处理函数;PiO表示Fi对于FiO的处理函数;PiT表示功能处理函数间的迁移条件集合;PiJ表示Fi的判定节点集合;PiC表示功能处理模型中各元素的约束信息;所述约束包括逻辑约束和时序约束,所述逻辑约束包括与、或、非、异或、映射关系、等价于、小于、大于、等于、从属于、互斥、组合、优先于、小于等于和大于等于;所述时序约束包括前序关系、后序关系、并发关系、延时关系和计时关系。
可优选的,所述步骤S221中所述功能输入接口失效数据的失效数据模式信息分别为:
FIMode0:时序失效的功能输入接口失效数据,即FIMode0={超前,滞后,信号周期异常};
FIMode1:数据失效的功能输入接口失效数据,即FIMode1={超上限,超下限,数据持续不变};
FIMode2:通信失效的功能输入接口失效数据,即FIMode2={未接收到数据,接口数据源传感器故障,连接电路开路};
FIMode3:余度表决失效的功能输入接口失效数据,即FIMode3={没有余度表决策略,所有余度的接口数据均为异常};
FIMode4:故障诊断失效的功能输入接口失效数据,即FIMode4={未进行极值诊断,未进行滤波诊断,未进行斜率诊断};
FIMode5:故障处理失效的功能输入接口失效数据,即FIMode5={故障诊断后未进行故障结果处理,故障处理对策仅对某些软件功能有效,不同的故障处理对策存在冲突};
FIMode6:第一自定义的功能输入接口失效数据;
所述步骤S222中所述功能处理过程失效数据的失效数据模式信息分别为:
FFMode0:时序失效的功能处理过程失效数据,即FFMode0={操作开始执行的时机提前,操作结束执行的时机提前};
FFMode1:数据失效的功能处理过程失效数据,即FFMode1={解算过程除0,解算结果超出下限,解算结果超出上限};
FFMode2:逻辑失效的功能处理过程失效数据,即FFMode2={逻辑约束条件判断错误,逻辑约束条件恒假,逻辑分支不能覆盖的输入域};
FFMode3:通道切换失效的功能处理过程失效数据,即FFMode3={当前通道正常切换至其他通道,通道切换超时};
FFMode4:故障诊断失效的功能处理过程失效数据,即FFMode4={故障诊断虚警,故障诊断频繁报警};
FFMode5:故障处理失效的功能处理过程失效数据,即FFMode5={同一故障现象在不同功能的处理策略冲突,当前功能采用的故障处理策略导致其他功能失效};
FFMode6:信号采集失效的功能处理过程失效数据,即FFMode6={通信协议失效,接口信号采集时间超前,遗漏接口数据};
FFMode7:信号处理失效的功能处理过程失效数据,即FFMode7={未对接口信号进行消抖/平滑处理,未判断接口数据数值的正确性};
FFMode8:时序控制失效的功能处理过程失效数据,即FFMode8={不满足控制过程进入条件,前序控制过程未完成/无法完成};
FFMode9:算法失效的功能处理过程失效数据,即FFMode9={采样算法计算结果未达预期,插值算法计算结果未达预期};
FFMode10:闭环控制失效的功能处理过程失效数据,即FFMode10={基于控制对象模型的控制算法建模不准确,离散控制回路采样周期不满足控制要求};
FFMode11:功能交互失效的功能处理过程失效数据,即FFMode11={功能的处理逻辑是否与其他功能的处理逻辑重复,未考虑同一工作状态下的不同软件功能之间的优先级};
FFMode12:状态迁移失效的功能处理过程失效数据,即FFMode12={软件转为下电状态之前未对关键数据进行存储或保护,不同状态下功能输出接口取值或置于发生变化};
所述步骤S223中所述功能输出接口失效数据的失效数据模式信息分别为:
FOMode0:时序失效的功能输出接口失效数据,即FOMode0={超前,滞后,信号周期异常};
FOMode1:数据失效的功能输出接口失效数据,即FOMode1={超上限,超下限,数据持续不变};
FOMode2:通信失效的功能输出接口失效数据,即FOMode2={接口输出的目的设备故障,接口输出缓冲区出现故障,接口输出的目的设备反馈过快或过慢};
FOMode3:余度表决失效的功能输出接口失效数据,即FOMode3={两个余度的接口输出数据值存在较大差别,两个余度的接口同时保持输出};
FOMode4:故障诊断失效的功能输出接口失效数据,即FOMode4={未进行输出线路BIT故障检测,未进行输出接口双余度不一致故障检测,未进行输出超限数据的故障检测};
FOMode5:故障处理失效的功能输出接口失效数据,即FOMode5={故障诊断后未进行故障结果处理,故障处理对策仅对某些软件功能有效,不同的故障处理对策存在冲突};
FOMode6:第二自定义的功能输出接口失效数据。
可优选的,所述步骤S21中针对所述功能输入接口失效数据关联所述功能输入接口失效,针对所述功能处理过程失效数据关联所述功能处理过程失效,针对所述功能输出接口失效数据关联所述功能输出接口失效。
与现有技术相比,本发明的技术效果为:
1、本发明提出的一种借助失效数据的嵌入式软件需求安全性验证方法,所提方法的核心内容是从功能输入接口、输出接口、功能处理过程及系统危险等角度提炼若干基础失效数据,在此基础上,形成软件需求安全性验证规则;在基础失效数据和安全性验证规则的基础上,提出了软件需求安全性验证方法,该软件需求安全性验证方法基于准确的基础失效数据以及多次安全验证,能够保证最终验证结果的准确度。
2、本发明提出的一种借助失效数据的嵌入式软件需求安全性验证方法,所提方法以失效数据和安全性验证规则为基础,并着重考虑了软件功能间的动态逻辑关系、软硬件交互关系、功能输入输出接口以及工作状态迁移等容易引发发动机控制软件运行失效的关键信息,可以显著提升工作效率和质量,确保充分识别软件需求中潜在的失效模式和系统危险。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显。
图1是本发明的借助失效数据的嵌入式软件需求安全性验证方法流程图;
图2是本发明的具体实施例中某控制系统软件的功能输入输出接口模型示意图;
图3是本发明的具体实施例中所建立的功能处理过程模型示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了本发明的借助失效数据的嵌入式软件需求安全性验证方法,该方法包括以下步骤:
S1、建立软件需求模型,将软件需求进行形式化模型描述,软件需求模型的元素包括功能输入接口、功能输出接口和功能处理过程;定义软件需求模型为功能集合F={F1,...,Fi,...,Fn},其中,n为常数;Fi表示第i个功能且定义为:
Fi={(FiName,fi)|fi∈FiI×FiP→FiO}={FiName,FiI,FiO,FiP}
其中,FiName表示第i个功能的功能名称;FiI表示第i个功能的功能输入接口集合;FiO表示第i个功能的功能输出接口集合;FiP表示第i个功能的功能处理过程;fi表示第i个功能的功能描述。
第i个功能的功能输入接口集合FiI表示为:
FiI={FIirange,FIiO,FIinam}
其中,FIirange表示FiI的值域且FIirange={UpI,LowI},UpI表示FiI的上限值,LowI表示FiI的下限值;FIiO表示FiI经过FiP映射后的功能输出接口集合;FIinam表示第i个功能的功能输入接口名称。
第i个功能的功能输出接口集合FiO表示为:
FiO={FOirange,FOiI,FOinam}
其中,FOirange表示FiO的值域且FOirange={UpO,LowO},UpO表示FiO的上限值;LowO表示FiO的下限值;FOiI表示FiO经过FiP映射后的功能输入接口集合;FOinam表示第i个功能的功能输出接口名称。
第i个功能的功能处理过程FiP表示为:
FiP={PiI,PiT,PiO,PiC,PiJ}
其中,PiI表示Fi对于FiI的处理函数;PiO表示Fi对于FiO的处理函数;PiT表示功能处理函数间的迁移条件集合;PiJ表示Fi的判定节点集合;PiC表示功能处理模型中各元素的约束信息;约束包括逻辑约束和时序约束,逻辑约束包括与、或、非、异或、映射关系、等价于、小于、大于、等于、从属于、互斥、组合、优先于、小于等于和大于等于;时序约束包括前序关系、后序关系、并发关系、延时关系和计时关系。
在一个具体实施例中,某型控制系统由座舱、指示灯、机械装置和电气系统组成。控制系统软件接收上位机传来的控制指令信号,通过相应功能处理,向外部设备输出控制电流,配合实现控制功能;该控制软件包含两个相似余度(即A通道控制软件和B通道控制软件),其中一个通道作为主控制软件,另外一个通道则处于热备份状态。当主控通道软件处于故障状态时,能够自动切换至热备份通道软件。
针对该控制系统软件展开软件需求安全性验证工作,识别软件接口需求中潜在的失效模式,并分析失效模式的原因和影响,确定失效模式的处理措施。
该控制系统软件外部交联设备及功能输入输出接口信息(包括接口类型、接口名称、接口数据等内容),如图2所示;根据软件需求建立功能处理过程模型,以某控制功能为例,演示所建立的功能处理过程模型:如图3所示。
依据某型控制软件外部接口图与软件需求,明确某型控制软件功能输入接口模型信息如
表1所示,明确某型控制软件功能输出接口模型信息如表2所示。
表1
表2
S2、进行失效数据的模式化处理,明确失效数据模式信息:将所有失效数据进行整理与归纳,为每条失效数据分级关联引导词,并明确失效数据的失效数据模式信息;引导词包括第一级引导词和第二级引导词。
S21、为失效数据关联第一级引导词:将失效数据按失效类型分类为功能输入接口失效数据、功能处理过程失效数据和功能输出接口失效数据;第一级引导词包括功能输入接口失效、功能处理过程失效和功能输出接口失效;针对功能输入接口失效数据关联功能输入接口失效,针对功能处理过程失效数据关联功能处理过程失效,针对功能输出接口失效数据关联功能输出接口失效。
S22、为失效数据关联第二级引导词,明确失效数据模式信息。
S221、当失效数据关联的第一级引导词为功能输入接口失效时,第二级引导词包括时序失效、数据失效、通信失效、余度表决失效、故障诊断失效、故障处理失效和第一自定义。
步骤S221中功能输入接口失效数据的失效数据模式信息分别为:
FIMode0:时序失效的功能输入接口失效数据,即FIMode0={超前,滞后,信号周期异常};
FIMode1:数据失效的功能输入接口失效数据,即FIMode1={超上限,超下限,数据持续不变};
FIMode2:通信失效的功能输入接口失效数据,即FIMode2={未接收到数据,接口数据源传感器故障,连接电路开路};
FIMode3:余度表决失效的功能输入接口失效数据,即FIMode3={没有余度表决策略,所有余度的接口数据均为异常};
FIMode4:故障诊断失效的功能输入接口失效数据,即FIMode4={未进行极值诊断,未进行滤波诊断,未进行斜率诊断};
FIMode5:故障处理失效的功能输入接口失效数据,即FIMode5={故障诊断后未进行故障结果处理,故障处理对策仅对某些软件功能有效,不同的故障处理对策存在冲突};
FIMode6:第一自定义的功能输入接口失效数据。
S222、当失效数据关联的第一级引导词为功能处理过程失效时,第二级引导词包括时序失效、数据失效、逻辑失效、通道切换失效、故障诊断失效、故障处理失效、信号采集失效、信号处理失效、时序控制失效、算法失效、闭环控制失效、功能交互失效和状态迁移失效。
步骤S222中功能处理过程失效数据的失效数据模式信息分别为:
FFMode0:时序失效的功能处理过程失效数据,即FFMode0={操作开始执行的时机提前,操作结束执行的时机提前};
FFMode1:数据失效的功能处理过程失效数据,即FFMode1={解算过程除0,解算结果超出下限,解算结果超出上限};
FFMode2:逻辑失效的功能处理过程失效数据,即FFMode2={逻辑约束条件判断错误,逻辑约束条件恒假,逻辑分支不能覆盖的输入域};
FFMode3:通道切换失效的功能处理过程失效数据,即FFMode3={当前通道正常切换至其他通道,通道切换超时};
FFMode4:故障诊断失效的功能处理过程失效数据,即FFMode4={故障诊断虚警,故障诊断频繁报警};
FFMode5:故障处理失效的功能处理过程失效数据,即FFMode5={同一故障现象在不同功能的处理策略冲突,当前功能采用的故障处理策略导致其他功能失效};
FFMode6:信号采集失效的功能处理过程失效数据,即FFMode6={通信协议失效,接口信号采集时间超前,遗漏接口数据};
FFMode7:信号处理失效的功能处理过程失效数据,即FFMode7={未对接口信号进行消抖/平滑处理,未判断接口数据数值的正确性};
FFMode8:时序控制失效的功能处理过程失效数据,即FFMode8={不满足控制过程进入条件,前序控制过程未完成/无法完成};
FFMode9:算法失效的功能处理过程失效数据,即FFMode9={采样算法计算结果未达预期,插值算法计算结果未达预期};
FFMode10:闭环控制失效的功能处理过程失效数据,即FFMode10={基于控制对象模型的控制算法建模不准确,离散控制回路采样周期不满足控制要求};
FFMode11:功能交互失效的功能处理过程失效数据,即FFMode11={功能的处理逻辑是否与其他功能的处理逻辑重复,未考虑同一工作状态下的不同软件功能之间的优先级};
FFMode12:状态迁移失效的功能处理过程失效数据,即FFMode12={软件转为下电状态之前未对关键数据进行存储或保护,不同状态下功能输出接口取值或置于发生变化}。
S223、当失效数据关联的第一级引导词为功能输出接口失效时,第二级引导词包括时序失效、数据失效、通信失效、余度表决失效、故障诊断失效、故障处理失效和第二自定义。
步骤S223中功能输出接口失效数据的失效数据模式信息分别为:
FOMode0:时序失效的功能输出接口失效数据,即FOMode0={超前,滞后,信号周期异常};
FOMode1:数据失效的功能输出接口失效数据,即FOMode1={超上限,超下限,数据持续不变};
FOMode2:通信失效的功能输出接口失效数据,即FOMode2={接口输出的目的设备故障,接口输出缓冲区出现故障,接口输出的目的设备反馈过快或过慢};
FOMode3:余度表决失效的功能输出接口失效数据,即FOMode3={两个余度的接口输出数据值存在较大差别,两个余度的接口同时保持输出};
FOMode4:故障诊断失效的功能输出接口失效数据,即FOMode4={未进行输出线路BIT故障检测,未进行输出接口双余度不一致故障检测,未进行输出超限数据的故障检测};
FOMode5:故障处理失效的功能输出接口失效数据,即FOMode5={故障诊断后未进行故障结果处理,故障处理对策仅对某些软件功能有效,不同的故障处理对策存在冲突};
FOMode6:第二自定义的功能输出接口失效数据。
在一个具体实施例中,失效数据模式化结果举例如表3所示。
表3
S3、建立软件需求模型与失效数据之间的映射关系,映射关系包括第一映射关系和第二映射关系。
S31、建立软件需求模型的元素与失效数据的第一引导词之间的第一映射关系,第一映射关系包括功能输入接口向功能输入接口失效映射、功能处理过程向功能处理过程失效映射、功能输出接口向功能输出接口失效映射。
S32、建立软件需求模型的元素与失效数据的第二引导词之间的第二映射关系,第二映射关系为软件需求模型的元素的具体信息分别向失效数据的第二引导词映射。
在一个具体实施例中,建立软件需求模型与失效数据映射关系算法,部分结果举例如表4所示。
表4
S4、开展软件需求模型的安全性验证:依据软件需求模型与失效数据之间的映射关系,设计安全性验证规则,对软件需求模型的元素进行安全性验证。
所设计的安全性验证规则具体如下:
S41、选择软件需求模型的任一未被验证的元素作为待验证元素,逐一验证所有失效数据与待验证元素是否具有映射关系,若是,则将失效数据作为第一失效数据,并执行步骤S42;否则将失效数据作为第二失效数据,并执行步骤S45。
S42、检查待验证元素是否针对第一失效数据所包含的失效数据模式信息提供了相应的第一处理措施,若是,则软件需求模型针对第一失效数据的安全性验证通过并执行步骤S44;否则软件需求模型针对第一失效数据的安全性验证不通过并执行步骤S43。
在一个具体实施例中,开展软件需求模型的安全性验证的部分结果举例如表5所示。
表5
S43、为待验证元素针对第一失效数据所包含的失效数据模式信息提供相应的第二处理措施,软件需求模型针对第一失效数据的安全性验证通过并执行步骤S44。
在一个具体实施例中,为待验证元素针对第一失效数据所包含的失效数据模式信息提供相应的第二处理措施,其部分结果举例如表6所示。
表6
S44、分析处理措施的正确性和充分性,处理措施包括第一处理措施和第二处理措施;分析第一处理措施或第二处理措施是否能够有效且充分地控制失效数据中蕴含的安全关键失效问题,若是执行步骤S5;否则软件需求模型针对第一失效数据的安全性验证修正为不通过并执行步骤S43。
在一个具体实施例中,分析处理措施的正确性和充分性,其部分结果举例如表7所示。
表7
S45、针对软件需求模型的元素进行补充性分析验证:依据软件需求模型与失效数据之间的映射关系,逐一分析第二失效数据是否适用于待验证元素,若是,则将第二失效数据作为第一失效数据,并执行步骤S42;否则在软件需求模型的安全性验证结果中记录第二失效数据对待验证元素不适用,并执行步骤S5。
在一个具体实施例中,针对软件需求模型的元素进行补充性分析验证的部分结果举例如
表8所示。
表8
S5、得到软件需求安全性验证结果:检查软件需求模型的元素是否均达到分析验证覆盖率要求,即功能输入接口的分析验证覆盖率达到100%、功能输出接口的分析验证覆盖率达到100%、功能处理过程的分析验证覆盖率达到100%,若是,则软件需求模型的安全性验证完成,输出软件需求模型的安全性验证结果;否则,执行步骤S4;分析验证覆盖率达到100%表示软件需求模型的所有元素分别针对所有失效数据进行了逐一验证分析。
本发明设计的一种借助失效数据的嵌入式软件需求安全性验证方法,所提方法的核心内容是从功能输入接口、输出接口、功能处理过程、系统危险等角度提炼若干基础失效数据,在此基础上,形成软件需求安全性验证规则;在基础失效数据和安全性验证规则的基础上,提出了软件需求安全性验证方法;所提方法以失效数据和安全性验证规则驱动,着重考虑了软件功能间的动态逻辑关系、软硬件交互关系、功能输入输出接口、工作状态迁移等容易引发发动机控制软件运行失效的关键信息,可以显著提升工作效率和质量,确保充分识别软件需求中潜在的失效模式和系统危险。
最后所应说明的是:以上实施例仅以说明而非限制本发明的技术方案,尽管参照上述实施例对本发明进行了详细说明,本领域的普通技术人员应当理解:依然可以对本发明进行修改或者等同替换,而不脱离本发明的精神和范围的任何修改或局部替换,其均应涵盖在本发明的权利要求范围当中。
Claims (6)
1.一种借助失效数据的嵌入式软件需求安全性验证方法,其特征在于,其包括以下步骤:
S1、建立软件需求模型,将软件需求进行形式化模型描述,所述软件需求模型的元素包括功能输入接口、功能输出接口和功能处理过程;定义所述软件需求模型为功能集合F={F1,...,Fi,...,Fn},其中,n为常数;Fi表示第i个功能且定义为:
Fi={(FiName,fi)|fi∈FiI×FiP→FiO}={FiName,FiI,FiO,FiP}
其中,FiName表示第i个功能的功能名称;FiI表示第i个功能的功能输入接口集合;FiO表示第i个功能的功能输出接口集合;FiP表示第i个功能的功能处理过程;fi表示第i个功能的功能描述;
S2、进行失效数据的模式化处理,明确失效数据模式信息:将所有失效数据进行整理与归纳,为每条失效数据分级关联引导词,并明确失效数据的失效数据模式信息;所述引导词包括第一级引导词和第二级引导词,该步骤具体包括以下子步骤:
S21、为失效数据关联第一级引导词:将所述失效数据按失效类型分为功能输入接口失效数据、功能处理过程失效数据和功能输出接口失效数据;所述第一级引导词包括功能输入接口失效、功能处理过程失效和功能输出接口失效;
S22、为失效数据关联第二级引导词,明确失效数据模式信息:
S3、建立软件需求模型与失效数据之间的映射关系,所述映射关系包括第一映射关系和第二映射关系;
S31、建立软件需求模型的元素与失效数据的第一引导词之间的第一映射关系,所述第一映射关系包括所述功能输入接口向功能输入接口失效映射、所述功能处理过程向功能处理过程失效映射以及所述功能输出接口向功能输出接口失效映射;
S32、建立软件需求模型的元素与失效数据的第二引导词之间的第二映射关系,所述第二映射关系为所述软件需求模型的元素的具体信息向所述失效数据的第二引导词映射;
S4、开展软件需求模型的安全性验证:依据所述软件需求模型与失效数据之间的映射关系,得到安全性验证规则,对所述软件需求模型的元素进行安全性验证;
S5、得到软件需求安全性验证结果:检查所述软件需求模型的元素是否均达到分析验证覆盖率要求,即功能输入接口的分析验证覆盖率达到100%、功能输出接口的分析验证覆盖率达到100%及功能处理过程的分析验证覆盖率达到100%,若是,则所述软件需求模型的安全性验证完成,输出所述软件需求模型的安全性验证结果;否则,重新执行步骤S4;各个分析验证覆盖率达到100%表示所述软件需求模型的所有元素分别针对所有失效数据进行了逐一验证分析。
2.根据权利要求1所述的借助失效数据的嵌入式软件需求安全性验证方法,其特征在于,所述步骤S4中的所述安全性验证规则具体包括以下子步骤:
S41、选择所述软件需求模型的任一未被验证的元素作为待验证元素,逐一验证所有所述失效数据与所述待验证元素是否具有所述映射关系,若是,则将所述失效数据作为第一失效数据,并执行步骤S42;否则将所述失效数据作为第二失效数据,并执行步骤S45;
S42、检查所述待验证元素是否针对所述第一失效数据所包含的失效数据模式信息提供了相应的第一处理措施,若是,则所述软件需求模型针对所述第一失效数据的安全性验证通过并执行步骤S44;否则所述软件需求模型针对所述第一失效数据的安全性验证不通过并执行步骤S43;
S43、为所述待验证元素针对所述第一失效数据所包含的失效数据模式信息提供相应的第二处理措施,所述软件需求模型针对所述第一失效数据的安全性验证通过并执行步骤S44;
S44、分析处理措施的正确性和充分性,所述处理措施包括所述第一处理措施和第二处理措施;分析所述第一处理措施或第二处理措施是否能够有效且充分地控制所述失效数据中蕴含的安全关键失效问题,若是执行步骤S5;否则所述软件需求模型针对所述第一失效数据的安全性验证修正为不通过并执行步骤S43;
S45、针对软件需求模型的元素进行补充性分析验证:依据软件需求模型与失效数据之间的映射关系,逐一分析所述第二失效数据是否适用于所述待验证元素,若是,则将所述第二失效数据作为所述第一失效数据,并执行步骤S42;否则在所述软件需求模型的安全性验证结果中记录所述第二失效数据对所述待验证元素不适用,并执行步骤S5。
3.根据权利要求1所述的借助失效数据的嵌入式软件需求安全性验证方法,其特征在于,所述步骤S22具体包括以下子步骤:
S221、当所述失效数据关联的所述第一级引导词为所述功能输入接口失效时,所述第二级引导词包括时序失效、数据失效、通信失效、余度表决失效、故障诊断失效、故障处理失效和第一自定义;
S222、当所述失效数据关联的所述第一级引导词为所述功能处理过程失效时,所述第二级引导词包括时序失效、数据失效、逻辑失效、通道切换失效、故障诊断失效、故障处理失效、信号采集失效、信号处理失效、时序控制失效、算法失效、闭环控制失效、功能交互失效和状态迁移失效;
S223、当所述失效数据关联的所述第一级引导词为所述功能输出接口失效时,所述第二级引导词包括时序失效、数据失效、通信失效、余度表决失效、故障诊断失效、故障处理失效和第二自定义。
4.根据权利要求1所述的借助失效数据的嵌入式软件需求安全性验证方法,其特征在于,所述步骤S1中所述第i个功能的功能输入接口集合FiI表示为:
FiI={FIirange,FIiO,FIinam}
其中,FIirange表示FiI的值域且FIirange={UpI,LowI},UpI表示FiI的上限值,LowI表示FiI的下限值;FIiO表示FiI经过FiP映射后的功能输出接口集合;FIinam表示第i个功能的功能输入接口名称;
所述第i个功能的功能输出接口集合FiO表示为:
FiO={FOirange,FOiI,FOinam}
其中,FOirange表示FiO的值域且FOirange={UpO,LowO},UpO表示FiO的上限值;LowO表示FiO的下限值;FOiI表示FiO经过FiP映射后的功能输入接口集合;FOinam表示第i个功能的功能输出接口名称;
所述第i个功能的功能处理过程FiP表示为:
FiP={PiI,PiT,PiO,PiC,PiJ}
其中,PiI表示Fi对于FiI的处理函数;PiO表示Fi对于FiO的处理函数;PiT表示功能处理函数间的迁移条件集合;PiJ表示Fi的判定节点集合;PiC表示功能处理模型中各元素的约束信息;所述约束包括逻辑约束和时序约束,所述逻辑约束包括与、或、非、异或、映射关系、等价于、小于、大于、等于、从属于、互斥、组合、优先于、小于等于和大于等于;所述时序约束包括前序关系、后序关系、并发关系、延时关系和计时关系。
5.根据权利要求3所述的借助失效数据的嵌入式软件需求安全性验证方法,其特征在于,所述步骤S221中所述功能输入接口失效数据的失效数据模式信息分别为:
FIMode0:时序失效的功能输入接口失效数据,即FIMode0={超前,滞后,信号周期异常};
FIMode1:数据失效的功能输入接口失效数据,即FIMode1={超上限,超下限,数据持续不变};
FIMode2:通信失效的功能输入接口失效数据,即FIMode2={未接收到数据,接口数据源传感器故障,连接电路开路};
FIMode3:余度表决失效的功能输入接口失效数据,即FIMode3={没有余度表决策略,所有余度的接口数据均为异常};
FIMode4:故障诊断失效的功能输入接口失效数据,即FIMode4={未进行极值诊断,未进行滤波诊断,未进行斜率诊断};
FIMode5:故障处理失效的功能输入接口失效数据,即FIMode5={故障诊断后未进行故障结果处理,故障处理对策仅对某些软件功能有效,不同的故障处理对策存在冲突};
FIMode6:第一自定义的功能输入接口失效数据;
所述步骤S222中所述功能处理过程失效数据的失效数据模式信息分别为:
FFMode0:时序失效的功能处理过程失效数据,即FFMode0={操作开始执行的时机提前,操作结束执行的时机提前};
FFMode1:数据失效的功能处理过程失效数据,即FFMode1={解算过程除0,解算结果超出下限,解算结果超出上限};
FFMode2:逻辑失效的功能处理过程失效数据,即FFMode2={逻辑约束条件判断错误,逻辑约束条件恒假,逻辑分支不能覆盖的输入域};
FFMode3:通道切换失效的功能处理过程失效数据,即FFMode3={当前通道正常切换至其他通道,通道切换超时};
FFMode4:故障诊断失效的功能处理过程失效数据,即FFMode4={故障诊断虚警,故障诊断频繁报警};
FFMode5:故障处理失效的功能处理过程失效数据,即FFMode5={同一故障现象在不同功能的处理策略冲突,当前功能采用的故障处理策略导致其他功能失效};
FFMode6:信号采集失效的功能处理过程失效数据,即FFMode6={通信协议失效,接口信号采集时间超前,遗漏接口数据};
FFMode7:信号处理失效的功能处理过程失效数据,即FFMode7={未对接口信号进行消抖/平滑处理,未判断接口数据数值的正确性};
FFMode8:时序控制失效的功能处理过程失效数据,即FFMode8={不满足控制过程进入条件,前序控制过程未完成/无法完成};
FFMode9:算法失效的功能处理过程失效数据,即FFMode9={采样算法计算结果未达预期,插值算法计算结果未达预期};
FFMode10:闭环控制失效的功能处理过程失效数据,即FFMode10={基于控制对象模型的控制算法建模不准确,离散控制回路采样周期不满足控制要求};
FFMode11:功能交互失效的功能处理过程失效数据,即FFMode11={功能的处理逻辑是否与其他功能的处理逻辑重复,未考虑同一工作状态下的不同软件功能之间的优先级};
FFMode12:状态迁移失效的功能处理过程失效数据,即FFMode12={软件转为下电状态之前未对关键数据进行存储或保护,不同状态下功能输出接口取值或置于发生变化};
所述步骤S223中所述功能输出接口失效数据的失效数据模式信息分别为:
FOMode0:时序失效的功能输出接口失效数据,即FOMode0={超前,滞后,信号周期异常};
FOMode1:数据失效的功能输出接口失效数据,即FOMode1={超上限,超下限,数据持续不变};
FOMode2:通信失效的功能输出接口失效数据,即FOMode2={接口输出的目的设备故障,接口输出缓冲区出现故障,接口输出的目的设备反馈过快或过慢};
FOMode3:余度表决失效的功能输出接口失效数据,即FOMode3={两个余度的接口输出数据值存在较大差别,两个余度的接口同时保持输出};
FOMode4:故障诊断失效的功能输出接口失效数据,即FOMode4={未进行输出线路BIT故障检测,未进行输出接口双余度不一致故障检测,未进行输出超限数据的故障检测};
FOMode5:故障处理失效的功能输出接口失效数据,即FOMode5={故障诊断后未进行故障结果处理,故障处理对策仅对某些软件功能有效,不同的故障处理对策存在冲突};
FOMode6:第二自定义的功能输出接口失效数据。
6.根据权利要求1所述的借助失效数据的嵌入式软件需求安全性验证方法,其特征在于,所述步骤S21中针对所述功能输入接口失效数据关联所述功能输入接口失效,针对所述功能处理过程失效数据关联所述功能处理过程失效,针对所述功能输出接口失效数据关联所述功能输出接口失效。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211477614.XA CN115756394A (zh) | 2022-11-23 | 2022-11-23 | 借助失效数据的嵌入式软件需求安全性验证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211477614.XA CN115756394A (zh) | 2022-11-23 | 2022-11-23 | 借助失效数据的嵌入式软件需求安全性验证方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115756394A true CN115756394A (zh) | 2023-03-07 |
Family
ID=85336348
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211477614.XA Pending CN115756394A (zh) | 2022-11-23 | 2022-11-23 | 借助失效数据的嵌入式软件需求安全性验证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115756394A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113567775A (zh) * | 2021-05-31 | 2021-10-29 | 合肥通用机械研究院有限公司 | 一种基于引导词的液氢储供系统故障诊断分析方法 |
-
2022
- 2022-11-23 CN CN202211477614.XA patent/CN115756394A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113567775A (zh) * | 2021-05-31 | 2021-10-29 | 合肥通用机械研究院有限公司 | 一种基于引导词的液氢储供系统故障诊断分析方法 |
CN113567775B (zh) * | 2021-05-31 | 2023-10-03 | 合肥通用机械研究院有限公司 | 一种基于引导词的液氢储供系统故障诊断分析方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3156862B1 (en) | Methods and apparatus for the creation and use of reusable fault model components in fault modeling and complex system prognostics | |
JP4557337B2 (ja) | Xリストに基づく多重エラー及び故障を診断する方法並びにシステム | |
US20230156026A1 (en) | System and method of automatizing a threat analysis based on artificial intelligence | |
CN108804326B (zh) | 一种软件代码自动检测方法 | |
US20160342720A1 (en) | Method, system, and computer program for identifying design revisions in hardware design debugging | |
CN111190804A (zh) | 一种云原生系统的多层次的深度学习日志故障检测方法 | |
US8621305B2 (en) | Methods systems and apparatus for determining whether built-in-test fault codes are indicative of an actual fault condition or a false alarm | |
CN115756394A (zh) | 借助失效数据的嵌入式软件需求安全性验证方法 | |
CN114691403A (zh) | 一种服务器故障诊断方法、装置、电子设备及存储介质 | |
CN115114064B (zh) | 一种微服务故障分析方法、系统、设备及存储介质 | |
CN114218781B (zh) | 系统功能与可靠性、安全性及测试性综合建模分析方法 | |
Boussif et al. | Diagnosability analysis of intermittent faults in discrete event systems using a twin-plant structure | |
Schleiss et al. | Towards the quantitative verification of deep learning for safe perception | |
Munson et al. | Toward a quantifiable definition of software faults | |
CN115658492A (zh) | 内核配置项异常值的检测方法及装置 | |
Güdemann et al. | Computation of ordered minimal critical sets | |
Liu et al. | Verification for the predictability of decentralized discrete event systems with a polynomial complexity | |
Hadj-Mabrouk | Case-based reasoning for safety assessment of critical software | |
CN117076327B (zh) | 一种接口自动检测与修复方法和系统 | |
KR102363481B1 (ko) | 비정형 건설 데이터 처리 장치 및 방법 | |
Bodsberg | Comparative study of quantitative models for hardware, software and human reliability assessment | |
CN112948253B (zh) | 一种基于vrm模型的测试用例生成方法 | |
CN114721861B (zh) | 一种基于日志差异化比对的故障定位方法与系统 | |
CN114741052B (zh) | 一种面向需求表格模型的形式化语义分析与检查方法 | |
CN114595143B (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 |