Live Heap Space Bounds for Real-Time Systems

  • Martin Kero
  • Paweł Pietrzak
  • Johan Nordlander
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6461)


Live heap space analyses have so far been concerned with the standard sequential programming model. However, that model is not very well suited for embedded real-time systems, where fragments of code execute concurrently and in orders determined by periodic and sporadic events. Schedulability analysis has shown that the programming model of real-time systems is not fundamentally in conflict with static predictability, but in contrast to accumulative properties like time, live heap space usage exhibits a very state-dependent behavior that renders direct application of schedulability analysis techniques unsuitable.

In this paper we propose an analysis of live heap space upper bounds for real-time systems based on an accurate prediction of task execution orders. The key component of our analysis is the construction of a non-deterministic finite state machine capturing all task executions that are legal under given timing assumptions. By adding heap usage information inferred for each sequential task, our analysis finds an upper bound on the inter-task heap demands as the solution to an integer linear programming problem. Values so obtained are suitable inputs to other analyses depending on the size of a system’s persistent state, such as running time prediction for a concurrent tracing garbage collector.


Task Execution Sporadic Task Schedulability Analysis Integer Linear Programming Problem Garbage Collector 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Albert, E., Arenas, P., Genaim, S., Puebla, G., Zanardini, D.: Cost Analysis of Java Bytecode. In: 16th European Symposium on Programming (2007)Google Scholar
  2. 2.
    Albert, E., Genaim, S., Gómez-Zamalloa, M.: Live heap space analysis for languages with garbage collection. In: ISMM (2009)Google Scholar
  3. 3.
    Albert, E., Genaim, S., Gómez-Zamalloa, M.: Parametric inference of memory requirements for garbage collected languages. In: ISMM (2010)Google Scholar
  4. 4.
    Alur, R.: Timed automata. In: Halbwachs, N., Peled, D.A. (eds.) CAV 1999. LNCS, vol. 1633, pp. 8–22. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  5. 5.
    Alur, R., Dill, D.: A theory of timed automata. Journal of Theoretical Computer Science 126(2) (1994)Google Scholar
  6. 6.
    Baker, T.P.: Stack-based scheduling for realtime processes. Real-Time Syst. 3(1), 67–99 (1991)MathSciNetCrossRefGoogle Scholar
  7. 7.
    Bengtsson, J., Yi, W.: Timed automata: Semantics, algorithms and tools. In: Lectures on Concurrency and Petri Nets (2003)Google Scholar
  8. 8.
    Benoy, F., King, A.: Inferring argument size relationships with CLPR. In: Workshop on Logic-based Program Synthesis and Transformation (1997)Google Scholar
  9. 9.
    Chin, W.N., Nguyen, H.H., Popeea, C., Qin, S.: Analysing memory resource bounds for low-level programs. In: ISMM (2008)Google Scholar
  10. 10.
    Courcoubetis, C., Yannakakis, M.: Minimum and maximum delay problems in real-time systems. Formal Methods in System Design 1(4) (1992)Google Scholar
  11. 11.
    Cousot, P., Halbwachs, N.: Automatic discovery of linear restraints among variables of a program. In: POPL (1978)Google Scholar
  12. 12.
    Jaffar, J., Maher, M., Marriott, K., Stuckey, P.: The semantics of constraint logic programs. Journal of Logic Programming 37 (1–3) (1998)Google Scholar
  13. 13.
    Jaffar, J., Maher, M.J.: Constraint logic programming: A survey. Journal of Logic Programming 19 & 20 (1994)Google Scholar
  14. 14.
    Jost, S., Loid, H.W., Hammond, K., Hofmann, M.: Static determination of quantitative resource usage for higher-order programs. In: POPL (2010)Google Scholar
  15. 15.
    Kero, M., Aittamaa, S.: Scheduling garbage collection in real-time systems. In: CODES (2010)Google Scholar
  16. 16.
    Krishna, C.M., Shin, K.G.: Real-Time Systems. McGraw-Hill, New York (1997)zbMATHGoogle Scholar
  17. 17.
    Nordlander, J., Carlsson, M., Gill, A., Lindgren, P., von Sydow, B.: The Timber home page (2008),
  18. 18.
    Unnikrishnan, L., Stoller, S.D., Liu, Y.A.: Optimized live heap bound analysis. In: Zuck, L.D., et al. (eds.) VMCAI 2003. LNCS, vol. 2575, pp. 70–85. Springer, Heidelberg (2002)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Martin Kero
    • 1
  • Paweł Pietrzak
    • 1
  • Johan Nordlander
    • 1
  1. 1.Department of Computer Science and Electrical EngineeringLuleå University of TechnologySweden

Personalised recommendations