Leaders in Measurement-based Worst Case Execution Time (WCET) tools

Is RapiTime useful for integration testing and regression testing?

RapiTime is well-suited for analysing timing behaviour of software during integration testing and regression testing. The two features of RapiTime that are key to this role in integration testing and regression testing are:

Automatic instrumentation and analysis
RapiTime automatically instruments the code (to whatever level of detail you require). There is no need to manually add measurement points to your source code. Once you have performed your tests, RapiTime takes the results and provides accurate timing results in the report which can be viewed using the RapiTime Report Viewer or exported as a HTML report.
Stability of worst case times
One of the key features of using worst case analysis is that the timing data is quite stable between different tests. In complex systems where components interact in different ways, it is difficult to repeat the same test conditions, making comparisons difficult. Two apparently identical tests can have widely-varying maximum observed execution times. The worst case execution times computed by RapiTime are formed by capturing lots of measurements in the test cases and computing the worst case interaction. The effect is that the resulting times do not change significantly between test runs.

To support the integration of software components from different groups of developers, RapiTime is used to:

  • Check adherence to timing specification (budgets) for software in isolation
  • Provide quantitative information about how integrating components together affects their timing behaviour
  • Identify the execution time taken by each component
  • Help determine total CPU usage and spare capacity
  • Identify weaknesses in test coverage

To support regression testing of software, RapiTime can:

  • Provide stable values for WCET that can be compared with previous data
  • Identify changes in execution times
  • Identify untested code