A prototype tool for flow analysis of object-oriented programs

Object-oriented programming languages are extensively used in real-time systems. When calculating the worst case execution time for object-oriented programs one needs flow information, such as loop bounds and information on infeasible paths. In most cases, the programmer is expected to supply these as manual annotations. This paper presents a prototype tool which calculates this information automatically for RealTimeTalk (RTT) programs. KIT is a real-time version of the object-oriented language Smalltalk. We also show the analysis of a number of example programs.

[1]  Jakob Engblom Static properties of commercial embedded real-time programs, and their implication for worst-case execution time analysis , 1999, Proceedings of the Fifth IEEE Real-Time Technology and Applications Symposium.

[2]  Patrick Cousot,et al.  Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints , 1977, POPL.

[3]  Niklas Holsti,et al.  Worst-case execution time analysis for digital signal processors , 2000, 2000 10th European Signal Processing Conference.

[4]  Roderick Chapman,et al.  Static timing analysis and program proof , 1995 .

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

[6]  Jan Gustafsson,et al.  Worst-case execution-time analysis for embedded real-time systems , 2003, International Journal on Software Tools for Technology Transfer.

[7]  Peter Altenbernd,et al.  Timing analysis, scheduling, and allocation of periodic hard real-time tasks , 1996 .

[8]  David B. Whalley,et al.  Tighter timing predictions by automatic detection and exploitation of value-dependent constraints , 1999, Proceedings of the Fifth IEEE Real-Time Technology and Applications Symposium.

[9]  Alan Burns,et al.  Guest Editorial: A Review of Worst-Case Execution-Time Analysis , 2000, Real-Time Systems.

[10]  Jukka Mäki-Turja,et al.  An Overview of RealTimeTalk, a Design Framework for Real-Time Systems , 1996, J. Parallel Distributed Comput..

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

[12]  Jan Gustafsson,et al.  Automatic derivation of path and loop annotations in object-oriented real-time programs , 1997, Proceedings of 5th International Workshop on Parallel and Distributed Real-Time Systems and 3rd Workshop on Object-Oriented Real-Time Systems.

[13]  Niklas Holsti,et al.  USING A WORST-CASE EXECUTION TIME TOOL FOR REAL-TIME VERIFICATION OF THE DEBIE SOFTWARE , 2000 .

[14]  Adele Goldberg,et al.  SmallTalk 80: The Language , 1989 .

[15]  Jan Gustafsson Analyzing execution-time of object-oriented programs using abstract interpretation , 2000 .

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

[17]  Jan Gustafsson Calculation of execution times in RealTimeTalk-an object-oriented language for real-time , 1994, Proceedings of Words '94. The First Workshop on Object-Oriented Real-Time Dependable Systems.

[18]  相磯 秀夫,et al.  Smalltalk-80 : 言語詳解 , 1987 .

[19]  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.

[20]  Jan Gustafsson Eliminating annotations by automatic flow analysis of real-time programs , 2000, Proceedings Seventh International Conference on Real-Time Computing Systems and Applications.