首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

C++在嵌入式应用中的安全问题 02

C++在嵌入式应用中的安全问题 02

2 关于MISRA
  MISRA(the Motor Industry Software Reliability As-sociation),即汽车工业软件可靠性协会,于1994.年在英国成立,以“协助汽车工业提供安全、可靠的软件”为使命,期望通过“规范指南”的形式来约束人们在汽车电子以及其他嵌入式系统开发领域或涉及安全与可靠性的领域中对于程序语言的使用。由于这些“规范指南”都是从大量工程实践中总结的第一手经验,因而具有极高的指导意义。
  经过4年准备,它在1998年发布了一个针对汽车工业的《Guidelines for the Use of the C Langtlage in VehicleBased Software》,简称“MISRA C:1998'’,针对那些满足C语言标准,却存在安全隐患的语言使用习惯,提出了127条规则。由于它很好地解决了C语言国际标准的冗繁性,以及其中对于安全性考虑的不足性,从而得到了广泛的好评。MISRA-C不仅成为众多汽车厂商推崇的行业标准,其影响力更是远远超出了汽车工业,得到铁路、航空航天、国防、医疗等众多领域的认可,成为“最佳实践”解决方案。2004年,MISRA对于已有的规则进行改编与扩充,推出了“MISRA C 2004”,首次将该规范指南的对象从汽车工业推广到所有具有安全性要求的系统应用中去,包含了强制规则121条,推荐规则20条,并删除了15条旧规则,共计含有141条规则。
  时至今日,MISRA组织不仅是汽车工业软件规范的权威,其制定的规范指南更得到了嵌入式系统应用领域的广泛认可。考虑到近年来,C++语言在嵌入式系统中的应用越来越多,2005年MISRA C++委员会成立,并于2008年推出针对C++语言的《MISRA C++:2008——Guidelines for the USe of the C++ language in critical sys-tems>>,以下简称“MISRA C++:2008”。有兴趣的读者可以联系相关网站:http://www.misra-cpp.com/,购买详细的文档。
  MISRA C++:2008同样从推出之日起,就得到了业内外广泛关注。例如:LDRA软件公司一直跟踪着MIS-RA C++:2008的制定进展,在MISRA C++:2008发布时同步宣称已经完成了对工具套件产品的相应改进,使其符合MISRA C++:2008标准。(LDRA的Testbed产品曾成功用于“神舟”飞船项目的软件测试)
 3 MISRA C++概述
  作为规范指南,MISRA C++:2008基于ISO/IEC 14882:2003的C++语言国际标准,以规则(rule)的形式,给出了相关的建议。它的规则又细分为以下3种类型:
  ①强制型(required),必须符合、允许例外;
  ②推荐型(advisory),推荐符合;
  ③不容讨论型(document),必须符合、不许例外。
  MISRA C++:2008中共给出了20个大类的规则(编号并不连续),细分为228条。详细情况如表1所列。

返回列表