admin 管理员组文章数量: 1184232
2023年12月17日发(作者:能编辑javascript程序)
软件功能安全验证活动的应用刘鹏辉,王淑玲()中国电子科技集团公司第三十二研究所,上海201808摘要:软件功能安全验证活动对提高安全关键系统的安全性具有重要作用,它贯穿于软件安全生命周期的各个阶段。通过对各阶段输出文档的审查和分析,可尽早发现软件问题,降低软件修复成本。完整的问题闭环处理流程可有效解决软件验证活动中发现的问题,给出各方均满意的处理结果。关键词:功能安全;软件验证;问题反馈流程中图分类号:TP316.2
文献标识码:AAlicationofSoftwareFunctionalSafeterificationActivitiesppyV,thereviewandanalsisoftheoututdocumentsateachstaesoftwareggyygypg:,AbstractSoftwarefunctionalsafeterificationactivitiesplanimortantroleinimrovinhesafetfsafet-criticalsstemsandityvyappgtyoyy(,)The32ndResearchInstituteofChinaElectronicsTechnolorouororationShanhai201808,ChinagyGpCpg,LiuPenhuiWanhulinggSginrocesscaneffectivelolvetheproblemsfoundinthesoproblemscanbleteproblemclosed-loorocess-pyapppp:;;Kewordsfunctionalsafetsoftwareverificationroblemhandlinrocessypgpy0
引
言述在轨旁安全平台的开发过程中,其验证和确认流程对提高整个系统的安全性、可靠性有着极其重要的意义。功能安全的软件验证活动目标是针对安全完整性等级(要求的程度,测试和评估软件安全生命周期在给SIL)定阶段的输出,保证该阶段输出对于相应输入的正确性和4]。相对于传统的软件测试活动,一致性[功能安全的软件安全关键系统已成为关系国际民生的重要基础设施,一旦发生故障,将严重危害到人民生命和财产安全。为此国际电工委员会(于2IEC)000年发布了首个产品安全性《标准—电气/电子/可编程电子安全相关IEC61508:1998,系统的功能安全要求》最新版本于2010年发布。标准制定的目标是保证电气、电子或可编程电子安全相关系统的安全可靠,当系统发生故障(包括硬件随机故障和软件故障)或错误时,安全相关系统会采取预先设定的措施,保证故障不会引起人员的伤亡、环境的破坏和设备财产的损1]。E《——用失[铁路应用通信、信号和处理系统—N50128验证活动范围更广,不仅覆盖软件测试过程,还包括对输出文档的复审和分析。本文在对IEC61508和EN5012861508的SIL3和EN50128的SIL4的TÜV南德功能安的研究基础上,结合某嵌入式实时操作系统(已通过IEC全认证)的软件功能安全验证活动实践,以软件安全生命周期模型为牵引,根据各个阶段输出的文档详细地阐述了软件验证活动在实际项目中开展的过程,并在文末说明软件验证活动中问题的闭环处理流程。于铁路控制和防护系统的软件》是欧洲电气委员会(CENELEC)下属的SC9XA委员会以IEC61508为基根据不同的安全完整性等级,对系统50128:2011标准中,整个软件的软件计划、软件需求、软件架构设计、软件详细设计与开发、软件单元测试、软件集成测试、软件确认等阶段及阶段内的活动提出相应的流程和要求。其中,在软件开发生命周期中各个阶段进行验证和确认是非常重要的2]3]。在轨旁安全平台验证和确认过程中的应用[内容[描础,针对铁路应用安全相关软件制定的标准。在EN1
软件安全生命周期模型本文涉及的项目实践对象是一款适用于安全关键应用的嵌入式实时操作系统,它的开发以软件安全生命周期模型为基础,如图1所示。图中与软件验证活动相关的阶段为项目计划、软件需求分析、软件架构设计、软件详细设计、软件编程/实现、软件单元测试、软件集成测试和软件1 6Microcontrollers&EmbeddedSstems
2021年第2期
确认,贯穿于软件安全生命周期的各个阶段。2.2
软件需求分析阶段软件需求分析阶段以项目计划阶段的输出文档为基础,结合系统功能以及脆弱性分析结果,编制软件安全需)。软件验证求规范(和软件整体测试规范(SSRSOSTS)活动完成该两份文档的审查和分析,输出文档为软件需求。验证报告(SRVR)SSRS文档详细说明了嵌入式实时操作系统软件的需求。OSTS文档说明了基于软件需求的测试内容。它主要SRVR是软件需求分析阶段的软件验证活动总结,说明以下内容的验证结果:软件安全需求规范的内容与软件安全计划以及软件验证和确认计划内容的一致性;软件需求表述是否完整、清晰、准确、无二义、可验证、可测试、图1
某操作系统软件安全生命周期模型可维护且可行,且能跟踪到所有上级需求;软件接口描述内容是否覆盖所有内、外部系统,且考虑接口数据定义的一致性、无效或不适时的值、最大负载条件下的响应时间和吞吐量、最好和最坏情况的执行时间、数据存储容量的上溢和下溢等;运行参数是否能防止非授权变更或损坏;是否清晰标识所有软件需求,且能区分安全性需求;软、硬件的相关约束是否说明;是否考虑软件自监视以及由软件执行的硬件检查;具有独立性要求的需求是否进行共因失效分析,且对识别的可信失效机制采取了相应的防御措615083:2010和EN50128:2011中要求的技术和措施是否按S如采用其他替代的技术或措IL等级全部实施,2
各个阶段的软件验证活动软件功能安全验证活动是以软件安全生命周期模型为基础,其在各个阶段开展的活动。2.1
项目计划阶段求,在软件开发的项目计划阶段就进行了一系列的计划编、制工作,输出的计划类文档包括软件开发计划(软SDP))、、件安全计划(软件验证和确认计划(软件质SSPSVVP)、。软件量保证计划(软件配置管理计划(SQAP)SCMP)验证活动主要针对S输QAP和SSP两份文档进行开展,SSP文档用于说明项目的管理和技术活动如何满足IEC61508和EN50128标准的要求。其中SVVP文档包括软件确认计划和软件验证计划,为了满足IEC61508和EN50128功能安全标准要施;软件需求分析阶段的所有问题是否全部解决;IEC。出文档为软件质量保证验证报告(SQAVR)施,是否说明其合理性;所有软件需求是否被基于需求的测试用例覆盖,且能支撑双向跟踪关系的建立。2.3
软件架构设计阶段软件架构设计阶段依据软件需求进行软件结构设计,()。软件验证活动完成该两份文档的审查和分析,SITS。输出文档为软件架构设计验证报告(SADVR)SADS文档描述了嵌入式实时操作系统的架构和设计。SITS文档描述了软件集成测试内容。它主SADVR是软件架构设计阶段的验证活动总结,要说明以下内容的验证结果:所有软硬件的相互作用是否识别、分析且有详细说明;所有组件是否明确标识,并说明其确认状态和S软件架构描述是否完整、一致、清IL等级;晰、准确、可验证、可测试、可维护且可行;设计是否考虑错误处理机制;是否建立软件架构设计与软件需求的双向跟踪关系;发现的所有问题是否均已归零或对存在的偏差有合理解释;在软件架构设计期间是否采用计划阶段定义的一组必要的技术或措施,对未使用的技术或措施应获得认可;软件组件间的接口以及软件外部接口是否全部覆盖且被处理;接口描述是否说明前置/后置条件、数据边界值及编制软件架构设计规范(和软件集成测试规范SADS)软件验证计划是用于说明如何对给定阶段的输出通过测试和评价的方式确保相对该阶段输入的正确性和一致性。过程受控且符合所有必要的认证要求所采用的过程和方法。它主SQAVR是项目计划阶段的软件验证活动总结,要说明以下内容的验证结果:软件质量保证体系对标准要求的落实情况;人员的组织结构、人员能力和责任权限是否满足要求;对产品复审和过程审核时机安排的合理性;对项目进度安排的有效性和可行性;定义的软件安全生命周期模型的标准符合性;模型内各阶段的准入与退出条件、输入输出文档和人员角色描述的清晰性和完整性;计划使用的工具的齐全性以及资质认证是否符合要求;选择的技术措施与功能安全标准中相应SIL等级所推荐的方法的一致性,同时对未采用的措施进行了合理的解释说明;问题报告和处理流程设计能否有效解决所提出的问题。SQAP文档描述了为使嵌入式实时操作系统的开发
敬请登录网站在线投稿
()2021年第2期
1 7
其行为、时间关键的输入和输出、正确运行的时间限制、异常的管理、接口缓冲的内存分配以及检测内存分配失败或缓冲区满的机制、功能之间存在的并发机制;接口输入输出涉及的所有数据是否均考虑有效等价类和无效等价类;是否建立软件集成测试与软件架构设计的双向跟踪关系。果分析。SUTVR是软件单元测试阶段的软件验证活动总结,它主要说明以下内容的验证结果:软件单元测试报告是否说明测试责任人、测试结果、测试目标和准则的满足情况以及不通过情况的记录和分析;测试用例和测试结果是否以机器可读形式记录;测试执行是否可重复;自动化测试脚本是否经过验证;是否说明相关项的标识和配置情况(包括使用的硬件、软件、设备以及测试规范的版本;等)是否说明测试覆盖和测试完成情况的评价以及任何偏离情况;是否陈述单元测试结论及对软件单元设计要求的满足情况;是否建立软件单元与软件详细设计的双向跟踪关系;软件单元测试结果是否经过复审。2.4
软件详细设计阶段)的详细设计,编制软件详细设计规范(和软件单元SDDS)。软件验证活动完成该两份文档的审测试规范(SUTS包含具体算法SDDS文档描述软件单元的详细设计,和数据结构。。查和分析,输出文档为软件详细设计验证报告(SDDVR)软件详细设计阶段依据软件架构设计完成软件单元它主要说明以下内容的验证结果:是否覆盖软件架构设计可理解性和可测试性;是否说明与环境或其他单元的接口;软件单元内是否没有进一步分配的S算法描IL等级;述和数据结构设计的正确性;是否设计相应的错误报告机制;是否建立软件组件与软件单元的双向跟踪关系;是否处理所有发现的问题;是否按规定的技术或措施完成软件单元设计;软件单元测试规范是否定义并说明可接受准则以及S是否建立软件详细IL等级要求达到的测试覆盖度;设计与软件单元测试的双向跟踪关系;软件单元测试用例设计是否能支撑验证所有软件单元及软件单元间交互功能的实现。SUTS文档详细描述了针对每个软件单元的测试内容。SDDVR是软件详细设计阶段的软件验证活动总结,2.7
软件集成测试阶段软件集成测试阶段完成软件单元集成与测试,编制软,件集成测试报告(软件验证活动完成软件集成测SITR)(。SUTVR)试报告的审查和分析,输出文档为软件集成测试验证报告中标识的所有软件单元;软件单元设计的一致性、可读性、SITR文档描述了软件集成测试的过程和结果分析。验SUTVR是对软件集成测试阶段的软件验证活动总结,证内容与软件单元测试阶段相似。2.8
软件确认阶段,体测试报告(软件验证活动完成软件整体测试报OSTR)(。OSTVR)告的审查和分析,输出文档为软件整体测试验证报告OSTR文档描述了软件确认阶段的测试过程和结果分析。O验STVR是软件确认阶段的软件验证活动总结,证内容与软件单元测试阶段相似。软件确认阶段完成基于需求的用例执行,编制软件整/实现阶段2.5
软件编码软件编码/实现阶段依据软件详细设计完成软件代码实现。软件验证活动完成源代码的审查和分析,输出文档。为软件源代码验证报告(SSCVR)SSCVR是软件编码/实现阶段的软件验证活动总结,它主要说明以下内容的验证结果:源代码的可读性、可理解性和可测试性;源代码是否受控;源代码与软件需求及软件架构的一致性;源代码对编码规范的满足程度;源代码实现的正确性和一致性;源代码模块大小及复杂度是否满足要求。3
问题处理流程软件验证活动应由独立的软件验证人员按计划实施,如果在验证过程中发现实际结果与期望结果不一致,则应按规定的流程处理,如图2所示,执行步骤说明如下:行步骤2。(:步骤1提交问题)由软件验证人员提交问题,并执(:步骤2问题反馈)问题被反馈给相关责任人。由相关责任人和项目经理对问题的影响域进行分析并决定是否接受问题,如果问题接受则执行步骤3;否则反馈给软件验证人员。如果软件验证人员认可问题反馈,则关闭该问题,否则继续提交给更高层决策。如果更高层认可问题反馈,则关闭该问题,否则执行步骤3。(:步骤3软件修改计划)由相关责任人员针对发现的(:步骤4完成软件修改)由相关责任人员完成对软件2.6
软件单元测试阶段试用例的执行,编制软件静态分析报告(和软件单SSAR)。软件验证活动完成该两份文档的元测试报告(SUTR)(。SUTVR)审查和分析,输出文档为软件单元测试验证报告SSAR文档描述了软件静态测试的测试过程及结果分析。SUTR文档说明了软件单元测试的测试过程和结软件单元测试阶段完成软件静态分析和软件单元测问题制定软件修改计划,并提交给项目经理审核。如果审核通过,则执行步骤4,否则继续执行本步骤。1 8Microcontrollers&EmbeddedSstems
2021年第2期
4
结
语本文以软件安全生命周期模型为基础,详细说明了某嵌入式实时操作系统在各阶段输出的文档,以及针对文档的审查和分析内容;对在软件验证活动中发现的问题还给出了完整的闭环处理流程,为软件功能安全验证活动的执行提供有效支撑。在整体软件测试结束后,还应由软件确认人员执行确认活动,对软件确认活动的总结将作为下一步研究内容。参考文献[]杨春晖,刘奕宏.功能安全标准白皮书,12017.[]王瑞,徐宁,王财进,等.安全软件验证确认在B2TM开发中的[]郑琼,刘锦峰,陈晓轩.3EN50128:2011在轨旁安全平台验证]():应用[铁路技术创新,J.201528890,112.():和确认过程中的应用,2019,55111114.[]//onalsafetfelectricalelectricroram-yopgIEC,2010.:mableelectronicsafetelatedsstems[S].Switzerlandyry,刘鹏辉(工程师)主要研究方向为嵌入式领域安全关键技术的测试图2
软件验证活动问题处理流程,与验证;王淑玲(工程师)主要从事军用嵌入式软件的第三方测评工作。()责任编辑:薛士然
收稿日期:2020-08-14的修改工作,修改完成后执行步骤5。行重新验证,验证结束后则完成问题的处理工作,流程结束。15不带有完成、取消以及回滚功能,而完成、取消、回滚命令又是P工具如果不包含这几项功CB设计者常用的功能,能,会导致PCB设计者在使用该工具误操作时无法快速回滚以及取消操作,给设计者带来不便。本文提出的基于能够在用户误操作D实Form格式的框架开发,atabase时,现对操作的取消、回滚以及完成。另外,该框架也能避免因Form嵌入循环语句导致软件进入死循环的现象发生。参考文献[]凡亿p/[]设计主流软件分析[EBOL].-(:步骤5重新验证)由软件验证人员对修改后的软件进:////[]十四_S、ut软件分析对比(AD、PadsAllero)yg/6e71972452d9.p[],SkillReference2019.g[/EBOL].[2020:///09].”图8
点击一次“命令的效果图Oosp备的功能,以及人工操作比较麻烦的功能,用于提高PCB设计和检查效率。由于S国内kill语言应用具有局限性,开发者往往找不到一种合适的框架,并且开发的工具往往研究的人比较少,在进行带有Form格式的功能开发时,[],[][/[创建函数axlFormCreateEBOL]..:///09].ead1791pg()责任编辑:薛士然
收稿日期:2020-09-14
敬请登录网站在线投稿
()2021年第2期
1 9
版权声明:本文标题:软件功能安全验证活动的应用 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1702769248a430130.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论