skip to main content
research-article

Symbolic WCET Computation

Published:07 December 2017Publication History
Skip Abstract Section

Abstract

Parametric Worst-case execution time (WCET) analysis of a sequential program produces a formula that represents the worst-case execution time of the program, where parameters of the formula are user-defined parameters of the program (as loop bounds, values of inputs, or internal variables, etc).

In this article we propose a novel methodology to compute the parametric WCET of a program. Unlike other algorithms in the literature, our method is not based on Integer Linear Programming (ILP). Instead, we follow an approach based on the notion of symbolic computation of WCET formulae. After explaining our methodology and proving its correctness, we present a set of experiments to compare our method against the state of the art. We show that our approach dominates other parametric analyses and produces results that are very close to those produced by non-parametric ILP-based approaches, while keeping very good computing time.

References

  1. Franz Baader and Tobias Nipkow. 1998. Term Rewriting and All That. Cambridge University Press, New York, NY. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Clément Ballabriga, Hugues Cassé, and Marianne De Michiel. 2009. A generic framework for blackbox components in WCET computation. In Proceedings of the 9th International Workshop on Worst-Case Execution Time Analysis (WCET’09), Vol. 10. Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik, Dagstuhl, Germany, 1--12.Google ScholarGoogle Scholar
  3. Clément Ballabriga, Hugues Cassé, Christine Rochange, and Pascal Sainrat. 2010. OTAWA: An open toolbox for adaptive WCET analysis. In Software Technologies for Embedded and Ubiquitous Systems. Lecture Notes in Computer Science, Vol. 6399. Springer, Berlin, 35--46. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Bilel Benhamamouch, Bruno Monsuez, and Franck Védrine. 2008. Computing WCET using symbolic execution. In Proceedings of the 2nd International Conference on Verification and Evaluation of Computer and Communication Systems (VECoS’08). British Computer Society, Swinton, UK, 128--139. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Michel Berkelaar, Kjell Eikland, and Peter Notebaert. 2004. lp_solve 5.5, Open source (Mixed-Integer) Linear Programming system. Retrieved from http://lpsolve.sourceforge.net/5.5/.Google ScholarGoogle Scholar
  6. Armin Biere, Jens Knoop, Laura Kovács, and Jakob Zwirchmayr. 2013. The auspicious couple: Symbolic execution and WCET analysis. In Proceedings of the 13th International Workshop on Worst-Case Execution Time Analysis, Vol. 30. Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik, Dagstuhl, Germany, 53--63.Google ScholarGoogle Scholar
  7. S. Bygde, A. Ermedahl, and B. Lisper. 2009. An efficient algorithm for parametric WCET calculation. In Proceedings of the 15th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA’09). IEEE, 13--21. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Duc-Hiep Chu and Joxan Jaffar. 2011. Symbolic simulation on complicated loops for WCET path analysis. In Proceedings of the 9th ACM International Conference on Embedded Software (EMSOFT’11). ACM, New York, NY, 319--328. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. J. S. Cohen. 2002. Computer Algebra and Symbolic Computation: Mathematical Methods. Vol. 1 in the Ak Peters Series. Peters, Natick, MA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Antoine Colin and Guillem Bernat. 2002. Scope-tree: A program representation for symbolic worst-case execution time analysis. In Proceedings of the 14th Euromicro Conference on Real-Time Systems (ECRTS’02). IEEE, Washington, DC, 36:1--36:53. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Paul Feautrier. 1988. Parametric integer programming. RAIRO Recherche Opérationnelle 22 (1988), 243--268.Google ScholarGoogle ScholarCross RefCross Ref
  12. Christian Ferdinand, Florian Martin, Reinhard Wilhelm, and Martin Alt. 1999. Cache behavior prediction by abstract interpretation. Sci. Comput. Program. 35, 2 (1999), 163--189. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Matthew S. Hecht and Jeffrey D. Ullman. 1972. Flow graph reducibility. In Proceedings of the 4th Annual ACM Symposium on Theory of Computing. ACM, Denver, CO, 238--250. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Johan Janssen and Henk Corporaal. 1997. Making graphs reducible with controlled node splitting. ACM Trans. Program. Lang. Syst. 19, 6 (Nov. 1997), 1031--1052. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Y.-T. S. Li, Sharad Malik, and Andrew Wolfe. 1995. Efficient microarchitecture modeling and path analysis for real-time software. In Proceedings of the 16th IEEE Real-Time Systems Symposium. IEEE, 298--307. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Y.-T. S. Li, S. Malik, and A. Wolfe. 1996. Cache modeling for real-time software: Beyond direct mapped instruction caches. In Proceedings of the 17th IEEE Real-Time Systems Symposium. IEEE, Washington, DC, 254--263. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Sung-Soo Lim, Young Hyun Bae, Gyu Tae Jang, Byung-Do Rhee, Sang Lyul Min, Chang Yun Park, Heonshik Shin, Kunsoo Park, Soo-Mook Moon, and Chong Sang Kim. 1995. An accurate worst case timing analysis for RISC processors. IEEE Trans. Softw. Eng. 21, 7 (1995), 593--604. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. S. Mohan, F. Mueller, W. Hawkins, M. Root, C. Healy, and D. Whalley. 2005. ParaScale: Exploiting parametric timing analysis for real-time schedulers and dynamic voltage scaling. In Proceedings of the 26th IEEE International Real-Time Systems Symposium. IEEE, 232--242. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Christine Rochange and Pascal Sainrat. 2009. A context-parameterized model for static analysis of execution times. In Transactions on High-Performance Embedded Architectures and Compilers II, Per Stenström (Ed.). Lecture Notes in Computer Science, Vol. 5470. Springer-Verlag, Berlin, 222--241. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Tao Wei, Jian Mao, Wei Zou, and Yu Chen. 2007. A new algorithm for identifying loops in decompilation. In Proceedings of the 14th International Conference on Static Analysis (SAS’07). Springer-Verlag, Berlin, 170--183. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Stephan Wilhelm and Björn Wachter. 2009. Symbolic state traversal for WCET analysis. In Proceedings of the 7th ACM International Conference on Embedded Software (EMSOFT’09). ACM, New York, NY, 137--146. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Khaled Yakdan, Sebastian Eschweiler, Elmar Gerhards-Padilla, and Matthew Smith. 2015. No more gotos: Decompilation using pattern-independent control-flow structuring and semantics-preserving transformations. In Proceedings of the Network and Distributed System Security (NDSS’15), ISOC. Internet Society, San Diego, CA, USA.Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. Symbolic WCET Computation

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader
        About Cookies On This Site

        We use cookies to ensure that we give you the best experience on our website.

        Learn more

        Got it!