Guest Editorial: A Review of Worst-Case Execution-Time Analysis

A development process for safety-critical real-time computer systems has to emphasize the importance of time. On the one hand, such a development process has to be based on hardware and software technology that supports predictability in the time domain. On the other hand, the development process has to provide tools for assessing and verifying the correctness of the timing of both the hardware and the software components of the real-time systems being developed. Together with schedulability analysis, Worst-case execution time analysis (WCET analysis) forms the basis for establishing confidence into the timely operation of a real-time system. WCET analysis does so by computing (upper) bounds for the execution times of the tasks in the system. These bounds are needed for allocating the correct CPU time to the tasks of an application. They form the inputs for schedulability tools, which test whether a given task set is schedulable (and will thus meet the timing requirements of the application) on a given target system. While schedulability analysis is one of the traditional fields of investigation in real-time systems research, WCET analysis caught the attention of the research community only about ten years ago (Kligerman and Stoyenko, 1986; Mok et al., 1989; Puschner and Koza, 1989; Shaw, 1989). In the last decade, however, more and more research groups started to put a focus on WCET analysis. As a result, substantial progress has been made in this area in a relatively short time. After ten years of research in the field, it is appropriate to have a special issue on WCET analysis. It is the goal of this special issue to review the achievements in WCET analysis and to report about the recent advances in this field. In the following section we will define the problem area of WCET analysis and thus clarify the issue WCET analysis is dealing with— still many people mix up execution-time analysis and response-time analysis. We will then summarize the subproblems of WCET analysis and provide an overview of previous contributions to the state of the art in this field. At the end of the introduction we will give an overview to the research papers that have been selected for this special issue.

[1]  David B. Whalley,et al.  Bounding loop iterations for timing analysis , 1998, Proceedings. Fourth IEEE Real-Time Technology and Applications Symposium (Cat. No.98TB100245).

[2]  David B. Whalley,et al.  Supporting the specification and analysis of timing constraints , 1996, Proceedings Real-Time Technology and Applications.

[3]  Richard C. Holt,et al.  Analyzing Hard-Real-Time Programs For Guaranteed Schedulability , 1991, IEEE Trans. Software Eng..

[4]  Alan C. Shaw,et al.  Reasoning About Time in Higher-Level Language Software , 1989, IEEE Trans. Software Eng..

[5]  Sang Lyul Min,et al.  A worst case timing analysis technique for multiple-issue machines , 1998, Proceedings 19th IEEE Real-Time Systems Symposium (Cat. No.98CB36279).

[6]  Peter Puschner,et al.  An assessment of task execution time analysis , 1992 .

[7]  Reinhard Wilhelm,et al.  Cache Behavior Prediction by Abstract Interpretation , 1996, Sci. Comput. Program..

[8]  Peter P. Puschner,et al.  Computing Maximum Task Execution Times — A Graph-Based Approach , 1997, Real-Time Systems.

[9]  Sharad Malik,et al.  Cache modeling for real-time software: beyond direct mapped instruction caches , 1996, 17th IEEE Real-Time Systems Symposium.

[10]  Douglas Niehaus Program representation and translation for predictable real-time systems , 1991, [1991] Proceedings Twelfth Real-Time Systems Symposium.

[11]  Peter Puschner,et al.  Worst-case execution-time analysis at low cost , 1997 .

[12]  Wa Halang,et al.  REAL-TIME SYSTEMS .1. , 1990 .

[13]  Alexander D. Stoyenko,et al.  A real-time language with a schedulability analyzer , 1988 .

[14]  Peter P. Puschner,et al.  A Tool for the Computation of Worst Case Task Execution Times , 1993, Fifth Euromicro Workshop on Real-Time Systems.

[15]  Krithi Ramamritham,et al.  The Spring kernel: a new paradigm for real-time operating systems , 1989, OPSR.

[16]  Peter P. Puschner,et al.  Calculating the maximum execution time of real-time programs , 1989, Real-Time Systems.

[17]  Azer Bestavros,et al.  Workshop on language, compiler, and tool support for real-time systems , 1994, SIGP.

[18]  David B. Whalley,et al.  Integrating the timing analysis of pipelining and instruction caching , 1995, Proceedings 16th IEEE Real-Time Systems Symposium.

[19]  Alan Burns,et al.  Combining static worst-case timing analysis and program proof , 1996, Real-Time Systems.

[20]  Chang Yun Park,et al.  Predicting deterministic execution times of real-time programs , 1992 .

[21]  Peter P. Puschner A tool for high-level language analysis of worst-case execution times , 1998, Proceeding. 10th EUROMICRO Workshop on Real-Time Systems (Cat. No.98EX168).

[22]  Peter Altenbernd,et al.  On the false path problem in hard real-time programs , 1996, Proceedings of the Eighth Euromicro Workshop on Real-Time Systems.

[23]  Johann Blieberger,et al.  Worst-case space and time complexity of recursive procedures , 1996, Real-Time Systems.

[24]  Alexander Vrchoticky Compilation Support for Fine-Grained Execution Time Analysis , 1994 .

[25]  Jakob Engblom,et al.  Facilitating worst-case execution times analysis for optimized code , 1998, Proceeding. 10th EUROMICRO Workshop on Real-Time Systems (Cat. No.98EX168).

[26]  Frank Müller,et al.  Generalizing timing predictions to set-associative caches , 1997, Proceedings Ninth Euromicro Workshop on Real Time Systems.

[27]  John A. Stankovic,et al.  Predictable Real-Time Caching in the Spring System , 1991 .

[28]  Johann Blieberger Discrete Loops and Worst Case Performance , 1994, Comput. Lang..

[29]  Peter P. Puschner,et al.  Developing real-time tasks with predictable timing , 1992, IEEE Software.

[30]  Alan C. Shaw,et al.  Experiments with a program timing tool based on source-level timing schema , 1990, [1990] Proceedings 11th Real-Time Systems Symposium.

[31]  Marion G. Harmon Predicting execution time on contemporary computer architectures , 1991 .

[32]  David B. Whalley,et al.  Bounding Pipeline and Instruction Cache Performance , 1999, IEEE Trans. Computers.

[33]  David B. Whalley,et al.  A retargetable technique for predicting execution time , 1992, [1992] Proceedings Real-Time Systems Symposium.

[34]  Krithi Ramamritham,et al.  The Spring kernel: a new paradigm for real-time systems , 1991, IEEE Software.

[35]  A. D. Stoyenko,et al.  Real-time Euclid: a language for reliable real-time systems , 1989 .

[36]  Sang Lyul Min,et al.  Worst case timing analysis of RISC processors: R3000/R3010 case study , 1995, Proceedings 16th IEEE Real-Time Systems Symposium.

[37]  Friedhelm Stappert,et al.  Predicting pipelining and caching behaviour of hard real-time programs , 1997, Proceedings Ninth Euromicro Workshop on Real Time Systems.

[38]  Sang Lyul Min,et al.  Efficient worst case timing analysis of data caching , 1996, Proceedings Real-Time Technology and Applications.

[39]  Sang Lyul Min,et al.  An Accurate Worst Case Timing Analysis for RISC Processors , 1995, IEEE Trans. Software Eng..

[40]  Sharad Malik,et al.  Performance analysis of embedded software using implicit path enumeration , 1997, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[41]  Alan Burns,et al.  Static worst-case timing analysis of Ada , 1994, ALET.

[42]  Alan Burns,et al.  Worst-case timing analysis of exception handling in Ada , 1993 .

[43]  Alan Burns,et al.  Pipelined processors and worst case execution times , 1993, Real-Time Systems.

[44]  Sharad Malik,et al.  Efficient microarchitecture modeling and path analysis for real-time software , 1995, Proceedings 16th IEEE Real-Time Systems Symposium.

[45]  Chang Yun Park,et al.  Predicting program execution times by analyzing static and dynamic program paths , 1993, Real-Time Systems.

[46]  Aloysius K. Mok,et al.  Evaluating tight execution time bounds of programs by annotations , 1989 .

[47]  Henrik Theiling,et al.  Combining abstract interpretation and ILP for microarchitecture modelling and program path analysis , 1998, Proceedings 19th IEEE Real-Time Systems Symposium (Cat. No.98CB36279).