Abstract
A combination of Abstract Interpretation (AI) with Integer Linear Programming (ILP) has been successfully used to determine precise upper bounds on the execution times of real-time programs, commonly called worst-case execution times (WCET). The task solved by abstract interpretation is to verify as many local safety properties as possible, safety properties who correspond to the absence of “timing accidents”. Timing accidents, e.g. cache misses, are reasons for the increase of the execution time of an individual instruction in an execution state. This article attempts to give the answer to the frequently encountered claim, “one could have done it by Model Checking (MC)!”. It shows that it is the characteristic property of abstract interpretation, which proves AI to be applicable and successful, namely that it only needs one fixpoint iteration to compute invariants that allow the derivation of many safety properties. MC seems to encounter an exponential state-space explosion when faced with the same problem. ILP alone has also been used to model a processor architecture and a program whose upper bounds for execution times was to be determined. It is argued why the only ILP-only approach found in the literature has not led to success.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Alt, M., Ferdinand, C., Martin, F., Wilhelm, R.: Cache Behavior Prediction by Abstract Interpretation. In: Cousot, R., Schmidt, D.A. (eds.) SAS 1996. LNCS, vol. 1145, pp. 52–66. Springer, Heidelberg (1996)
Basin, D., Friedrich, S., Gawkowski, M., Posegga, J.: Bytecode model checking: An experimental analysis. In: Bošnački, D., Leue, S. (eds.) SPIN 2002. LNCS, vol. 2318, pp. 42–59. Springer, Heidelberg (2002)
Cousot, P.: Automatic verification by abstract interpretation, invited talk. International Symposium in Honor of Zohar Manna, Taormina, Sicily, Italy, Tuesday, July 1 (2003)
Ermedahl, A.: A Modular Tool Architecture for Worst-Case Execution Time Analysis. PhD thesis, Uppsala University (2003)
Ferdinand, C., Heckmann, R., Langenbach, M., Martin, F., Schmidt, M., Theiling, H., Thesing, S., Wilhelm, R.: Reliable and precise WCET determination for a real-life processor. In: Henzinger, T.A., Kirsch, C.M. (eds.) EMSOFT 2001. LNCS, vol. 2211, pp. 469–485. Springer, Heidelberg (2001)
Ferdinand, C., Martin, F., Wilhelm, R.: Cache Behavior Prediction by Abstract Interpretation. Science of Computer Programming 35, 163–189 (1999)
Ferdinand, C.: Cache Behavior Prediction for Real-Time Systems. PhD Thesis, Universität des Saarlandes (September 1997)
Healy, C.A., Whalley, D.B., Harmon, M.G.: Integrating the Timing Analysis of Pipelining and Instruction Caching. In: Proceedings of the IEEE Real-Time Systems Symposium, December 1995, pp. 288–297 (1995)
Heckmann, R., Langenbach, M., Thesing, S., Wilhelm, R.: The influence of processor architecture on the design and the results of WCET tools. IEEE Proceedings on Real-Time Systems 91(7), 1038–1054 (2003)
Langenbach, M., Thesing, S., Heckmann, R.: Pipeline modelling for timing analysis. In: Hermenegildo, M.V., Puebla, G. (eds.) SAS 2002. LNCS, vol. 2477, p. 294. Springer, Heidelberg (2002)
Li, Y.-T.S., Malik, S.: Performance Analysis of Embedded Software Using Implicit Path Enumeration. In: Proceedings of the 32nd ACM/IEEE Design Automation Conference, June 1995, pp. 456–461 (1995)
Li, Y.-T.S., Malik, S., Wolfe, A.: Efficient Microarchitecture Modeling and Path Analysis for Real-Time Software. In: Proceedings of the IEEE Real-Time Systems Symposium, December 1995, pp. 298–307 (1995)
Li, Y.-T.S., Malik, S., Wolfe, A.: Performance Estimation of Embedded Software with Instruction Cache Modeling. In: Proceedings of the IEEE/ACM International Conference on Computer-Aided Design, November 1995, pp. 380–387 (1995)
Li, Y.-T.S., Malik, S., Wolfe, A.: Cache Modeling for Real- Time Software: Beyond Direct Mapped Instruction Caches. In: Proceedings of the IEEE Real-Time Systems Symposium (December 1996)
Martin, F., Alt, M., Wilhelm, R., Ferdinand, C.: Analysis of Loops. In: Koskimies, K. (ed.) CC 1998. LNCS, vol. 1383, pp. 80–94. Springer, Heidelberg (1998)
Nielson, F., Nielson, H.R., Hankin, C.: Principles of Program Analysis. Springer, Heidelberg (1999)
Park, C.Y., Shaw, A.C.: Experiments with a Program Timing Tool Based on Source-Level Timing Schema. IEEE Computer 24(5), 48–57 (1991)
Puschner, P., Koza, C.: Calculating the Maximum Execution Time of Real- Time Programs. Real-Time Systems 1, 159–176 (1989)
Rosskopf, A.: Vergleich der Performance von zwei Plattformen für Ada- Applikationen: PowerPC/ObjectAda gegenüber MC68020/XDAda. Talk at Ada Deutschland (March 2001)
Schneider, J., Ferdinand, C.: Pipeline Behaviour Prediction for Superscalar Processors by Abstract Interpretation. In: Proceedings of the ACM SIGPLAN Workshop on Languages, Compilers and Tools for Embedded Systems, Atlanta (June 1999)
Theiling, H., Ferdinand, C.: Combining Abstract Interpretation and ILP for Microarchitecture Modelling and Program Path Analysis. In: Proceedings of the 19th IEEE Real-Time Systems Symposium, Madrid, Spain, December 1998, pp. 144–153 (1998)
Theiling, H., Ferdinand, C., Wilhelm, R.: Fast and precise WCET prediction by separated cache and path analyses. Real-Time Systems 18(2/3), 157–179 (2000)
Theiling, H.: Control Flow Graphs for Real-Time System Analysis. PhD thesis, Universität des Saarlandes (2002)
Thesing, S., Souyris, J., Heckmann, R., Randimbivololona, F., Langenbach, M., Wilhelm, R., Ferdinand, C.: An abstract interpretation-based timing validation of hard real-time avionics software systems. In: Proceedings of the 2003 International Conference on Dependable Systems and Networks (DSN 2003), June 2003, pp. 625–632. IEEE Computer Society, Los Alamitos (2003)
Thesing, S.: Safe and Precise WCET Determination by Abstract Interpretation of Pipeline Models. PhD thesis, Universität des Saarlandes (forthcoming)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Wilhelm, R. (2004). Why AI + ILP Is Good for WCET, but MC Is Not, Nor ILP Alone. In: Steffen, B., Levi, G. (eds) Verification, Model Checking, and Abstract Interpretation. VMCAI 2004. Lecture Notes in Computer Science, vol 2937. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24622-0_25
Download citation
DOI: https://doi.org/10.1007/978-3-540-24622-0_25
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-20803-7
Online ISBN: 978-3-540-24622-0
eBook Packages: Springer Book Archive