Skip to main content

On Abstractions for Timing Analysis in the \(\mathbb{K}\) Framework

  • Conference paper
Book cover Foundational and Practical Aspects of Resource Analysis (FOPARA 2011)

Abstract

Low-level WCET analysis consists of two subproblems: the path analysis and the processor behavior analysis. A successful approach uses an integer linear programming (ILP) solution for the former and an abstract interpretation (AI) solution for the latter. This paper advocates, for this particular ILP + AI approach, the use of a specialized rewrite-based framework, called \(\mathbb{K}\). We define this methodology in \(\mathbb{K}\), starting from the formal executable semantics of the language and the concrete, parametric, description of the underlying micro-architecture (i.e. instruction cache). The latter is designed to facilitate specification reusability in the abstraction definition. We also analyze the definitional methodology of the ILP + AI approach, from the design perspective.

This work has been supported by Project POSDRU/88/1.5/S/47646 and by Contract ANCS POS-CCE, O2.1.2, ID nr 602/12516, ctr.nr 161/15.06.2010 (DAK).

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 49.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. AbsInt Angewandte Informatik: aiT Worst-Case Execution Time Analyzers

    Google Scholar 

  2. Alt, M., Ferdinand, C., Martin, F., Wilhelm, R.: Cache behavior prediction by abstract interpretation. In: Science of Computer Programming, vol. 35(2), pp. 52–66. Springer (1996)

    Google Scholar 

  3. Asăvoae, I.M., Asăvoae, M.: Collecting Semantics under Predicate Abstraction in the K Framework. In: Ölveczky, P.C. (ed.) WRLA 2010. LNCS, vol. 6381, pp. 123–139. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  4. Asăvoae, M., Lucanu, D., Roşu, G.: Towards semantics-based WCET analysis. In: WCET (2011)

    Google Scholar 

  5. Burger, D., Austin, T.M.: The SimpleScalar tool set, version 2.0. SIGARCH Comput. Archit. News 25, 13–25 (1997)

    Article  Google Scholar 

  6. Clavel, M., Durán, F., Eker, S., Lincoln, P., Martí-Oliet, N., Meseguer, J., Talcott, C. (eds.): All About Maude - A High-Performance Logical Framework. LNCS, vol. 4350. Springer, Heidelberg (2007)

    MATH  Google Scholar 

  7. Cousot, P., Cousot, R.: Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In: Symposium on Principles of Programming Languages, pp. 238–252. ACM Press (1977)

    Google Scholar 

  8. Şerbănuţă, T.F., Roşu, G.: K-Maude: A Rewriting Based Tool for Semantics of Programming Languages. In: Ölveczky, P.C. (ed.) WRLA 2010. LNCS, vol. 6381, pp. 104–122. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  9. Dalsgaard, A.E., Olesen, M.C., Toft, M., Hansen, R.R., Larsen, K.G.: METAMOC: Modular execution time analysis using model checking. In: spp. 113–123 (2010)

    Google Scholar 

  10. Ellison, C., Roşu, G.: An executable formal semantics of C with applications. In: Proceedings of the 39th Symposium on Principles of Programming Languages (POPL 2012), pp. 533–544. ACM (2012)

    Google Scholar 

  11. Ferdinand, C., Wilhelm, R.: Efficient and precise cache behavior prediction for real-time systems. Real-Time Systems 17(2-3), 131–181 (1999)

    Article  Google Scholar 

  12. Harman, N.A.: Verifying a Simple Pipelined Microprocessor Using Maude. In: Cerioli, M., Reggio, G. (eds.) WADT/CoFI 2001. LNCS, vol. 2267, pp. 128–151. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  13. Langenbach, M., Thesing, S., Heckmann, R.: Pipeline Modeling for Timing Analysis. In: Hermenegildo, M.V., Puebla, G. (eds.) SAS 2002. LNCS, vol. 2477, pp. 294–309. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  14. Li, X., Yun, L., Mitra, T., Roychoudhury, A.: Chronos: A timing analyzer for embedded software. Sci. Comput. Program. 69(1-3), 56–67 (2007)

    Article  MATH  Google Scholar 

  15. Li, Y.T.S., Malik, S., Wolfe, A.: Efficient microarchitecture modeling and path analysis for real-time software. In: IEEE Real-Time Systems Symposium, pp. 298–307 (1995)

    Google Scholar 

  16. Meredith, P., Hills, M., Roşu, G.: An executable rewriting logic semantics of K-scheme. In: Dube, D. (ed.) SCHEME 2007, pp. 91–103. Laval University (2007)

    Google Scholar 

  17. Meredith, P.O., Katelman, M., Meseguer, J., Roşu, G.: A formal executable semantics of Verilog. In: MEMOCODE 2010, pp. 179–188. IEEE (2010)

    Google Scholar 

  18. Meseguer, J., Palomino, M., Martí-Oliet, N.: Equational Abstractions. In: Baader, F. (ed.) CADE-19. LNCS (LNAI), vol. 2741, pp. 2–16. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  19. Meseguer, J., Roşu, G.: The rewriting logic semantics project. Electronic Notes in Theoretical Computer Science 156(1), 27–56 (2006)

    Article  Google Scholar 

  20. Ölveczky, P.C., Meseguer, J.: The Real-Time Maude Tool. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 332–336. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  21. Reineke, J., Grund, D., Berg, C., Wilhelm, R.: Timing predictability of cache replacement policies. Real-Time Systems 37(2), 99–122 (2007)

    Article  MATH  Google Scholar 

  22. Roşu, G., Ellison, C., Schulte, W.: Matching Logic: An Alternative to Hoare/Floyd Logic. In: Johnson, M., Pavlovic, D. (eds.) AMAST 2010. LNCS, vol. 6486, pp. 142–162. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  23. Roşu, G., Şerbănuţă, T.F.: An overview of the K semantic framework. Journal of Logic and Algebraic Programming 79(6), 397–434 (2010)

    Article  MathSciNet  MATH  Google Scholar 

  24. 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)

    Article  Google Scholar 

  25. Wilhelm, R.: Why AI + ILP Is Good for WCET, but MC Is Not, Nor ILP Alone. In: Steffen, B., Levi, G. (eds.) VMCAI 2004. LNCS, vol. 2937, pp. 309–322. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  26. Wilhelm, R., Engblom, J., Ermedahl, A., Holsti, N., Thesing, S., Whalley, D., Bernat, G., Ferdinand, C., Heckmann, R., Mitra, T., Mueller, F., Puaut, I., Puschner, P., Staschulat, J., Stenström, P.: The worst-case execution-time problem—overview of methods and survey of tools. ACM Trans. Embed. Comput. Syst. 7(3), 1–53 (2008)

    Article  Google Scholar 

  27. Wilhelm, R., Wachter, B.: Abstract Interpretation with Applications to Timing Validation. In: Gupta, A., Malik, S. (eds.) CAV 2008. LNCS, vol. 5123, pp. 22–36. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Asăvoae, M., Asăvoae, I.M., Lucanu, D. (2012). On Abstractions for Timing Analysis in the \(\mathbb{K}\) Framework. In: Peña, R., van Eekelen, M., Shkaravska, O. (eds) Foundational and Practical Aspects of Resource Analysis. FOPARA 2011. Lecture Notes in Computer Science, vol 7177. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-32495-6_6

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-32495-6_6

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-32494-9

  • Online ISBN: 978-3-642-32495-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics