美国 Verocel 公司成立于 1999 年,提供安全关键软件领域中软件验证的专业技术和服
务。Verocel 的团队具有向航空航天、核能和轨道交通领域提供安全关键软件服务和
RTCA/DO-178B 认证服务的丰富的经验。服务包括开发和评审软件计划和标准,软件需求
和测试开发,软件结构覆盖率分析,生命周期数据可追踪性,以及外包支持。
Verocel 还开发了业界独特的工具套件,可以帮助我们:
● 通过自动化提高效率——通过使用工具可以避免可能的人工的重复性劳动或者使之变
得更容易;
● 通过集成性提高质量——通过确保所有相关数据被自动追溯的方法;
● 降低成本。
工具套件包括:
● VeroTrace:允许您管理认证所需要的可追踪性数据的产生和评审;
● VeroStyle:转换您的 XML的数据到使用“stylesheet”格式的文档中;
● VerOCode:允许您在不插装源代码或使用特殊硬件的情况下在目标计算机上在目标代
码级测试结构覆盖;
● VerOLink:帮助您满足 DO-178B 的控制目标
产品功能特点
VeroTrace – 需求和生命周期可追踪性工具
VeroTrace 是一个需求可追踪性管理工具,提供一个需求可追踪性数据库的图形用户接
口,其中包含:
● 系统需求;
● 软件需求;
● 顶层需求;
● 底层需求;
● 相关部件的名字,例如源代码,设计组件,测试过程,功能测试结果,覆盖率结果,以
及支持所有需求的所有评审文件名。
这些部件本身是单独在一个配置管理系统中维护的,Verocel 允许您:
● 添加、修改和删除需求及其部件;
● 查询需求和部件;
● 跟踪每个需求和部件的评审状态(Not Ready,Ready for Review,Failed,Passed 和
Signed);
● 在线评审需求和部件; 从配置管理提取部件用于评审; 记录评审意见到可追踪性数据库;
自动生成评审检查表(通过 VeroStyle的帮助);以及检入检查表到配置管理;
● 确定一个需求的整个状态,即
■ 他相关的所有部件是否已经导入?
■ 他部件的评审状态是什么?
■ 需求处于生命周期过程的什么阶段?
● 生成 XML文件用于 VeroStyle转换到报告和度量中。
VeroTrace 也是一个生命周期可追踪性管理工具,允许您产生、管理和发布用于支持软
件认证/审核的所有数据。 VeroTrace通过自动生成HTML可追踪性信息创建工具, 组织需求、
配置管理配置的部件及所有评审到一个超链接所有生命周期可追踪性数据的本地web站点。
Verocel 首先生成所有可追踪性信息到 XML 文件,然后其可追踪性生成过程使用 XSL
stylesheets转换所有的XML文件到HTML文件, 这样通过任何浏览器都能够查看可追踪性。
超链接的生命周期可追踪性数据提供极大的优势:
● 认证数据非常易于开发人员和评审员评审;
● 消除了枯燥的人工生成和交叉索引数据的工作。 生命周期数据通过其支持的超链接可追
踪性自然地建立了交叉索引。而且,硬拷贝的交叉索引能够通过 Verocel 自动生成为
XML,也可以通过 VeroStyle转换到 Word文档;
● 结果更加准确,因为不正确的和丢失的引用链接可以通过 VeroTrace的验证工具自动检
查到;
● 收集所有数据到 CD-ROM 或DVD-ROM,用于发布、评审和存储。
VeroStyle – 转换您的 XML数据到文档
采用与一个浏览器结合 XML 数据文件和 XSL stylesheet 来转换格式化 XML 数据到
HTML 页面相同的方法,VeroStyle 结合 XML 数据文件和文档 stylesheet 来转换(生成)格
式化 XML数据到一个文档。
通过 VeroTrace产生的 XML数据是 Verocel 在安全关键软件认证过程中的基础。
XML数据提供了认证证明的输出结果间的可追踪性的基础信息。VeroStyle使用同样的
XML数据自动生成许多可追踪性的典型结果,包括:
● 功能测试过程模板;
● 结果评审检查表;
● 可追踪性度量和表格;
● 系统和软件需求规格文档。
文档格式单和结果文档可以是纯文本、RTF 或 Word 格式。VeroStyle不仅转换 XML数
据到格式文档,也可以包含其他文档和图片到结果文档中。下图说明了 VeroStyle 生成输出
文档的过程:
VerOCode – 软件覆盖率分析工具
在 DO-178B 中,要求通过测试来确定是否任何软件构造都没有被需求测试过程忽略。
这被称为覆盖率分析。覆盖率分析需要达到的级别根据相关软件的认证级别而不同。
VerOCode– 验证目标代码
VerOCode 是一个不需要特殊硬件的执行跟踪分析工具。被测试的代码不需要插装(不
添加记录执行状态的功能调用)。应用代码在目标计算机(例如 PowerPC)上执行,执行的
数据图表搜集到一个宿主机上(PC/Windows NT或更高配置)。
VerOCode 使用搜集的执行数据图表与链接器符号信息和编译器产生的清单一起,可以
显示出哪些指令执行了,哪些指令没有执行,以及条件指令执行过程中的条件代码状态。
产生的 VerOCode 结果清单包含了 DO-178B A 级,最高级别的安全性要求所要求的覆
盖率分析的证明。
VerOCode:
● 显示目标代码级的覆盖率,这样就不需要满足源代码到目标代码的可追踪性(DO-178B
A级关于源代码覆盖率的一个目标)要求了;
● 能够结合多个测试的结果,以提供累计覆盖率数据;
● 通过单独搜集每个条件的结果(当应用使用了一些简单的编码约定时),使您能够获得
条件判断的覆盖率(MCDC) ;
● 不会由于插装被测代码影响您的测试结果;
● 能够记录覆盖率数据,作为您的基于需求测试的一部分,而不是专门的覆盖率测试执
行;
● 能够形成一部分可重复的、自动化的测试和覆盖率分析脚本;
● 作为认证证明数据,VerOCode 可以用作一个验证工具,其覆盖率结果可以作为认证信
用。
VerOCode记录和显示被测试程序中执行的指令。对于条件指令,VerOCode显示每次指
令执行时的条件代码的状态。覆盖率在机器码级获得,结果通过一个包含源代码和汇编语言
扩展的程序清单来报告。
VerOCode工作在交叉模式。监控和测试程序(测试控制和被测单元)在目标机上执行,
目标机通过通信口语宿主机连接。一个测试运行以后,搜集的覆盖率数据上载到宿主机来分
析。
VerOCode设计为三个模块:
● 第一个驻留在目标系统中(监控程序),搜集覆盖率数据;
● 第二个是基于宿主机的(分析工具),实现覆盖率分析和报告;
● 一旦覆盖率分析完成,结果文件可以通过第三个 VerOCode 模块,VerOCode Coverage
Editor,来注解。这个模块帮助您确认无用的代码。
VerOCode可以与认证材料一起提供,能够用于 A级认证系统。
VerOCode Coverage Editor
DO-178B 的目标要求您必需说明任何源代码文件中没有执行(覆盖)的指令。为了能
够在不修改原始覆盖率清单的情况下,能够通过说明了没有执行(没有覆盖)的指令的分析
结果来注解覆盖率清单,Verocel 开发了 VerOCode Coverage Editor。VerOCode分析工具标
记了编译器列表文件,说明了源代码文件中通过功能(基于需求)的测试达到的覆盖率,保
存这些信息到 XML文件用于分析。
VerOCode Coverage Editor(VCE)显示覆盖率列表的一个只读拷贝,高亮显示覆盖的和
没有覆盖的代码行。这里是 VerOCode标记过的示例覆盖率列表:
* 0034 stw r10, 36(r1)
> 0038 bne cr1, 0060
- 003c stfd f1, 40(r1)
其中:
● 星号(*)表示执行过的指令;
● 大于号(>)表示条件仅为真;
● 小于号(<)表示条件仅为假。一个条件如果真和假都满足过,就会被标记为执行的指
令,即星号;
● 减号(-)表示指令没有执行过。
通过 VCE,您能够选择没有覆盖的代码行,添加(注解)一个注释来说明没有达到覆
盖的原因。
VCE 将如下显示这些行:
* 0034 stw r10, 36(r1)
> 0038 bne cr1, 0060
- 003c stfd f1, 40(r1)
绿色高亮显示表示指令执行过了或者一个条件真和假都满足了; 红色高亮显示表示指令
或者没有执行,或者条件仅满足了一个(真或假)。