Maxkabakov, Dreamstime.com
Dreamstime maxkabakov 30552642.

MISRA和AUTOSAR编码符合性的实际考虑

2021年4月22日
汽车行业正在向左转,在发展过程中引入安全性和安全保障。我们向您展示如何在符合ISO 26262和ISO/SAE 21434的MISRA和AUTOSAR代码的情况下向左移动。

成员可以以PDF格式下载此文章。

你会学到什么:

  • 应用Misra和Autosar编码要求的实际挑战。
  • 正确的开发和工具方法的重要性。
  • Misra合规背后的关键想法,其中相同的思维过程可以应用于Autosar。


现代汽车软件对安全和安全开发的要求越来越严格。除了古典领域中的开发欧洲风险,底盘和身体电子等畴中,正在开发更先进的新系统,例如数字驾驶舱,信息娱乐系统,自主驱动系统和连接单元。

标准如ISO 26262121434年,ISO / SAE2为如何考虑安全性和安全性,为汽车组织提供对汽车组织的指导。然而,更具体地用于编码和考虑源代码质量,安全性和安全性,有特定的编码指南,如Misra3、4和自动软盘编码指南。5.

什么是MISRA和AUTOSAR?

汽车工业软件可靠性协会(MISRA)为C/ c++软件开发定义了一组指导方针和指令,主要应用于汽车、国防和航空电子等领域的安全关键系统。

MISRA-C: 20123.包括修改16.2,7.哪个是目前可用的最新版本,定义了分成158个的175个开发指南规则和17指令,并进一步将每个规则分为强制性的要求咨询.此外,为了帮助组织验证指南,每个指南被定义为可决定的不可救药.可以使用静态分析工具验证可判定的指南;但是,对于未定定的指导方针,静态分析只能产生不完整的图片,从而产生潜在的误报/底片。

此外,汽车开放系统架构(AutoSAR)定义了一组名为AutoSAR编码指南C ++的指南。5.这些被认为是MISRA-C++:2008的更新4.目前MISRA c++委员会正在对其进行修订。

此外,在2016年,MISRA发布了MISRA合规:2016文件,8.作为组织如何实现MISRA遵守的指南。本文档于2020年更新9.并作为合规流程的正式指南。它定义了处理合规性的可交付成果,包括a指导实施计划,一个指导重新分类计划和一个合规摘要

这些交付是由optional支持的偏差记录偏差许可.特别值得一提的是,被归类为咨询类的规则可能会被重新归类为不适用于指导重新分类计划,这意味着这些规则将不适用于特定的项目。

此外,MISRA合规性文件界定了规则和限制,根据该规则意味着可以重新分类,并且在这种情况下,在这种情况下允许与指南的偏差。最重要的是,关于如何处理所谓的所谓的指导采用代码,例如第三方二进制文件或开源软件。

尽管MISRA Compliance文档提供了指导,但许多组织似乎常常只是应用启用了MISRA或AUTOSAR编码检查器的供应商工具。他们并不清楚遵从性定义和遵从性过程中的自由。

挑战

虽然从表面上看,通过在开发期间遵循一些编码指导方针来实现遵从性似乎很简单,但在实践中存在多种挑战。首先,新系统中的软件,如数字驾驶舱、信息娱乐系统、自动驾驶系统和连接单元,通常由各种来源的代码组成,包括自己开发的代码、第三方开发的代码、商业软件、自动生成的代码和开源软件。

试图在整个代码基础上实现编码一致性是一个主要的挑战,因为软件的某些部分可能没有按照MISRA或AUTOSAR编码指南进行开发。因此,为了符合MISRA或AUTOSAR的编码要求而扫描整个代码库,通常会产生异常大量的编码违规,这对于组织来说是不现实的。

更重要的是,基于特定的指南类型,或者可能被认为与安全性或安全性无关的软件组件类型,这些发现中的许多可能具有较低的优先级。大量的发现使得组织很难确定必须首先解决的最优先的问题。由于代码库包含越来越多来自不同来源的软件,这一事实进一步加剧了这一挑战。

解决方案概述

对于组织来说,清楚地理解代码库的各个部分和具有最高优先级的编码指南是至关重要的,这样才能有效地处理违规。如上所述,naïve方法是使用静态代码分析工具扫描整个代码库,并启用所有编码指南检查器,这会生成大量结果。为了解决这个挑战,下面描述了一个基于两步流程的解决方案。

作为第一步,组织需要为代码库中的相关部分确定相关的编码指南,并为目标系统的软件创建适当的配置。可以应用来自危害分析和风险评估(HARA)或威胁分析和风险评估(TARA)的结果,以更准确地识别代码库中与安全和安全相关的软件组件。

该代码库可以被分割成各种组件,如自主开发的安全关键组件、自动生成的非安全关键组件、第三方开发的安全关键组件、开源软件非安全关键组件、商业非安全关键组件等。中描述了一个简化的示例图1


此外,组织可以确定哪些编码指南适用于代码库的哪些部分。例如,某些规则可能更适用于安全性和安全性 - 关键组件,并且更不适用于非安全和非安全关键组件。然后相应地配置静态码分析工具。它可用于定期扫描代码基础,仅检查与特定软件组件相关的某些编码指南,以实现更高效的扫描。

需要注意的是,组织应该使用具有广泛编码指南检查器覆盖范围的静态代码分析工具来获得更好的结果。10,11.MISRA发现的例子由一个名为Coverity的静态代码分析工具识别12.所示图2.


静态代码分析工具生成由数据分析工具在第二步中处理的结果。我们的目标是探索潜在的结果集,即使不是几十万,也有成千上万的发现,并创建一个客户消耗策略。

Logilica Insights工具13.提供类似于商业智能解决方案中的分析功能,并将它们与视觉表示相结合。这些允许组织探索调查结果,并更容易进入码头的相关Misra合规策略。

除了常见的绘图和可视化技术之外,LogiLica除了所谓的编音良感,14.这是软件存储库的3D地图。每个文件都显示为构建,文件夹显示为平台。可以覆盖度量标准以确定建筑物的大小和颜色。使用该技术的静态码分析工具产生的MISRA发现的示例图3.


建筑的高度反映了文件的大小,建筑的颜色表明MISRA缺陷密度(每个代码大小的结果)。例如,图中红色的建筑具有很高的缺陷密度,并且可能表明这是一个组织应该以更高的优先级首先查看的东西。此外,这种可视化表示可以帮助识别热点,即包含大量违规的特定代码区域。然后组织可以进一步调查可能导致这些热点的原因。

好处

这个解决方案有很多好处。例如,它可以帮助组织更好地识别出最严重的违规规则。此外,它可以提供对这些违规的位置的理解。,哪些组件和哪些文件——并帮助定义遵从性策略。

在第一步中,必须获得正确的工具和过程。静态分析工具是使用目标软件的相关编码准则的特定配置来配置的,以允许更有效的扫描,使扫描能够定期执行(例如,每天)。在第二步中,开发人员和工程管理人员可以使用数据分析工具清楚地了解项目的当前状态。例如,组织可以很容易地确定是否检测到大量的发现采用代码(例如,开源软件组件),或者某些特定规则会生成大量发现。

基于这些见解,组织可以定义一个适当的遵从策略,也许是在未采用的代码中开始消耗,或者排除咨询规则。如中所示图4.,在示例项目中,最容易违反的规则是规则15.5有13,820个调查结果。此规则分类为咨询这个项目可以重新归类为disapplied,意味着可以忽略这13,820个结果。这些策略帮助组织优先考虑并允许软件开发人员专注于正确的领域。


由于汽车系统继续前进并包含更复杂的软件,包括来自各种来源的软件,如自己开发的代码,第三方开发的代码,商业软件和开源软件组件,软件合规性自然是一个更大的挑战。为了克服这些挑战并将编码遵守实践,汽车组织需要建立适当的工作流程并采用适当的技术解决方案。15.

参考文献

1.ISO,“ISO 26262 -道路车辆-功能安全”,2018。

2.ISO/SAE International,“ISO/SAE DIS 21434 - Road Vehicles-Cybersecurity engineering,”2020。

3. MISRA,“MISRA C:2012在关键系统中使用C语言的准则”,2013。

4.MISRA c++:2008在关键系统中使用c++语言的指导方针,2008。

5.AUTOSAR,“在关键和安全相关系统中使用c++ 14语言的指南”,2019。

6. MISRA,“MISRA C:2012修正案1 - MISRA C:2012的额外安全指南,”2016。

7.MISRA,“MISRA C:2012修正案2 - ISO/IEC 9999:2011核心功能更新,”2020。

8.MISRA,“MISRA符合性:2016 -实现对MISRA编码指南的符合性”,2016。

9.MISRA,“MISRA符合性:2020 -实现对MISRA编码准则的符合性”,2020。

10. Synopsys,“MISRA编码标准的覆盖性支持”2020。

11.Synopsys,“对AUTOSAR编码标准的Coverity支持”,2020。

12.概要,“Coverity静态应用程序安全测试”https://www.synopsys.com/software-integrity/security-testing/static-analysis-sast.html

13. Logilica Insights,https://logilica.com.

14.R. Wettel,和M. Lanza,“CodeCity:大型软件的三维可视化”,国际软件工程会议论文集,2008。921 - 922。10.1145/1370175.1370188。

15.D. K. Oka和R. Huuck,“如何将MISRA和AUTOSAR编码符合性付诸实践”嵌入式世界,2021年

来自我们的合作伙伴

权力完整性特征信心

12位分辨率加上0.5%的增益精度确保了灵敏测量的无与伦比的精度,如钢轨坍塌表征…

超高可靠性和低延迟

就在你读这篇文章的时候,5G正在美国推广。有些人有5G兼容的手机,可以连接到AT&T、T-Mobile等公司的网络。

物联网设备调试工具和技术的专业指南

2021年3月23日
嵌入式系统的开发,其中软件和硬件必须很好地结合在一起,已经变得极其复杂和具有挑战性,甚至……

你的技术商数是多少?

采取咬合尺寸的艾美理智景观 - 我们在哪里,我们所在的地方,我们要去哪里。然后用我们的合作伙伴Micr探索更多信息......

协同处理器架构:用于快速原型的嵌入式系统架构

2021年7月6日
编者注:虽然协处理器架构以其数字处理性能和吞吐量而闻名,但它提供了嵌入式系统…

声音你的意见!

本网站要求您注册或登录以发表评论。
目前还没有任何评论。想开始谈话吗?

来自我们的合作伙伴

权力完整性特征信心

12位分辨率加上0.5%的增益精度确保了灵敏测量的无与伦比的精度,如钢轨坍塌表征…

超高可靠性和低延迟

就在你读这篇文章的时候,5G正在美国推广。有些人有5G兼容的手机,可以连接到AT&T、T-Mobile等公司的网络。

物联网设备调试工具和技术的专业指南

嵌入式系统的开发,其中软件和硬件必须很好地结合在一起,已经变得极其复杂和具有挑战性,甚至……

你的技术商数是多少?

采取咬合尺寸的艾美理智景观 - 我们在哪里,我们所在的地方,我们要去哪里。然后用我们的合作伙伴Micr探索更多信息......
Baidu