[Back]


Books and Book Editorships:

R. Kirner:
"Compiler Support for Timing Analysis of Optimized Code - Precise Timing Analysis of Machine Code with Convenient Annotation of Source Code";
VDM - Verlag Dr. Müller, 2008, ISBN: 978-3836468831; 224 pages.



English abstract:
Embedded real-time systems are increasingly used in control applications. To guarantee the safe operation it is required to verify that the system can complete its tasks within their deadlines. Therefore, it is important to know the worst-case execution time (WCET) of the code running on the system. For the precise calculation of the WCET, the code has to be analyzed at the object-code level. The software is typically written in a language like C and translated by a compiler. Due to undecidability, the calculation of the WCET needs the knowledge of additional control-flow information -- so-called flow facts. It is necessary to specify this information at the source-code level in order to map the information onto the object code. For precise WCET analysis of programs optimized by the compiler, the flow facts have to be transformed in parallel to the code transformations performed during optimization. This book presents a framework to maintain correct flow facts during code optimization. Previous solutions are either based on matching the debug information with the source code or on logging of only restricted code transformations. This book presents a novel concept to transform flow information in parallel to the code transformations performed by the compiler. The code transformations are abstracted to their relevant structural changes. From the structural update and the known semantic control-flow information of the performed code transformation, a safe and precise transformation of the flow information is induced. A graphical transformation framework to describe the performed code transformations supports the reader in understanding the required update of flow facts. The abstract representation of the control-flow graph allows the modeling of blocks with multiple branching edges which enables the integration of this method into various compilers. The result is a framework that supports high-quality WCET analysis of optimized code.

Created from the Publication Database of the Vienna University of Technology.