如今,几乎所有的安全关键型嵌入式软件应用都是由三个部分组成:开发人员编写的应用程序代码、标准库组件和实时操作系统(RTOS)。
对于eSOL欧洲公司的工程副总裁Rolland Dudemaine来说,最后一个关键因素是符合安全标准,例如
汽车行业的国际性安全标准ISO 26262。而他的职责之一就是确保团队所开发和支持的实时操作系统经过了全面稳健的合规性测试。
这就是为何eSOL选择了Solid Sands的SuperTest C和C++编译器与库的测试和验证套件来承担这项工作的关键部分。目前,用于汽车和其他安全关键应用的多核处理器在单个芯片上拥有数十或数百个内核,因此验证操作系统的合规性是该公司开发工作的关键部分。
“多核处理是我们很早之前就发现的一个趋势。我们创建了一个名为eMCOS的操作系统,旨在为拥有多达256个内核甚至更多内核的系统上运行,目前该系统主要用于汽车市场的客户,”Rolland Dudemaine说道,“我们还有一个团队可支持Autoware(汽车软件)、AUTOSAR Classic Platform(汽车开放系统架构经典平台)和AUTOSAR Adaptive Platform(汽车开放系统架构自适应平台)。”
为提供基于eMCOS或AUTOSAR安全认证的操作系统和平台,eSOL需要提供经过全面测试的标准编程API(应用编程接口),而SuperTest非常适合此任务。
“每个人都希望操作系统在出厂时带有C语言库,有时还需C++库,因此我们需要确保这些库的功能是按照最新的功能性安全(FuSa)方法进行全面测试的。”
对我们来说,使用SuperTest至关重要,因为即使是使用Arm平台和具有功能安全资格的商用ARM编译器,以及一套合格的C和C++库,也无法满足我们所有需求——诸如malloc(动态内存分配)、部分C库和POSIX库中依赖于操作系统的部分,以及我们操作系统API(应用编程接口)相关的附加标头文件。
“不包括这些部分并不是Arm的缺失,而是因为它们依赖于操作系统,因此Arm工具被设计为操作系统或平台供应商将实现其余部分。”
现在,eSOL的eMCOS开发团队在eSOL每个新发布的操作系统上运行SuperTest,以验证其涵盖的许多操作系统API(应用编程接口)是否按预期运行。
“我们将SuperTest用作功能测试套件、覆盖测试套件和合规性测试套件,因为我们的客户希望eSOL提供的操作系统是已经通过全面的测试并符合要求的,”Rolland说道。“SuperTest已为我们的客户和合作伙伴所熟悉是其一大优势,甚至他们也经常自己使用SuperTest来验证合规性。实际上,在我们的操作系统和库测试上使用SuperTest也对我们的客户和合作伙伴而言更有信心。”
“SuperTest的两大价值首先是测试套件本身的能力,其次是针对已开发的测试所对应的文档。增加新的测试来满足我们的特定需求也并不困难,”Rolland补充道,“除了SuperTest和其包含的C++库测试,我们还增加了其他测试,以配合我们特定的操作系统。”
就安装而言,让SuperTest启动和运行是非常简单的。
“SuperTest的初始安装很简便,代码也很整洁,这意味着该工具可以很快上线。Solid Sands的日本经销商为我们提供了高质量和反应迅速的服务支持,”Rolland说道,“我们不仅将Solid Sands看作供应商,也将其视为合作伙伴,因为使用SuperTest对我们许多客户而言,也会是势在必行的趋势。”