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

  • Mihail Asăvoae
  • Irina Măriuca Asăvoae
  • Dorel Lucanu
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7177)

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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    AbsInt Angewandte Informatik: aiT Worst-Case Execution Time AnalyzersGoogle Scholar
  2. 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. 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)CrossRefGoogle Scholar
  4. 4.
    Asăvoae, M., Lucanu, D., Roşu, G.: Towards semantics-based WCET analysis. In: WCET (2011)Google Scholar
  5. 5.
    Burger, D., Austin, T.M.: The SimpleScalar tool set, version 2.0. SIGARCH Comput. Archit. News 25, 13–25 (1997)CrossRefGoogle Scholar
  6. 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)MATHGoogle Scholar
  7. 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. 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)CrossRefGoogle Scholar
  9. 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. 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. 11.
    Ferdinand, C., Wilhelm, R.: Efficient and precise cache behavior prediction for real-time systems. Real-Time Systems 17(2-3), 131–181 (1999)CrossRefGoogle Scholar
  12. 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)CrossRefGoogle Scholar
  13. 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)CrossRefGoogle Scholar
  14. 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)MATHCrossRefGoogle Scholar
  15. 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. 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. 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. 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)CrossRefGoogle Scholar
  19. 19.
    Meseguer, J., Roşu, G.: The rewriting logic semantics project. Electronic Notes in Theoretical Computer Science 156(1), 27–56 (2006)CrossRefGoogle Scholar
  20. 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)CrossRefGoogle Scholar
  21. 21.
    Reineke, J., Grund, D., Berg, C., Wilhelm, R.: Timing predictability of cache replacement policies. Real-Time Systems 37(2), 99–122 (2007)MATHCrossRefGoogle Scholar
  22. 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)CrossRefGoogle Scholar
  23. 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)MathSciNetMATHCrossRefGoogle Scholar
  24. 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)CrossRefGoogle Scholar
  25. 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)CrossRefGoogle Scholar
  26. 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)CrossRefGoogle Scholar
  27. 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)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Mihail Asăvoae
    • 1
  • Irina Măriuca Asăvoae
    • 1
  • Dorel Lucanu
    • 1
  1. 1.Faculty of Computer ScienceAlexandru Ioan Cuza UniversityIaşiRomania

Personalised recommendations