Writing Temporally Predictable Code

Peter P. Puschner, Alan Burns

Research output: Contribution to conferencePaperpeer-review

Abstract

The Worst-Case Execution-Time Analysis (WCET Analysis) of program code for modern processors is a highly complex task. First, it involves path analysis, to identify and describe the possible execution paths through the code. Second, it models the worst-case timing of possible paths on the target hardware, where the characterization of the timing of sophisticated hardware features (e.g., instruction pipelines, caches, parallel execution units) and their interferences are non-trivial.This paper presents a programming paradigm that takes the complexity from WCET analysis. Program code written according to this paradigm only has a single execution path. Writing single-path code makes path analysis and thus WCET analysis trivial. The WCET of the single path is obtained by executing the code (necessarily on that single path) and logging the duration of this execution. To demonstrate that the single-path approach provides a universal solution to the WCET-analysis problem, the paper shows how every WCET-analyzable piece of code can be translated into single-path code.
Original languageUndefined/Unknown
Pages85-94
DOIs
Publication statusPublished - 2002

Cite this