这种文件类型包括高分辨率的图形和原理图(如适用)。
电子设计的比尔·王与巴尔集团安德鲁Girson关于组织如何通过对嵌入式开发人员的指导、倡导和培训来支持编码标准和安全软件实践。
王:目前使用的典型C编码标准是什么?
Girson:有相当多的编码标准。我们最近的安全和安全调查结果表明,大多数使用编码标准的公司已经开发了他们自己的专有标准。根据调查结果,最流行的发布标准是MISRA编码指南,尽管Barr Group的编码标准和基于Linux内核的编码标准也有追随者。
王:为什么有这么多不同的编码标准,为什么在实践中有这么多的例外?
Girson:组织对于他们所开发的软件有不同的要求和需求。对于代码视觉表示的风格观点也因组织和组织中的个人而异。这些因素在解释为什么如此多的组织创建他们自己的专有标准时占主导地位,即使他们是基于已发布的标准。
关于编码标准规则的异常,因为风格的观点驱动着许多编码标准的决策,不同意见会导致异常。此外,在当今的嵌入式软件世界中,大多数软件代码库包含来自多个组织的代码,这些组织可能使用不同的(或没有)编码标准。所以,你得到了基于各种编码标准的代码库。
王:巴尔编码标准有什么不同?
Girson:组织将许多哲学和策略合并到编码标准中。在我们的例子中,开发Barr集团嵌入式C编码标准的主要决策是基于可靠性和正确性。在编码标准规则上的一个选择将导致更少的错误和更高的可靠性,这就是我们在标准中实现的规则。我们的编码标准还将可读性和可移植性作为重要的方面。
因此,当创建可靠的代码涉及到许多过程因素时,编码标准扮演着重要的角色,Barr Group嵌入式C编码标准特别关注于将缺陷排除在软件之外。
王:使用编码标准有什么好处?
Girson:虽然我们已经讨论过可靠性、可移植性和可读性是使用编码标准的主要优点,但可维护性的概念非常重要。大多数代码库存在几年甚至几十年,这些代码库可能由没有参与原始开发的工程师维护和更新。随着代码基础的发展,要保持代码的质量和可靠性,需要对代码有很好的理解,而这种理解从编写良好且风格一致的代码开始。
王:有什么方法可以自动执行编码标准?
Girson:许多商业上可用的静态分析软件工具都包含了执行编码标准的方法。而且,其中许多工具已经为常用的标准(如MISRA编码指南和Barr Group标准)提供了配置文件。提供此类工具的公司包括LDRA、Gimpel Software、GrammaTech和Synopsys。
王:使用自动执行机制的开发人员的百分比是多少?
Girson:巴尔集团的结果2016嵌入式软件安全与安全调查表明缺乏使用工具来自动执行编码标准。在大约2500名受访者中,只有大约50%的人在他们的项目中以任何方式实际使用静态分析工具。在那些遵循编码标准的人当中,只有23%的人是部分自动化的,7%的人是完全自动化的(见图).
在开发嵌入式设备的工程师群体中,如果设备发生故障,就可能导致用户死亡或受伤,在他们的项目中使用静态分析工具的受访者数量增加到84%。你想成为这一群体中另外16%的受访者开发的设备的用户吗?我知道我不会!
王:对于使用编码标准,您有什么建议?
Girson:主要的建议是使用一个标准,并通过使用静态分析来实施它。在Barr Group,我们的目标是在嵌入式软件社区中提供一个客观的声音,因此,我们通常不会推荐一种工具而不是另一种工具。事实上,有许多编码标准和工具可供使用。选择最适合你具体需求的。而且,即使您的代码库的一部分来自没有使用编码标准的第三方,也没有理由在您自己的代码中不使用编码标准。
在您的组织中提倡使用编码标准、静态分析和同级代码审查。你的代码会更好,你的用户会感谢你,你的组织会减少长期的负债和开发成本。
引用: