
关键软件的零足迹覆盖分析

收集不含源代码的库的覆盖率
加固封面零允许您分析第三方库或您无法访问其源代码的其他软件部分的覆盖率。
作为加固封面零分析分支跟踪和反汇编以产生覆盖结果,即使您没有访问源代码的权限,它也可以产生结果。
产品特性
-
零足迹覆盖分析 关键嵌入式软件的零足迹覆盖率分析。发现这个功能
-
源到目标代码的可追溯性 从分析程序执行到源代码(在可用的地方)收集的跟踪结果。发现这个功能
-
平台支持 支持编译器,指令集,跟踪捕获机制和RTOSs。发现这个功能
-
自动合并范围 自动合并来自不同构建的覆盖率,例如系统和单元测试。发现这个功能
-
对主机和目标进行自动化测试 在主机上运行测试,并在连续构建环境中进行测试。发现这个功能
-
结合目标代码和源代码分析的覆盖率 结合从目标代码和源代码分析中收集的覆盖率。发现这个功能
-
合并范围效用 轻松地从多个测试运行中合并覆盖率。发现这个功能
-
高效集成的工作流 高效的集成工作流和内置的集成平台支持包。发现这个功能
-
房车服务项目经理 使用直观的用户界面,让您的测试项目从创建到完成。发现这个功能
-
与零足迹的RVS工具共享集成 在集成了一个零占用空间的RVS工具来工作于开发环境之后,再使用其他工具就很简单了。发现这个功能
-
便携式测试环境 多个用户可以共享相同的测试环境。发现这个功能
-
可定制的工作流 定制RVS工作流程,以最佳满足您的需求。发现这个功能
-
模板集成 创建并使用模板集成,以减少将RVS与系统集成的工作量。发现这个功能
-
比较报告 比较来自不同版本的报告以跟踪项目的进度。发现这个功能
-
可配置的导出格式 导出覆盖的结果是多种格式。发现这个功能
-
可定制颜色方案 自定义用于显示结果的配色方案。发现这个功能
-
全面核查toolsuite 一个满足您所有软件验证需求的工具。发现这个功能
-
证明不可测试代码 将代码标记为手动分析覆盖的代码,以证明在测试期间不覆盖代码是合理的。发现这个功能
-
在代码更改时迁移调整 理由迁移;代码更改时,自动或在手动检查后。发现这个功能
-
便携式理由图书馆 所有从事项目的用户都可以使用一个单独的理由存储。发现这个功能
-
多重理由 将单个对正应用于多个位置以减少对正工作。发现这个功能
-
证明模板 创建和应用模板以更轻松地添加新的理由。发现这个功能
-
自定义字段 为您的理由应用和使用自定义字段。发现这个功能
-
树图 查看代码的覆盖范围和层次结构,一目了然。发现这个功能
-
很容易过滤结果 轻松过滤结果,集中您的分析。发现这个功能
-
代码查看器 查看带有语法高亮和结果颜色编码的代码。发现这个功能
-
高级搜索功能 使用高级查询在报告中搜索特定元素。发现这个功能
-
滤波器的作用域 通过特定的文件和函数过滤结果。发现这个功能
-
收集电力循环的覆盖范围 流覆盖数据收集目标电力周期。发现这个功能
-
多核支持 验证关键多核系统。发现这个功能
-
詹金斯 通过Jenkins自动运行RVS来收集和归档结果。发现这个功能
-
竹子 通过Bamboo自动运行RVS来收集和归档结果。发现这个功能
-
全面的语言支持 支持所有以机器代码为目标的语言。发现这个功能
-
灵活的许可选项 选择浮动或节点锁定的许可证,使用年或永久期限。发现这个功能
-
浮动许可证 浮动许可证支持多用户和共享工作环境。发现这个功能
-
节点锁定的许可证 节点锁定许可证支持在有限的地理区域内使用RVS。发现这个功能
-
年度执照 以年度增量为RVS发放许可证。发现这个功能
-
永久许可证 许可RVS无限期使用。发现这个功能
-
很容易开始 集成和学习资源可以帮助您立即开始验证代码。ob 直播发现这个功能
-
支持 专门的技术支持服务,快速解决技术问题。发现这个功能
-
教程 通过简单的交互式教程,了解如何最大限度地利用我们的验证解决方案。发现这个功能
-
培训 跟上由熟练的现场应用工程师提供的定制培训课程。发现这个功能
-
文档 了解如何使用RVS功能与全面的文档在印刷和电子格式。发现这个功能
-
轻松迁移到新版本 使用有指导的迁移帮助轻松迁移到新的RVS版本。发现这个功能
视频
新闻与博客
要求
软件分析由零足迹RVS工具具有以下要求:
- 平台(目标和任何外部设备,例如调试器)必须能够无间隙地生成分支跟踪,以确保能够重构完整的程序跟踪。
- 操作系统需要使上下文切换可见。对于某些系统,支持此功能可能需要对操作系统进行修改。
- R需要一个平台支持包(PSP)VS与开发环境(包括目标硬件和跟踪捕获机制)进行接口,以便将分支跟踪转换为RVS工具理解并分解可执行文件并解析结果目标代码。
psp的开发是为了兼容以下设备:
有关已经支持的组件列表,请参见下面。注意,我们可以添加对下面没有列出的一些组件的支持。
有关零足迹跟踪需求的详细信息,请参阅我们的技术报告.
有关更多信息,请联系info@rapitasystems.com.
编译器
平台支持包(psp)必须能够分解可执行文件以进行进一步的分析。通常,为此所需的工具是作为每个编译器唯一的工具链的一部分提供的。psp已经支持的编译器如下:
- CC-RH850
- Clang(包括ARM变种)
- GCC(包括ARM变体)
我们可以开发对其他编译器的支持。如需更多信息,请联系我们info@rapitasystems.com.
指令集
当代码被反汇编时,平台支持包(PSP)必须能够理解目标代码的指令集,以便在zero footprint R将其用于后续分析之前对其进行解析VS工具。psp已经支持的指令集如下:
- AArch64
- 手臂
- RH850
- x86
我们可以开发对其他指令集的支持。如需更多信息,请联系我们info@rapitasystems.com.
分支的痕迹
使其能够分析平台通过zero footprint R生成的可执行文件VS工具,必须能够从平台收集分支跟踪。默认情况下,某些目标会生成分支跟踪,例如:
- 为满足Nexus基于消息的跟踪协议的至少2级而开发的板
- ARM单板,包括ARM ETM组件
- 为产生分支轨迹而开发的定制板
调试器可用于从目标收集这些分支跟踪。模拟器可生成分支跟踪,也可通过修改分支跟踪来生成分支跟踪。每个平台支持包(PSP)设计用于支持由特定调试器或从特定模拟器收集的分支跟踪。PSP已支持的调试器和模拟器如下所示:
调试器 | 模拟器 |
---|---|
劳特巴赫轨迹32 | QEMU * |
PARTNER-Jet2 |
我们可以开发对其他调试器和模拟器的支持。有关更多信息,请联系我们info@rapitasystems.com.
实时操作系统
使其能够分析平台通过zero footprint R生成的可执行文件VS工具,必须能够收集在软件执行期间所做的上下文切换的信息。这是否可能取决于所使用的实时操作系统(RTOS)及其配置。平台支持包必须能够理解上下文切换信息,以支持零占用R对可执行文件的进一步分析VS工具。下面列出了已经支持的RTOSs psp:
- AUTOSAR自适应平台的eMCOS
- AUTOSAR经典平台的eMCOS(RV850)
- FreeRTOS
- 裸金属(无操作系统)
我们可以开发对其他实时操作系统的支持。如需更多信息,请联系我们info@rapitasystems.com.
操作系统
零足迹RVS可以使用工具来分析在上运行的软件任何主机操作系统.
操作系统 |
---|
Windows 7 + |
Windows Server 2008 R2+ |
各种Linux发行版(包括Ubuntu和Red Hat) |
对于较旧的操作系统,联系我们. |
程序设计语言
语言 |
---|
任何以机器代码为目标的语言 |
复杂的语言 |
多核系统
零足迹RVS可以使用工具来分析来自多核系统的软件。
可通过以下两种方法之一收集适当的分支痕迹:
- 从每个核心收集单独的分支跟踪
- 收集一个分支跟踪,其中包括来自所有核心的结果,可以从中派生出每个分支所取自的核心
常见问题
- 什么是RapiCover Zero?
加固封面零 是一种结构覆盖率分析工具,不需要项目源代码或修改所使用的开发环境封面零分析从兼容目标或数据收集机制收集的分支跟踪信息。
作为R的一部分VS toolsuite,加固封面零 构成软件验证解决方案的一部分,该解决方案还包括用于功能测试和最坏情况执行时间分析的工具。
- RVS工具可以处理多大的代码库?
RVS工具被设计用来处理非常大的代码库。由于RVS在工具中,对R所需的代码行数没有基本限制VS可以处理,而RVS工具已经用于包含数百万行代码的项目。
- rv产品是如何获得许可的?
我们提供“节点锁定”和“浮动”许可,以及一个许可服务器,以支持在您的特定开发环境中使用我们的工具。
有关我们许可模式的更多信息,请参阅RVS授权常见问题.
- 如果我在使用RVS工具时遇到问题怎么办?
所有RVS许可包括访问我们专门的内部支持团队,他们将与您合作,为您的问题提供快速修复。这是我们愿景的关键部分。2016年,我们在一个工作日内回应了97%的新支持请求,在3个工作日内关闭了56%,在20个工作日内关闭了91%。我们也通过我们的网站和电子邮件告知我们的客户已知的问题。
- 你们如何支持房车用户?
我们提供了R的一个扩展集合VS文件与我们的每一个产品,并提供培训课程指导你如何最有效地使用RVS工具。我们所有的用户都可以通过特权访问我们的网站,其中包括新产品发布的下载。
- 我可以添加手动配置,标记我的代码是豁免/不可覆盖的吗?
加固封面和加固封面零包括一个强大的“正当理由让您标记代码为覆盖的机制。使用此特性,您可以提供验证代码的基本原理,并创建模板来更容易地验证代码。当您的代码更改时,正当性将自动迁移,以表示正当性代码的新位置。
有关使用理由的更多信息,请参阅白皮书.
- 当我更改代码时会发生什么?
加固封面和加固封面零保留用于生成结果的代码的修订信息。如果您试图合并不兼容修订的覆盖率,该工具将报告一个错误。加固封面包括一个最佳数据集计算器您可以使用此功能计算代码更改时需要再次运行的最便宜测试,从而节省宝贵的测试工作。
- 我的结果是如何呈现的?
所有RVS工具包括友好的用户界面它以表格和图形格式显示结果。使用这个界面,您可以过滤您的结果,以放大目标功能,使它很容易找到您正在寻找的信息。
Treemaps提供了对代码库的高级概述,并帮助您一目了然地了解代码的覆盖范围。
您可以查看Rapi封面和加固封面零结果在持续集成软件,允许您跟踪您的验证进度随时间的推移。
- 我可以合并从RapiCover和RapiCover Zero收集的结果吗?
是的,你可以。如果你提供VS通过对调试符号的访问,您还可以跟踪从源代码和目标代码收集的结果。
- 如何进一步了解RapiCover Zero?
你可以 申请R的试用版VS包括拉皮在内封面零.你也可以 安排一个示范,我们团队的一名成员将与您合作,向您展示Rapi的优点封面零可以给你的。
- RapiCover Zero可以收集MC/DC结果吗?
加固封面零通过分析程序执行期间产生的分支跟踪,产生覆盖结果。虽然可以从分支跟踪推断出决策覆盖率的覆盖率指标,但大多数分支跟踪不包括产生MC/DC结果的足够信息。
如果需要收集MC/DC结果,可以使用Rapi封面.
- 我可以使用RapiCover Zero衡量哪些覆盖率标准?
您可以使用Rapi测量函数、调用、语句、分支和决策覆盖率封面零.
- 零足迹房车工具支持哪些平台和数据收集机制?
软件分析由零足迹RVS工具具有以下要求:
- 平台(目标和任何外部设备,例如调试器)必须能够无间隙地生成分支跟踪,以确保能够重构完整的程序跟踪。
- 操作系统需要使上下文切换可见。对于某些系统,支持此功能可能需要对操作系统进行修改。
- R需要一个平台支持包(PSP)VS来与平台(包括目标硬件和跟踪捕获机制)进行接口,以便将分支跟踪转换为RVS该工具理解并反汇编可执行文件,并解析生成的目标代码。PSP的开发与平台的四个组件兼容:编译器、指令集、分支跟踪和实时操作系统。
有关zero footprint R软件分析需求的更多信息VS工具和当前支持的平台列表,请参阅我们的平台支持页面.
有关需求的更多详细信息,请参阅技术报告.
- RapiCover Zero是如何工作的?
加固封面零使用两个输入来生成结构覆盖率结果。第一个输入是在执行分析中的程序时收集的分支跟踪,第二个输入是可执行文件的反汇编。通过这些输入,它可以了解程序结构和程序执行期间发生的事件,从而执行rm结构覆盖率分析并生成覆盖率结果。
- 我可以在项目源代码的上下文中查看我的结果吗?
如果您的源代码可用,可以。通过将源代码和调试符号导入RVS项目中,您可以在对象和源代码的上下文中查看结果,并在它们之间进行跟踪。
- 我可以跨电源循环和重置序列收集覆盖率数据吗?
如果您正在使用外部设备收集分支跟踪信息,那么在系统重新启动时,数据将保持在原位,然后可以再次开始收集数据。这意味着您可以在关闭或重置序列中收集覆盖数据。这可能取决于您的目标硬件体系结构和用于收集分支跟踪信息的设备。
- RapiCover Zero支持哪些语言?
作为加固封面零直接分析目标代码以产生结果,它支持任何以机器代码为目标的语言。
- 我可以在持续集成环境中使用RVS工具吗?
RVS与一系列连续集成工具集成,允许您在每次新构建时收集单元测试、覆盖率和执行时间结果,跟踪一段时间内的验证进度,并在引入时轻松识别软件行为中的异常。
加固测试,中封面和加固时间(包括零内存占用版本)包括定制的插件詹金斯和竹子拉比先生测试和加固封面结果也可以通过一系列其他的持续集成工具显示朱尼特和覆盖率与大多数持续集成软件兼容的插件。
- RVS用于软件验证的时间有多长?
Rapita验证套件(RVS)已在关键的嵌入式行业应用超过15年,并支持了全球多个航空电子项目。合格RVS产品支持20多个DO-178B和C认证项目,包括DAL A。
- 我能否从第三方测试框架运行的测试中收集RapiCover Zero结果?
- RVS如何支持企业许可?
浮动RVS许可证遵循“企业”模式。您可以跨地理边界*、在不同的项目中、与不同的用户使用它们,并与从事同一项目的供应商共享它们。
*一些浮动许可证可能被限制在特定的地理区域内使用。在这种情况下,在发放许可证之前就达成协议。
- 什么是平台支持包?为什么需要它们?
zero footprint R需要平台支持包来支持软件分析VS工具。它们在工具和平台之间进行接口,以实现以下目的:
- 将平台生成的本机分支跟踪的特定格式转换为RVS工具理解并可用于后续分析。
- 分解目标代码以了解代码的结构和控制流,以便用于后续分析。
每个PSP设计用于支持平台的各种组件。这些组件包括:
- 用于生成可执行文件的编译器
- 要分析的目标代码的指令集
- 从平台生成的本地分支跟踪格式-这取决于用来生成分支跟踪的机制,可能是目标硬件(或模拟器)或第三方设备,例如调试器。
- 实时操作系统。
需要不同的PSP来支持零足迹R的分析VS当上述任何项在两个平台之间存在差异时,可以使用工具。有关psp如何支持零足迹R的分析的更多信息VS工具,看到我们零足迹RVS分析的要求技术说明.
- 我的平台是否有平台支持包?
要了解我们是否已经开发了与你们平台上的组件兼容的psp,请参阅我们的零足迹平台支持.
如果我们尚未开发与您平台的一个或多个组件兼容的PSP,我们可能能够开发它们。有关更多信息,请联系我们info@rapitasystems.com.