Rapita Verification Suite: On-target software verification for critical embedded systems
Why choose Rapita Verification Suite?
Run requirements-based tests on your code
RVS’s unit, integration and system testing solution, RapiTest, helps you write and run requirements-based tests easily on host or target.
With easy-to-write and easy-to-review yet feature-rich test formats and the ability to create multithreaded tests and test code elements such as generics and private types (without having to write source code), RapiTest cuts the cost of requirements-based testing.
Produce coverage evidence including MC/DC from tests
RVS’s structural coverage analysis solution, RapiCover, automatically instruments your code for structural coverage analysis (up to MC/DC) and collects results while it runs on host or on target.
With an efficient verification workflow, flexible integration strategies and extremely low target overheads, RapiCover has helped customers like Collins Aerospace and OHB Sweden cut their testing effort by up to 40%.
Analyze execution time including worst-case timing on-target
RVS’s execution time analysis solution, RapiTime, automatically instruments your code to measure timing behavior and collects timing results while your application runs on your target hardware.
RapiTime’s hybrid worst-case execution time (WCET) calculation leverages the benefits of static analysis and measurement-based approaches to produce WCET results that represent behavior on the real system and provide a safe upper bound on WCET while minimizing pessimism.
Understand program scheduling behavior
RVS’s scheduling visualization solution, RapiTask, collects task-level timing results during program execution and lets you view these graphically so you can understand your system’s scheduling behavior.
Using RapiTask, it’s easy to locate rare timing events in your system and identify system bottlenecks, and as RapiTask is platform-agnostic, you’ll only have one tool to learn no matter which RTOS you’re working on.
Produce evidence for DO-178 and ISO 26262 certification
Get ready for DO-178C and ISO 26262 certification with our qualification kits. Our off-the-shelf qualification kits and qualified target integration service helps you on the road to qualifying your use of RVS.
Many features of RVS are qualified, including our instrumentation and coverage merging, which has saved customers like Collins Aerospace a huge amount of manual effort.
The Rapita Verification Suite (RVS) has been used in the critical embedded industry for over 15 years and supported a number of avionics projects globally. Qualification kits for qualified RVS products have supported more than 20 DO-178B and C certification projects up to and including DAL A.
Product features
-
Flexible licensing options Select floating or node-locked licenses with annual or perpetual duration.Discover this feature
-
Requirements-based and functional testing RVS’s unit, integration and system testing solution, RapiTest, helps write and run requirements-based tests easily on host or target.Discover this feature
-
Structural coverage analysis RVS’s structural coverage analysis solution, RapiCover, automatically instruments code for structural coverage analysis up to MC/DC and collects results while it runs on host or on target.Discover this feature
-
Analyze execution time behavior RVS’s execution time analysis solution, RapiTime, automatically instruments code to measure timing behavior and collects timing results while applications run on target.Discover this feature
-
Understand program scheduling behavior RVS’s scheduling visualization solution, RapiTask, collects task-level timing results during program execution and lets you view these graphically so you can understand your system’s scheduling behavior.Discover this feature
-
Multicore timing analysis Verify the timing performance of multicore systems.Discover this feature
-
Zero footprint software verification Critical software verification without code instrumentation or modification to build systems.Discover this feature
-
Custom multicore exports Design and automatically generate custom results exports.Discover this feature
-
Analysis and injection engine supports diverse verification activities RVS technology supports custom tool developments to meet verification objectives.Discover this feature
-
Automate testing on host and target Run tests on host computers and test rigs in continuous build environments.Discover this feature
-
Analyze code complexity Analyze the complexity of your source code.Discover this feature
-
RVS Project Manager Take your test project from creation to completion with an intuitive user-interface.Discover this feature
-
Portable test environments Multiple users can share the same test environment.Discover this feature
-
Comprehensive verification toolsuite One tool to meet all your software verification needs.Discover this feature
-
Redact source code for confidentiality Verification can be performed while source code is redacted to support verification by third-party suppliers.Discover this feature
-
Customizable color scheme Customize the color scheme used to display your results.Discover this feature
-
Template integrations Create and use template integrations to reduce your effort integrating RVS with your system.Discover this feature
-
Customizable workflow Customize the RVS workflow to best meet your needs.Discover this feature
-
Easily configurable analysis Apply analysis settings easily using a friendly user interface.Discover this feature
-
Efficient integration workflow Configure integrations of RVS into your development environment quickly and easily.Discover this feature
-
Code viewer View code with syntax highlighting and color-coding of results.Discover this feature
-
Easily filter results Easily filter results to focus your analysis.Discover this feature
-
Visualize call dependencies Visualize the call dependencies in your code.Discover this feature
-
Advanced search function Search reports for specific elements using advanced queries.Discover this feature
-
Integrate with existing build systems Collect data from almost any build system.Discover this feature
-
Compiler wrappers The recommended build integration strategy requires little if any change to the development environment.Discover this feature
-
Clone integration Copy the build system to build and test code with RVS.Discover this feature
-
Test what you compile Test code without modifying your existing executable code.Discover this feature
-
Multicore support Verify critical multicore systems.Discover this feature
-
Low target overheads Fit more tests on your target and reduce the number of builds you need to run.Discover this feature
-
Flexible integration strategies Collect data from almost any embedded target with flexible collection strategies.Discover this feature
-
Lauterbach debugger Collect verification data from Lauterbach debuggers.Discover this feature
-
iSYSTEM debugger Collect verification data from iSYSTEM debuggers.Discover this feature
-
MATLAB® Simulink® RVS can enhance PIL and HIL testing in Simulink® model-based development workflowsDiscover this feature
-
SCADE Test Test your SCADE models on-host and on-target through all phases of the verification lifecycle.Discover this feature
-
Jenkins Run RVS automatically through Jenkins to collect and archive results.Discover this feature
-
Bamboo Run RVS automatically through Bamboo to collect and archive results.Discover this feature
-
JUnit Display RapiTest results in Continuous Integration systems supporting JUnit.Discover this feature
-
Cobertura Display RapiCover results in Continuous Integration systems supporting Cobertura.Discover this feature
-
Software Configuration Management Integration with Software Configuration Management tools ensures that files can be used across a team.Discover this feature
-
Deos Out-of-the-box integration with DDCI-I's Deos operating system.Discover this feature
-
Polarion® ALM™ Integrates with your Polarion® ALM™ traceability workflowDiscover this feature
-
Jama Connect® Integrates with your Jama Connect® traceability workflowDiscover this feature
-
ReqIF format requirements Import requirements in ReqIF formats and export test pass/fail status and requirements coverage.Discover this feature
-
Migrate tests from other tools Migrate tests from your existing test tool to use in RapiTest.Discover this feature
-
VectorCAST® Migrate VectorCAST® tests to use in RapiTest.Discover this feature
-
Legacy testing tool for Ada A straightforward migration path helps you upgrade from a popular Legacy testing tool for Ada.Discover this feature
-
C Support for verification of code written in C.Discover this feature
-
C++ Support for verification of C++ code.Discover this feature
-
Ada Support for verification of code written in Ada.Discover this feature
-
Mixed language support Support for verification of code written in multiple languages.Discover this feature
-
Comprehensive language support Support for all languages that target machine code through zero-footprint analysis.Discover this feature
-
Compiler extension editor Manage extensions to support non-standard programming languages with an interactive editor.Discover this feature
-
Floating licenses Floating licenses support multiple users and shared working environments.Discover this feature
-
Node-locked licenses Node-locked licenses support the use of RVS on a single machine.Discover this feature
-
Annual licenses License RVS in annual increments.Discover this feature
-
Perpetual licenses License RVS for use indefinitely.Discover this feature
-
Easy to get started Integration and learning resources help you get started verifying your code in no time.Discover this feature
-
Support Dedicated support service to resolve technical issues quickly.Discover this feature
-
Tutorials Learn how to get the most from our verification solutions with simple, interactive tutorials.Discover this feature
-
Training Get up to speed with custom training courses delivered by expert engineers.Discover this feature
-
Documentation Learn how to use RVS features with comprehensive documentation in both printed and electronic formats.Discover this feature
-
Easily migrate to new versions Easily migrate to new RVS versions with guided migration help.Discover this feature
-
DO-178B/C qualification kit Qualification kits for RVS qualification in DO-178B/C projects.Discover this feature
-
DO-278A qualification kit Qualification kits for RVS qualification in DO-278A projects.Discover this feature
-
ISO 26262 qualification kit Qualification kits for RVS qualification in ISO 26262 projects.Discover this feature
-
Qualified Target Integration Service Additional evidence to qualify the use of RVS in your development environment.Discover this feature
-
Qualified instrumenters Qualified instrumentation that doesn't require manual review.Discover this feature
-
Assurance issue notification We notify you of issues that may affect the validity of your results as soon as we identify them.Discover this feature
Downloads
Operating Systems
Type | Operating System |
---|---|
On-target deployment | RVS tools can be used to analyze software run on any host operating system or embedded target (as long as a communication channel is available). |
On-host tool | Windows 10 and 11 |
Windows Server 2019+ | |
Variety of Linux distributions (including Ubuntu and Red Hat) | |
For older operating systems, contact us. | |
RVS tools can be qualified for use on all supported platforms. |
Programming languages
Language |
---|
Ada |
C |
C++ |
Mixed languages |
Compilers
RVS is designed to be independent of the target compiler. We have already deployed with the compilers in the list below and can quickly add new compilers as required by our customers.
Vendor | Compiler |
---|---|
AdaCore | GNAT GPL |
GNAT Pro | |
Arm | DS-5 |
armcl | |
Borland | Borland C++ |
Cosmic Software | -- |
GNU | GCC |
G++ | |
Greenhills | Ada MULTI |
C Multi | |
IAR Systems | Embedded Workbench |
Keil | C51 |
Microsoft | Visual Studio |
NXP | CodeWarrior HCS12 |
TASKING | CC166 |
Texas Instruments | CL500 |
CL2000 | |
Wind River | Diab |
CCPPC |
RTOSs
RVS can be used on RTOSs used in the critical software industry. RVS has been used on RTOSs including the following:
RTOS |
---|
AUTOSAR Adaptive Platform |
AdaCore Ravenscar Profile |
Blackberry QNX |
DDC-I Deos |
ERIKA Enterprise |
ESOL eMCOS - AUTOSAR Classic Platform & AUTOSAR Adaptive Platform |
FreeRTOS |
Green Hills Integrity |
Kronosafe Asterios |
LynxOS |
LynxSecure |
MaRTE OS |
MICROSAR - AUTOSAR Classic Platform |
MicroC/OS |
RTXC Quadros |
RI850V4 - micro ITRON v4.0 OS |
RTEMS |
SafeRTOS |
SYSGO PikeOS |
Vector MICROSAR |
Wind River Helix & VxWorks |
CPUs
RVS tools can be used to analyze software run on any host operating system or embedded target (as long as a communication channel is available). The following is a non-exhaustive list of CPUs we have worked with.
Vendor | Platform |
---|---|
Arm | ARM7 |
ARM9 | |
ARM10 | |
ARM11 | |
Cortex-M | |
Cortex-R | |
Cortex-A | |
Analog Devices | Blackfin |
SHARC | |
SigmaDSP | |
TigerSHARC | |
ADSP-21xx | |
Atmel | AT90CAN128 |
Cobham Gaisler | LEON3 |
LEON4 | |
ESA | LEON2 |
Freescale (NXP) | 68000 |
680x0 | |
ColdFire | |
M-CORE | |
Power Architecture (MPC5xx, MPC55xx, MPC56xx) | |
ARM Cortex-M microcontrollers (Kinetis E series, Kinetis K series, Kinetis L series, Kinetis M series, Kinetis W series). | |
56k DSP family | |
QorIQ (P2010, P2020, P4080, P5010, P5020, P5021, P5040, T2080) | |
IBM | PowerPC (PPC) implementations: |
G1 (601) | |
G2 (602, 603, 604, 620) | |
G3 (740/750) | |
7xx/750 family | |
G5/970 series | |
401 | |
403 | |
405 | |
440 range | |
Infineon | |
XE166 family | |
XC 2000 family | |
C166 family | |
TriCore | |
Tricore Aurix | |
Tricore Aurix Gen2 | |
XMC1000 | |
Texas Instruments | TMS320C6x family |
TMS320C28x family | |
TMS570 family |
Analysis methods
The RVS toolsuite includes tools with different mechanisms for collecting verification data from critical software:
- Instrumentation-based tools collect data by adding instrumentation to source code. Instrumentation-based tools include RapiTest, RapiCover, RapiTime, and RapiTask
- Zero-footprint tools collect data by analyzing a branch trace generated during software execution. Zero-footprint tools include RapiCover Zero, RapiTime Zero, and RapiTaskZero.
Each family of tools shares the same compatibility requirements.
Instrumentation-based tools Zero-footprint tools
Instrumentation-based tools compatibility
Instrumentation-based RVS tools support projects written in Ada, C, C++, and mixed language projects using those languages.
Instrumentation-based RVS tools support most Compilers and CPUs used in the critical software industry, and it is easy for us to add support for new Compilers and CPUs.
For more information on the compatibility requirements of a specific instrumentation-based RVS tool, select it from the Solutions menu and navigate to the Compatibility tab.
Operating Systems
Type |
Operating System |
---|---|
On-target deployment |
RVS tools can be used to analyze software run on any host operating system or embedded target (as long as a communication channel is available). |
On-host tool |
Windows 10 and 11 |
Windows Server 2019+ |
|
Variety of Linux distributions (including Ubuntu and Red Hat) |
|
For older operating systems, contact us. |
|
RVS tools can be qualified for use on all supported platforms. |
Programming languages
Language |
---|
Ada |
C |
C++ |
Mixed languages |
Compilers
RVS is designed to be independent of the target compiler. We have already deployed with the compilers in the list below and can quickly add new compilers as required by our customers.
Vendor |
Compiler |
---|---|
AdaCore |
GNAT GPL |
GNAT Pro |
|
Arm |
DS-5 |
armcl |
|
Borland |
Borland C++ |
Cosmic Software |
-- |
GNU |
GCC |
G++ |
|
Greenhills |
Ada MULTI |
C Multi |
|
IAR Systems |
Embedded Workbench |
Keil |
C51 |
Microsoft |
Visual Studio |
NXP |
CodeWarrior HCS12 |
TASKING |
CC166 |
Texas Instruments |
CL500 |
CL2000 |
|
Wind River |
Diab |
CCPPC |
RTOSs
RVS can be used on RTOSs used in the critical software industry. RVS has been used on RTOSs including the following:
RTOS |
---|
AUTOSAR Adaptive Platform |
AdaCore Ravenscar Profile |
Blackberry QNX |
DDC-I Deos |
ERIKA Enterprise |
ESOL eMCOS - AUTOSAR Classic Platform & AUTOSAR Adaptive Platform |
FreeRTOS |
Green Hills Integrity |
Kronosafe Asterios |
LynxOS |
LynxSecure |
MaRTE OS |
MICROSAR - AUTOSAR Classic Platform |
MicroC/OS |
RTXC Quadros |
RI850V4 - micro ITRON v4.0 OS |
RTEMS |
SafeRTOS |
SYSGO PikeOS |
Vector MICROSAR |
Wind River Helix & VxWorks |
CPUs
RVS tools can be used to analyze software run on any host operating system or embedded target (as long as a communication channel is available). The following is a non-exhaustive list of CPUs we have worked with.
Vendor |
Platform |
---|---|
Arm |
ARM7 |
ARM9 |
|
ARM10 |
|
ARM11 |
|
Cortex-M |
|
Cortex-R |
|
Cortex-A |
|
Analog Devices |
Blackfin |
SHARC |
|
SigmaDSP |
|
TigerSHARC |
|
ADSP-21xx |
|
Atmel |
AT90CAN128 |
Cobham Gaisler |
LEON3 |
LEON4 |
|
ESA |
LEON2 |
Freescale (NXP) |
68000 |
680x0 |
|
ColdFire |
|
M-CORE |
|
Power Architecture (MPC5xx, MPC55xx, MPC56xx) |
|
ARM Cortex-M microcontrollers (Kinetis E series, Kinetis K series, Kinetis L series, Kinetis M series, Kinetis W series). |
|
56k DSP family |
|
QorIQ (P2010, P2020, P4080, P5010, P5020, P5021, P5040, T2080) |
|
IBM |
PowerPC (PPC) implementations: |
G1 (601) |
|
G2 (602, 603, 604, 620) |
|
G3 (740/750) |
|
7xx/750 family |
|
G5/970 series |
|
401 |
|
403 |
|
405 |
|
440 range |
|
Infineon |
|
XE166 family |
|
XC 2000 family |
|
C166 family |
|
TriCore |
|
Tricore Aurix |
|
Tricore Aurix Gen2 |
|
XMC1000 |
|
Texas Instruments |
TMS320C6x family |
TMS320C28x family |
|
TMS570 family |
Zero-footprint tools compatibility
To support zero-footprint analysis, a platform must have certain properties, and a Platform Support Package must be available for the platform.
The required properties for zero-footprint analysis include the compiler, instruction set, and real-time operating system. The platform must also be capable of generating branch traces from which program execution behavior can be understood.
Zero-footprint RVS tools support the analysis of code written in any language that targets machine code.
For more information on the compatibility requirements of a specific zero-footprint RVS tool, select it from the Solutions menu and navigate to the Compatibility tab.
Requirements
Software analysis by zero-footprint RVS tools has the following requirements:
- The platform (target and any external devices e.g. debuggers) must be capable of producing a branch trace without gaps to ensure that the full program trace can be reconstructed.
- The OS needs to make context switches observable. For some systems, supporting this may require modifications to be made to the OS.
- A Platform Support Package (PSP) is needed for RVS to interface with the development environment, including the target hardware and trace capture mechanisms, in order to convert the branch trace into a format that the RVS tool understands and disassemble the executable and parse the resulting object code.
PSPs are developed to be compatible with the following:
For a list of components that are already supported, see below. Note that we can add support for some components not listed below.
For detailed information on the requirements for zero-footprint tracing, see our Technical note.
For more information, contact info@rapitasystems.com.
Compilers
Platform Support Packages (PSPs) must be able to disassemble executables for further analysis. Typically, tools required for this are supplied as part of a toolchain unique to each compiler. The compilers PSPs already support are listed below:
- Arm Compiler
- CC-RH850
- Clang
- GCC
We can develop support for other compilers. For more information, contact us at info@rapitasystems.com.
Instruction sets
When code has been disassembled, Platform Support Packages (PSPs) must be able to understand the instruction set of the object code so they can parse it before it is used for subsequent analysis by zero-footprint RVS tools. The instruction sets PSPs already support are listed below:
- 68k
- AArch64
- ARM
- PowerPC
- RH850
- VISIUM
- x86
We can develop support for other instruction sets. For more information, contact us at info@rapitasystems.com.
Branch traces
For it to be possible to analyze executables generated by a platform by zero-footprint RVS tools, it must be possible to collect a branch trace from the platform*. Some targets generate branch traces by default, for example:
- Boards that have been developed to meet at least Class 2 of the Nexus message-based trace protocol
- ARM boards including an ARM ETM component
- Custom boards developed to produce branch traces
A debugger may be used to collect these branch traces from the target. Simulators may generate branch traces, or it may be possible to modify them to do so. Each Platform Support Package (PSP) is designed to support branch traces collected by a specific debugger or from a specific simulator. The debuggers and simulators PSPs already support are listed below:
Debuggers |
Simulators |
---|---|
Lauterbach TRACE32 |
QEMU † |
PARTNER-Jet2 |
We can develop support for other debuggers and simulators. For more information, contact us at info@rapitasystems.com.
*In some cases, other approaches may be possible, such as using a branch map.
Real-time operating systems
For it to be possible to analyze executables generated by a platform by zero-footprint RVS tools, it must be possible to collect information on context switches made during software execution. Whether this is possible or not depends on the real-time operating system (RTOS) used and its configuration. Platform Support Packages must be able to understand context switch information to support further analysis of an executable by zero-footprint RVS tools. The RTOSs PSPs already support are listed below:
- eMCOS for AUTOSAR Adaptive Platform
- eMCOS for AUTOSAR Classic Platform (RV850)
- FreeRTOS
- SafeRTOS
- SYSGO PikeOS®
- Bare Metal (no OS)
We can develop support for other real-time operating systems. For more information, contact us at info@rapitasystems.com.
Operating systems
Zero-footprint RVS tools can be used to analyze software run on any host operating system.
Operating System |
---|
Windows 10 and 11 |
Windows Server 2019+ |
Variety of Linux distributions (including Ubuntu and Red Hat) |
For older operating systems, contact us. |
Programming languages
Language |
---|
Any language that targets machine code |
Mixed languages |
Multicore systems
Zero-footprint RVS tools can be used to analyze software from multicore systems.
Suitable branch trace(s) can be collected in one of two ways:
- Collecting a separate branch trace from each core
- Collecting a branch trace that includes results from all cores, where it’s possible to derive the core from which each branch was taken
Instrumentation-based vs instrumentation-free analysis
Both instrumentation-based and zero-footprint (instrumentation-free) RVS verification tools are available to support the following activities:
- Structural coverage analysis – (RapiCover and RapiCoverZero)
- Worst-case execution time analysis (RapiTime and RapiTimeZero)
- Scheduling visualization – (RapiTask and RapiTaskZero)
Depending on your project and needs, instrumentation-based, zero-footprint, or both solutions for each activity may be better for you. Consult the table below to determine which is best for your project.
Features |
RapiCover, RapiTime, RapiTask |
RapiCoverZero, RapiTimeZero, RapiTaskZero |
---|---|---|
Works without source code |
No |
Yes |
Works without Instrumentation |
No |
Yes |
Integration with development environment |
Integration needed |
No integration needed |
MC/DC analysis (e.g. for DO-178C DAL A) |
(RapiCover only) Yes |
(RapiCoverZero only) No |
Tool qualification support |
Yes |
In development - contact us for details |
Trace size and data processing time |
Depends on applied instrumentation |
Typically larger trace and longer data processing times |
Supported platforms (target, data collection mechanism) |
Flexible, almost any platform supported (see compatibility) |
Requirements on platform (branch trace and context switch information must be available), PSP (see compatibility) |
Frequently asked questions
-
What is RVS?
RVS is the leading toolsuite for the verification of critical software.
Used globally in the aerospace and automotive industries, it includes tools for functional and requirements-based testing, timing analysis including worst-case execution time analysis, and structural code coverage analysis.
-
How does RVS work?
RVS works by combining static and dynamic analyses of software execution to gain an understanding of the software architecture. Using this understanding, RVS injects and/or instruments code to perform a variety of functions including generating and running functional test harnesses, analyzing the structural coverage achieved during functional testing, and analyzing the timing behavior of code being executed.
By integrating into the existing development environment and continuous build servers, RVS reduces the cost of software verification. The flexible nature of RVS integrations and its extremely low instrumentation overheads support its use on even the most complex systems, including multicore systems.
-
Which industries use RVS?
We have been providing state-of-the-art verification solutions to companies in the aerospace, automotive, and space software industries since 2004, as demonstrated by our case studies.
As our products are designed to meet the stringent requirements for DO-178C certification in the aerospace industry, they are well-suited for use to verify any mission or safety-critical applications, such as those developed in the nuclear, medical, industrial and rail industries.
-
How do I learn more about RVS?
You can request a trial version of RVS. You can also arrange a demonstration, where a member of our team will work with you to show the benefits RVS can offer you.
-
How does RVS fit into my development environment?
The design requirements of all RVS tools include the ability to work alongside your existing development environment. You can configure these tools to generate verification metrics and run tests using custom scripts, and can integrate the tools into your existing version control and continuous build systems.
All RVS tools can be run from the command line, supporting your automation workflow.
-
How do RVS tools collect data from my target?
All RVS tools support numerous data collection strategies, which are optimized to achieve a minimal instrumentation overhead. You can collect data using debuggers, logic analyzers, directly from the address bus, or using our datalogger, RTBx. By working with you to determine the optimal data collection strategy, we can together ensure that you achieve results with minimal effort.
-
My software is part of a product that must be certified against a safety guideline. Can RVS tools be qualified for use in my project?
All our RVS tools are designed to meet the most stringent needs of certification processes, such as the DO-178B/C process used in the aerospace industry and the ISO 26262 process used in the automotive industry. We can provide developer qualification documents, a template integration qualification report and on-site tests to support you in qualifying RVS tools in projects requiring certification.
-
Can I use RVS on my target, which has limited RAM and/or ROM?
The instrumentation overheads for RVS tools are the lowest in the market, and the tools can support zero-instrumentation overhead in some cases. Because of this, RVS can generate verification data from your source code in fewer builds than possible using other tools. For example, in a recent customer evaluation, RapiCover instrumentation overhead was 4 to 5 times lower than competitor tools, leading to a 92% reduction in the number of builds necessary to test the code base. If necessary, you can configure RVS tools to instrument your code in multiple builds and compile collected data into a single report.
-
Which host operating systems can RVS be used on?
RVS tools can be run on the following x86-64 operating systems:
- Windows 10 and 11
- Windows Server 2019+
- Variety of Linux distributions (including Ubuntu and Red Hat)
RVS tools can be used on projects with unsupported operating systems by using a clone integration to split the process and delegate parts of it to the unsupported machine.
-
Can I use RVS with my build system?
All RVS tools can be integrated to work with almost any compiler and target hardware. Our integration service promises to deliver a robust integration of RVS into your build system.
-
Which hardware architectures do RVS tools support?
RVS tools can be integrated to work with almost any embedded target. Our engineers can work with you to determine the optimal strategy for integrating the tool with your target, even for multi-core architectures. For more information on the hardware architectures we have integrated RVS tools with, see the compatibility information on our RVS product pages.
-
Which languages does RVS support?
RVS supports C, C++ and Ada projects, including mixed-language ones.
-
How are my results presented?
All RVS tools include a friendly user-interface that presents your results in both tabular and graphical formats. Using this interface, you can filter your results to zoom in on target functions, making it easy to find the information you are looking for.
You can view RapiTest, RapiCover and RapiTime results (and results for zero-footprint versions) in continuous integration software, allowing you to track your verification results over time.
-
How large a code base can RVS tools handle?
RVS tools are designed to handle very large code bases. Because of the efficient algorithms used by RVS tools, there is no fundamental limitation to the number of lines of code that RVS can process, and our RVS tools have been used on projects with millions of lines of code.
-
How are RVS products licensed?
We offer both “Node-locked” and “Floating” licenses, and a license server to support use of our tools in your specific development environment.
For more information on our licensing models, see our RVS licensing FAQs.
-
What happens if I encounter an issue while using an RVS tool?
All RVS licenses include access to our dedicated in-house support team, who will work with you to provide a rapid fix to your issue. This is a critical part of our vision. During 2021, we resolved 63% of our support requests within 7 working days and 93% within 30 working days. We also inform our customers of known issues via our website and email.
-
How do you support RVS users?
We provide an extensive set of RVS documentation with each of our products, and offer training courses guiding you through the most effective use of RVS tools. All our users can benefit from privileged access to our website, which includes downloads for new product releases.
-
Can I use RVS tools with my continuous integration environment?
RVS integrates with a range of continuous integration tools, allowing you to collect unit test, coverage and execution time results with every new build, track your verification progress over time and easily identify anomalies in your software's behavior as they are introduced.
RapiTest, RapiCover and RapiTime (including zero-footprint versions) include custom plugins to integrate with Jenkins and Bamboo. RapiTest and RapiCover results can also be displayed in a range of other continuous integration tools through the JUnit and Cobertura plugins, which are compatible with most continuous integration software.
-
How does RVS support multicore timing analysis?
RVS, Rapita's verification toolsuite, supports multicore timing analysis by letting you create and run multicore timing tests, automatically capture verification results as these tests run on your multicore platform, efficiently analyze collected results, and generate compliance evidence when your analysis is complete.
RVS includes a range of features that support multicore timing analysis, including:
- RVS supports the collection of a range of metrics during testing, including execution time results and values from hardware event monitors on your platform, such as the number of cache hits and cache misses.
- RVS makes it easy to view and analyze multicore timing results by letting you filter your results on the performance metrics and tests you want to see and letting you select a baseline against which to compare your results.
- RVS lets you generate custom exports to provide compliance evidence. Custom exports reduce your documentation effort by automatically pulling in results from your reports and automatically reporting pass/fail status based on your success criteria.
- RapiTime lets you automatically merge timing results collected during multicore timing analysis into a single report. This lets you collect and analyze results from multiple test runs, multiple builds and multiple time points, and supports running results on multiple test rigs.
-
How long has RVS been used for software verification?
The Rapita Verification Suite (RVS) has been used in the critical embedded industry for over 15 years and supported a number of avionics projects globally. Qualification kits for qualified RVS products have supported more than 20 DO-178B and C certification projects up to and including DAL A.
-
My project includes subcontracting organization(s) and I have confidentiality concerns. Can RVS help me?
To support verification, RVS stores a copy of your source code in your verification results. RVS lets you remove this copy of your source code from your RVS project, so any subcontracting organizations you’re working with can’t see your proprietary information. A subcontracting organization can then verify aspects of your software using the redacted results, and you can later restore the copy of your source code for your internal use by merging your results.
Note that, as running functional tests requires access to the source code under test, this feature is not available for RapiTest.
-
How does RVS support Enterprise licensing?
Floating RVS licenses follow an “Enterprise” model. You can use them across geographical boundaries*, in different projects, with different users, and share them with suppliers working on the same project.
*Some floating licenses may be restricted to use within a specific geographical region. Where this is the case, this is agreed before licenses are issued.
-
Can I create and manage groups for my floating RVS licenses?
Yes, you can create and manage groups of users for your floating RVS licenses. You can restrict each group to only serve licenses to specific hostnames or IP addresses. This allows you to reserve licenses for specific groups or specific purposes such as supporting the use of RVS on a continuous integration server.
Any licenses that you don’t reserve will remain available as floating licenses that can be shared among different users and geographic locations.
-
Can I use RVS to test my SCADE model code on target?
Yes. RapiTest lets you automatically convert your existing SCADE Test tests into RapiTest tests so you can test your code on target.
You can also use RapiTime to support on target worst-case execution time analysis of your model code and any handwritten code you use in your project.
-
Can I use RVS to verify my code that runs on Deos?
Yes. RVS has an out-of-the-box integration with Deos, which makes it possible to generate an RVS project and integration in just 3 clicks from an existing OpenArbor project.
This benefits from the debug capabilities offered by Deos to automatically apply configuration settings needed for your RVS project.
The generated project and integration lets you use RapiCover for on-target structural coverage analysis, RapiTime for on-target worst-case execution time analysis, and RapiTask to let you visualize the scheduling behavior of your code.
-
How does RVS support the analysis of shared code compiled by build systems with multiple executables?
RVS supports the analysis of shared code compiled by build systems with multiple executables by letting you specify the source files that will be compiled in each executable.
If you have functions that are declared in multiple components with the same name but have different definitions, RVS can treat each such function uniquely, for example to provide separate coverage in RapiCover and separate execution time results in RapiTime.
-
How can RVS help me understand my code base?
RVS analyzes the structure of your code and presents information on your code’s structure, helping you understand your code and its dependencies in a variety of forms such as the following:
- RVS analyzes the McCabe complexity of your code and presents the complexity of each code element, letting you easily identify code with high complexity.
- RVS Treemaps present the hierarchy of your code’s components and source files graphically.
- RVS lets you view and explore the call dependencies in your code.
-
How does RVS supplement my Simulink model-based development workflow?
RVS can supplement model-based development workflows using MATLAB® Simulink® to support on-target verification of model-based code and verification of handwritten code.
RapiCover supports generating structural coverage metrics for model-based code in SIL, PIL and HIL testing environments, while RapiTime supports execution time analysis including WCET analysis of model-based code from on-target testing in PIL and HIL environments.
RVS can be used to support functional testing, structural coverage analysis and execution time/WCET analysis of additional handwritten code used in projects that use Simulink.
-
How is RVS optimized to support my industry?
Different variants of RVS are available, each of which is optimized to best meet the verification needs of specific software industries:
- RVS Aero includes example projects, tutorials and analysis profiles optimized for engineers working on DO-178C/ED-12C projects. Analysis profiles are available based on verification requirements for DAL A-C software.
- RVS Auto includes example projects, tutorials and analysis profiles optimized for engineers working on ISO 26262 projects. Analysis profiles are available based on verification requirements for ASIL A-D software.
- RVS Space includes example projects, tutorials and analysis profiles optimized for engineers working on NASA NPR 7150.2D and ECSS-E-ST-40C projects. For ECSS-E-ST-40C, analysis profiles are available based on verification requirements for software Criticality Category.
-
Which certification standards and guidelines can RVS help me to achieve?
RVS supports meeting standards and guidelines for verification of mission and safety-critical applications including:
- Civil aerospace software guidelines DO-178C (ED-12C), DO-278A (ED-109), AC 20-193 & AMC 20-193
- Military & defense aerospace standards MIL-HDBK-516C, AA-22-01 AMACC, EMACC, ADSM, Def Stan 00-55 & Def Stan 00-56
- Automotive standard ISO 26262
- Space software standards NASA NPR 7150.2D, ECSS-E-ST-40C
- Other standards based on IEC 61508, including IEC 62279, EN50128 & EN 50657 (rail), IEC 61511 (industrial processes), IEC 61513 (power), IEC 60880 (nuclear) & IEC 62061 (machinery)
-
Can I use RVS if I don't have access to my project source code?
Yes. Zero-footprint (instrumentation-free) RVS verification tools are available to support the following activities:
- Structural coverage analysis – (RapiCoverZero)
- Worst-case execution time analysis (RapiTimeZero)
- Scheduling visualization – (RapiTaskZero)
-
Is instrumentation-based or instrumentation-free analysis best for me?
Both instrumentation-based and zero-footprint (instrumentation-free) RVS verification tools are available to support the following activities:
- Structural coverage analysis – (RapiCover and RapiCoverZero)
- Worst-case execution time analysis (RapiTime and RapiTimeZero)
- Scheduling visualization – (RapiTask and RapiTaskZero)
Depending on your project and needs, instrumentation-based, zero-footprint, or both solutions for each activity may be better for you. Consult the table below to determine which is best for your project.
Feature
RapiCover, RapiTime, RapiTask
RapiCoverZero, RapiTimeZero, RapiTaskZero
Works without source code
No
Yes
Works without instrumentation
No
Yes
Integration with development environment
Integration needed
No integration needed
Tool qualification support
(RapiCover and RapiTime only) Yes
(RapiCoverZero and RapiTimeZero only) In development - contact us for details
Trace size and data processing time
Depends on applied instrumentation
Typically larger trace and longer data processing times
Supported platforms (target, data collection mechanism)
Flexible, almost any platform supported (see compatibility)
Requirements on platform (branch trace and context switch information must be available), PSP needed (see compatibility)
MC/DC analysis (e.g. for DO-178C DAL A)
(RapiCover only) Yes
(RapiCoverZero only) No
RVS success stories
RVS has been used by aerospace and automotive companies across the world.