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.
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.
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
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
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
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 iSYSTEMTM debuggers.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
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
Mixed language support Support for mixed languages in the same code base.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
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
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
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 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 7+|
|Windows Server 2008 R2+|
|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.|
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.
|IAR Systems||Embedded Workbench|
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.
|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:|
|G2 (602, 603, 604, 620)|
|XC 2000 family|
|Tricore Aurix Gen2|
|Texas Instruments||TMS320C6x family|
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 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, 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 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 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 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.
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 performance monitoring counters 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?
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.
RVS success stories
RVS has been used by aerospace and automotive companies across the world.