398 research outputs found
Embedded Program Annotations for WCET Analysis
We present __builtin_ais_annot(), a user-friendly, versatile way to transfer annotations (also known as flow facts) written on the source code level to the machine code level. To do so, we couple two tools often used during the development of safety-critical hard real-time systems, the formally verified C compiler CompCert and the static WCET analyzer aiT. CompCert stores the AIS annotations given via __builtin_ais_annot() in a special section of the ELF binary, which can later be extracted automatically by aiT
Combining Symbolic Execution and Path Enumeration in Worst-Case Execution Time Analysis
his paper examines the problem of determining bounds on execution time of real-time programs. Execution time estimation is generally useful in real-time software verification phase, but may be used in other phases of the design and execution of real-time programs (scheduling, automatic parallelizing, etc.). This paper is devoted to the worst-case execution time (WCET) analysis. We present a static WCET analysis approach aimed to automatically extract flow information used in WCET estimate computing. The approach combines symbolic execution and path enumeration. The main idea is to avoid unfolding loops performed by symbolic execution-based approaches while providing tight and safe WCET estimate
Loop Bound Analysis based on a Combination of Program Slicing, Abstract Interpretation, and Invariant Analysis
Static Worst-Case Execution Time (WCET) analysis
is a technique to derive upper bounds for the execution
times of programs. Such bounds are crucial
when designing and verifying real-time systems. A key
component for static derivation of precise WCET estimates
is upper bounds on the number of times different
loops can be iterated.
In this paper we present an approach for deriving
upper loop bounds based on a combination of standard
program analysis techniques. The idea is to bound the
number of different states in the loop which can influence
the exit conditions. Given that the loop terminates,
this number provides an upper loop bound.
An algorithm based on the approach has been implemented
in our WCET analysis tool SWEET. We evaluate
the algorithm on a number of standard WCET
benchmarks, giving evidence that it is capable to derive
valid bounds for many types of loops
- …