AbsInt aiT WCET Analyzers statically compute tight bounds for the worst-case execution time (WCET) of tasks in real-time systems. They directly analyze binary executables and take the intrinsic cache and pipeline behavior into account.
The challenge
In real-time systems, timely task completion is of the essence. Each real-time task has to be completed within a specified time frame in order to ensure that the system works correctly. In other words, it is essential that the WCET of each task is known.
However, computing the WCET is a challenge:
“Testing, in general, cannot show the absence of errors.” Source DO-178B/C
- Testing by repeatedly measuring the execution time of a task is tedious and typically not safe. It is often impossible to prove that the conditions determining maximum execution time have been taken into account.
- Modern processor components such as caches and pipelines complicate the task of determining the WCET considerably, since the execution time of a single instruction may depend on the execution history.
- Analysis methods that do not consider cache and pipeline behavior typically overestimate the WCET by orders of magnitude, leading to a substantial waste of hardware resources.
The solution
aiT WCET Analyzers provide the solution to these problems: they statically analyze a task’s intrinsic cache and pipeline behavior based on formal cache and pipeline models. This enables correct and tight upper bounds to be computed for the worst-case execution time.
The analyzers are based on the technique of abstract interpretation. A graphical user interface supports the visualization of the worst-case program path and the interactive inspection of all pipeline and cache states at arbitrary program points.
Your benefits
- aiT-computed bounds are extremely tight and thus reflect the actual performance of your system. Ensuring deadline adherence is not done at the expense of hardware resources.
- aiT-computed bounds are valid for all inputs and each execution of a task. Extensive timing testing is a thing of the past.
- aiT directly analyzes binary executables. It is widely independent of the compiler and source code language used. This means no modification of your toolchain or the system’s operational behavior and performance is required.
Who uses aiT?
aiT was originally designed in close collaboration with Airbus France. For fifteen years now, it’s been used at the Toulouse plant for validating the timing behavior of critical avionics software, including the flight control software of the A380.
– Daimler uses aiT in many automotive software projects, including the powertrain control system of the new Actros truck.
– Vestas uses aiT for static analysis of their wind turbine control software.
– OHB uses aiT in the development of software for geostationary communication satellites and satellite navigation.
– MTU Friedrichshafen uses aiT to demonstrate the correctness of control software for emergency power generators in nuclear power plants.
– NASA used aiT as an industry-standard static analysis tool for demonstrating the absence of timing-related software defects in the 2010 Toyota Unintended Acceleration Investigation.
Meer bij INDES-IDS BV op stand 27.