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.Discover RapiTest
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%.Discover RapiCover
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.Discover RapiTime
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.Discover RapiTask
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.
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
Automate testing on host and target Run tests on host computers and test rigs in continuous build environments.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
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
Integrate with existing build systems Collect data from almost any build system.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
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
C Support for C, Visual StudioTM, GCCTM, DiabTM and TASKINGTM compilers among others.Discover this feature
C++ Support for C++, Visual StudioTM, GCCTM, DiabTM and TASKINGTM compilers among others.Discover this feature
Ada Support for Ada 95, 2005 and 2012, GNAT ProTM and Green HillsTM compilers among others.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 use of RVS within a limited geographical area.Discover this feature
Annual licenses License RVS in annual increments.Discover this feature
Perpetual licenses License RVS for use indefinitely.Discover this feature
FlexNet Publisher compatible export format License usage data is exported in a format compatible for tracking using FlexNet Publisher.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 skilled field application engineers.Discover this feature
Documentation Learn how to use RVS features with comprehensive documentation in both printed and electronic formats.Discover this feature
DO-178B/C qualification kit Qualification kits for RVS qualification in DO-178B/C 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
|On-target deployment||RVS 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 7+|
|Windows Server 2008 R2+|
|Variety of Linux distributions (including Ubuntu and Red Hat)|
|For older operating systems, contact us.|
|RVS can be qualified for use on all supported platforms.|
|IAR Systems||Embedded Workbench|
|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)|
|IBM||PowerPC (PPC) implementations:|
|G2 (602, 603, 604, 620)|
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.
Which industries use RVS?
We have been providing quality products and customer service to companies primarily in the aerospace and automotive embedded industries since 2004, as demonstrated by our case studies. As our products are designed to meet the stringent requirements for DO-178B/C certification in the aerospace industry, they are well-suited to any safety/mission-critical application such as those in the nuclear, medical, industrial and rail industries.
- How do I learn more about RVS?
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.
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, you can ensure 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.
Which host operating systems can RVS be used on?
RVS tools support Windows 7 or newer, Windows Server 2008 R2 or newer, and a 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 our support specification.
Which languages does RVS support?
RVS supports C, C++ and Ada projects, including mixed-language ones.
How is my data presented?
All RVS tools include a friendly user-interface that presents your data 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.
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. Floating licenses follow the “Enterprise” model, meaning that you can use our tools across geographical boundaries and different projects and users.
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 2016, we responded to 97% of new support requests within one working day, closed 56% of these within 3 working days and 91% within 20 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.