Rapita Verification Suite (RVS)
On-target software verification for critical embedded systems
The Rapita Verification Suite (RVS) reduces the effort needed to verify critical embedded software for functional behaviour (requirements-based testing), structural coverage and timing behaviour.
By integrating directly with the native development environment and providing an automated framework for source code instrumentation and verification data collection, it improves the efficiency of software verification.
RVS includes a range of plugins, which allows users to perform the activities needed for critical software verification:
- RapiTest for software functional testing at the system, integration and unit level
- RapiCover for structural coverage up to and including MC/DC
- RapiTime for execution time analysis including worst-case execution time
- RapiTask for visualisation of event scheduling and identification of race conditions and rare events
As each plugin is built on the common RVS technology, it usually takes little to no effort to use multiple plugins together.
Verification projects for critical software often involve multiple users working across multiple geographical domains.
RVS supports this through a range of features:
- Project settings are stored in a single profile file, making it easy for multiple engineers to use the same test environment
- Licensing options include floating licenses, which are usable across geographical boundaries
- Support for the use of version control systems to store project data
- Integration with application lifecycle management tools such as Jenkins
It’s easy to get started with RVS.
From the RVS Project Manager, create a project for on-host testing within minutes.
For a head-start on getting set up, a range of resources is available:
- Interactive tutorials to help understand how to set up and run RVS
- Integration resources including template integration libraries for select targets to help integrate RVS with a development environment
- Detailed documentation
RVS tools can be run automatically as part of a continuous build environment that uses manual scripts or application lifecycle management tools such as Jenkins and Bamboo.
Writing scripts to run rvsdriver, the main RVS command-line application, is easy. The following script, for example, runs dynamic analysis on instrumented source code to produce a report:
rvsdriver –project MyRVSProject.rvsprj –run –report
The RVS Project Manager even helps to do this by providing a tool to allow custom scripts to be generated.
RVS instrumentation has incredibly low execution time and memory overheads on embedded targets. By offering flexible instrumentation approaches, RVS tools make best use of the capabilities and limitations of each system.
Sometimes, instrumentation can be configured using only a single processor instruction (or even none with some target architectures). This means more tests can be fitted into each build of a code, reducing the time needed to upload new tests and download data and increasing the efficiency of a test project.
Rapita Systems provides documentation and tests to support the qualification of RVS tools for use in DO-178B/C (up to and including DAL A) and ISO 26262 projects. These reduce the cost of qualifying the RVS tools by reducing the need for manual analysis.
Two levels of support are offered for tool qualification:
- Tool qualification kits contain suitable evidence to describe an RVS tool for qualification purposes.
- Qualified target integration kits describe the integration of RVS tools into a development environment, and include on-site tests and expected results. These can be provided as a service if RVS is already integrated into the user’s development environment.
Industry-specific Software Verification Tools
RVS Aero is specifically designed to meet the needs of aerospace software verification. Supporting toolchains and operating systems found in avionics systems, and the resource constraints they often have, many commercial and defence aircraft are flying today with systems verified by RVS Aero.
With support for system testing, unit/integration test generation and testing, structural coverage analysis (including MC/DC) and timing analysis (including worst-case execution time), RVS Aero increases the efficiency of aerospace software verification and helps to identify performance bottlenecks in critical aerospace code.
Many high-integrity aerospace applications are designed to satisfy the guidance of DO-178B, DO-178C or equivalent military standards, and are built using ARINC-653 partitioned operating systems. RVS Aero was designed to meet these demanding specifications, and qualification kits are available to support the use of RVS Aero in DO-178B and DO-178C projects.
RVS Aero supports all microprocessors and DSPs, including Power PC; Intel x86; ARM; Infineon Tricore; C167 (and derivatives); Freescale HC12/HCS12/HCS12X; NEC V850; MIPS; TI TMS320 and others. It supports a wide variety of C, C++ and Ada compilers and runs on both Microsoft Windows and Linux. Part of the Rapita Verification Suite (RVS) product family, RVS Aero reduces verification costs and supports system and integration testing processes.
Created for software developers working on high-integrity automotive applications, RVS Auto increases the efficiency of testing processes, aids identification of performance bottlenecks, and is designed for the typical resource constrained embedded environment.
With support for system testing, unit/integration test generation and testing, structural coverage analysis and timing analysis (including worst-case execution time), RVS Auto increases the efficiency of automotive software verification and helps to identify performance bottlenecks in critical automotive code.
Supporting automotive processors, compilers and real-time operating systems which meet AUTOSAR and OSEK standards, RVSAuto is for engineers working with micro-controllers of 8 bits upwards, whether using real-time operating systems or not, and its high-quality qualification kits help meet the verification requirements of ISO 26262.
RVS Auto supports all microprocessors and DSPs, including Power PC; Intel x86; ARM; Infineon TriCore; C167 (and derivatives); Freescale HC12/HCS12/HCS12X; NEC V850; MIPS; TI TMS320 and others. It supports a wide variety of C and C++ compilers and runs on both Microsoft Windows (XP, 2000, Vista, 7) and Linux. Part of the Rapita Verification Suite (RVS) product family, RVS Auto has been developed to reduce verification costs as well as support system and integration testing processes.
RVS for academic and teaching purposes
Designed to meet the needs and budget of the academic environment, RVS Acad provides solutions for verifying critical software and is available at an affordable price compared to commercial versions of RVS.
If you are engaged in research in the field of software verification, we’d love to know, and we acknowledge requests for collaboration on research activities in selected areas.