ISO26262给出的开发SEooC软件的指导方向主要分成以下三步:
第一步:提出SEooC软件的应用范围和安全要求的假设
第三步:将软件集成到特定的应用环境中。集成者应该确保所有的假设都符合要求。如果有一些假设不能被满足,应该进行相应的影响分析,以保证安全性不被影响,或者采取相应的设计更改。
(本图为SEooC软件开发流程的示例)
瑞萨的软件工程师和安全工程师都拥有多年开发软件的经验。开发团队会仔细地分析产品和所应用的系统环境,以尽可能准确完整地总结这些假设。瑞萨的开发流程保证了基于这些假设的产品安全要求能够被审阅和评估。
在第二步中,一个很大的挑战是由软件的可配置性导致的。由于很多SEooC软件产品需要被应用到不同的上级产品中,通常这些SEooC软件会提供可配置选项,供用户设置。SEooC软件被配置后集成到上级产品时,这个配置就需要被测试和验证。如果配置参数的数量增加,这些参数组合到一起最终产生的软件配置的数量就会呈指数级增长。如果需要对每一个可能的配置都进行测试是不可能的。那么SEooC软件供应商怎样保证所作的测试能够提供足够的把握呢?ISO26262提供了两种可供选择的建议:
简化流程二:在软件发布前测试一系列(大量的)软件配置;而在软件发布后,客户可以分析和证明客户使用的设置已经通过了发布前所作的测试。软件发布前测试的目标是尽可能多地涵括软件配置。瑞萨电子使用了很多最前沿的测试方法:N-wise测试⁶,功能组合测试,随机测试等等。这些测试方法旨在优化测试的软件配置数量,用最少的测试涵盖最多的配置范围。应用这些测试方法,用户使用的终端配置更有可能已经在发布前被测试过,可以减少额外的测试工作和开销。
在第三步中,SEooC软件最终发布到客户手中时,客户所需做的是验证供应商提出的假设,以及将SEooC软件集成到客户系统中。这有时很有难度,因为如果要验证所有的假设,可能需要花很多时间。而且这也要求客户对这些假设有正确的理解。在验证过程中,难免会遇到有些假设并不能完全被满足。在这种情况下,就需要客户或者供应商来更改SEooC软件的设计,或从系统层面上修改设计来保证安全性。这会产生额外的努力和开销。在瑞萨电子,我们会向客户开放所有在SEooC软件开发中考虑的假设。这些假设都被记录在安全应用说明书(SAN)当中。SAN的起草和审核是很严谨的,用户可以借助它来更好地理解以及验证这些假设。瑞萨电子还提供功能安全客户支持项目,如果客户有任何关于SEooC软件的问题,瑞萨的支持工程师会提供详细的解答。
联系客服