In-depth execution time analysis for critical software
RapiTime calculates timing metrics such as WCET and high water mark times from embedded targets, helping produce certification evidence and identify optimisation candidates. RapiTime’s configurable instrumentation can be applied to even the most complex targets, including multi-core systems.
RapiTime collects or calculates the following types of execution time data from software tests run directly on embedded hardware:
- Overall execution time per test
- Average execution time through all tests
- High-water mark execution time
- Worst-case execution time (WCET)
- Contribution of each function’s execution time to the overall execution time of the system
RapiTime‘s efficient analysis engine and integration workflow reduces the effort needed to obtain timing results. Coupled with the ease of automating testing to occur during regular builds, timing data is produced faster than ever.
RVS Project Manager allows a user to view and compare results from various stages in a project so that progress can be tracked over time. This application also allows the user to filter results based on the folders, files and functions in a project.
RapiTime makes it easy to optimise code to reduce its worst-case execution time (WCET).
By clearly highlighting the code that has the greatest impact on WCET in a system, RapiTime allows the user to focus optimisation efforts effectively.
This can help free up additional resources on a system, allowing software to meet timing deadlines and supporting the addition of new functionality to systems with resource constraints.
By making changes to the code base and rerunning RapiTime to produce updated timing metrics, users can quickly test the impact of their changes.
RapiTime supports certification of high-criticality software in contexts such as DO-178B and DO-178C.
By helping to produce WCET metrics, RapiTime demonstrates that the users’ code meets timing deadlines, supporting DO-178B/C 6.3.4f. A recommended certification workflow helps users to focus analysis efforts where they will have the greatest impact on system safety and, by clearly highlighting code that should be assessed, RapiTime reduces the effort needed to produce evidence for certification.
Qualification kits are available for RapiTime, supporting its use to provide evidence that users’ software meets its timing deadlines.
The analysis applied by RVS is easily configured through the RVS Project Manager. This lets a user set:
- The files and functions analysed by RVS
- The depth of information produced by the analysis
When working on resource-constrained targets, this ensures a user can get their build to fit on their target hardware.
Users can select from a range of inbuilt profiles to determine how their code is analysed as a whole. To help refine the analysis applied to specific sections of the source code, the RVS Project Manager displays it graphically, making it easy to configure an analysis in context.
This also allows configuration of any advanced settings needed to analyse the code, for example to specify the destination of function pointers in it.
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 Execution Time Analysis
RapiTime Aero is designed to meet the challenges of verifying aerospace software written in Ada, C and C++ for critical embedded systems. The tool collects execution time measurements from software tests run on host computers, simulators or the embedded target itself and reduces the cost and effort needed to analyse execution time behaviour, optimise software and update legacy systems.
By integrating seamlessly with a native build system, RapiTime Aero enables an automatic collection of verification data, for example in continuous build environments. Compared to similar tools on the market, RapiTime Aero has extremely low overheads, so coverage data can be collected in fewer test runs.
RapiTime Aero‘s qualification kits provide evidence needed to qualify the tool for use in DO-178C/ED-12C projects.
RapiTime Auto is designed to meet the challenges of verifying automotive software written in C and C++ for critical embedded systems. It collects execution time measurements from software tests run on host computers, simulators or the embedded target itself and reduces the cost and effort needed to analyse execution time behaviour, optimise software and update legacy systems.
By integrating seamlessly with a native build system, RapiTime Auto enables an automatic collection of verification data, for example in continuous build environments. Compared to similar tools on the market, RapiTime Auto has extremely low overheads, so coverage data can be collected in fewer test runs.