A theory for execution-time derivation in real-time programs

We provide an abstract command language for real-time programs and outline how a partial correctness semantics can be used to compute execution times. The notions of a timed command, refinement of a timed command, the command traversal condition, and the worst-case and best-case execution time of a command are formally introduced and investigated with the help of an underlying weakest liberal precondition semantics. The central result is a theory for the computation of worst-case and best-case execution times from the underlying semantics based on supremum and infimum calculations. The framework is applied to the analysis of a message transmitter program and its implementation.

[1]  Thomas W. Reps,et al.  The use of program dependence graphs in software engineering , 1992, International Conference on Software Engineering.

[2]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[3]  Carroll Morgan,et al.  The specification statement , 1988, TOPL.

[4]  Bernard Carré Program analysis and verification , 1989 .

[5]  Carroll Morgan,et al.  Types and Invariants in the Refinement Calculus , 1990, Sci. Comput. Program..

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

[7]  Jan Gustafsson,et al.  Deriving Annotations for Tight Calculation of Execution Time , 1997, Euro-Par.

[8]  Ian J. Hayes,et al.  A sequential real-time refinement calculus , 2001, Acta Informatica.

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

[10]  Colin J. Fidge,et al.  A Formal Model of Real-Time Program Compilation , 1999, ARTS.

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

[12]  Jakob Engblom,et al.  Modeling complex flows for worst-case execution time analysis , 2000, Proceedings 21st IEEE Real-Time Systems Symposium.

[13]  Colin J. Fidge,et al.  Linear Approximation of Execution-Time Constraints , 2003, Formal Aspects of Computing.

[14]  Carroll Morgan,et al.  Programming from specifications (2nd ed.) , 1994 .

[15]  AbsInt Angewandte,et al.  Fast and Precise WCET Prediction by Separated Cache and Path Analyses , 1999 .

[16]  Giorgio Buttazzo,et al.  Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications , 1997 .

[17]  Colin J. Fidge,et al.  The deadline command , 1999, IEE Proc. Softw..

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

[19]  Ralph-Johan Back,et al.  Refinement Calculus: A Systematic Introduction , 1998 .

[20]  Ian J. Hayes,et al.  Coercing real-time refinement: a transmitter , 1996, FME 1996.

[21]  Ralph-Johan Back,et al.  Reasoning algebraically about loops , 1999, Acta Informatica.

[22]  Colin J. Fidge,et al.  A Methodology for Compilation of High-Integrity Real-Time Programs , 1997, Euro-Par.

[23]  Carroll Morgan,et al.  Programming from specifications , 1990, Prentice Hall International Series in computer science.

[24]  Edsger W. Dijkstra,et al.  Predicate Calculus and Program Semantics , 1989, Texts and Monographs in Computer Science.

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

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

[27]  G. Micheli,et al.  Timing Constraint Analysis for Embedded Systems , 1994 .

[28]  Anna Philippou,et al.  Tools and Algorithms for the Construction and Analysis of Systems , 2018, Lecture Notes in Computer Science.

[29]  Bernard Carré,et al.  Information-flow and data-flow analysis of while-programs , 1985, TOPL.

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

[31]  Victor L. Winter,et al.  High Integrity Software , 2001 .

[32]  Edsger W. Dijkstra,et al.  A Discipline of Programming , 1976 .

[33]  Colin J. Fidge,et al.  Semantic characterisation of dead control-flow paths , 2001, IEE Proc. Softw..

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

[35]  Eric C. R. Hehner Termination is Timing , 1989, MPC.

[36]  Colin J. Fidge,et al.  Integrating Real-Time Scheduling Theory and Program Refinement , 1996, FME.

[37]  Doron A. Peled,et al.  Path Exploration Tool , 1999, TACAS.

[38]  John Barnes,et al.  High Integrity Ada: The Spark Approach , 1997 .

[39]  Ian J. Hayes,et al.  Programs as Paths: An Approach to Timing Constraint Analysis , 2003, ICFEM.