The determination of the worst-case execution time (WCET) of a program is a critical issue for the design of safety-critical real-time systems. Because the exact timing of the program depends on the lowlevel hardware instructions, tools that automatically calculate an upper bound for the WCET typically operate on the object code level. In order to get tighter WCET estimates, these tools often rely on control flow annotations, also called flow facts, which can be provided manually or by a tool. For the programmer, it is more convenient to provide flow facts directly at the source code level. To make this possible, it is necessary to extend the compiler to transform the source-based flow facts alongside the program optimizations. In this paper, we introduce an approach that integrates optimizing compilation and flow fact transformation, called the CoSTA Transformer. Our approach is designed to operate on a very high level of abstraction and thus can easily be adopted to different compiler/target-machine combinations.
[1]
R. Kirner.
Extending optimising compilation to support worst-case execution time analysis: von Raimund Kirner
,
2003
.
[2]
Adrian Prantl.
Source-to-Source Transformations for WCET Analysis : The CoSTA Approach
,
2007
.
[3]
Raimund Kirner,et al.
WCET Analysis: The Annotation Language Challenge
,
2007,
WCET.
[4]
Markus Schordan,et al.
A Source-to-Source Architecture for User-Defined Optimizations
,
2003,
JMLC.
[5]
Jens Knoop,et al.
Lazy code motion (with retrospective)
,
1992
.
[6]
Ken Kennedy,et al.
Optimizing Compilers for Modern Architectures: A Dependence-based Approach
,
2001
.
[7]
Florian Martin,et al.
PAG – an efficient program analyzer generator
,
1998,
International Journal on Software Tools for Technology Transfer.