Abstract

Estimations of execution time are essential for design and development of safety critical embedded real-time systems, such as avionics, automotive and aerospace systems. In such systems, execution time is part of the functional specification, hence correct behaviour requires sufficiently powerful target hardware to meet deadlines or achieve required polling rates, etc. Yet, grossly overestimated resource usage results in excessive cost per unit. For a proper choice of the target platform, qualitatively good execution time estimates are required at an early stage of the development process.

In this paper we propose a framework which provides software engineers with execution time estimates of the software under development in a demand-driven manner, i. e. the engineers ask for timing information at program or function level with respect to different target hardware platforms. In a platform-independent manner we extract the necessary information from the code and combine it with platform-specific information, resulting in the time estimate. We implemented our framework on top of the test input generator FShell and its query language FQL. Preliminary experiments on C code show the viability of our approach.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Boehm, B.W.: Software Engineering Economics. Prentice-Hall, Englewood Cliffs (1981)MATHGoogle Scholar
  2. 2.
    Westland, J.C.: The cost of errors in software development: evidence from industry. Journal of Systems and Software 62(1), 1–9 (2002)CrossRefGoogle Scholar
  3. 3.
    Gustafsson, J., Altenbernd, P., Ermedahl, A., Lisper, B.: Approximate worst-case execution time analysis for early stage embedded systems development. In: Lee, S., Narasimhan, P. (eds.) SEUS 2009. LNCS, vol. 5860, pp. 308–319. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  4. 4.
    Holzer, A., Januzaj, V., Kugele, S.: Towards Resource Consumption-aware Programming. In: ICSEA, pp. 490–493 (2009)Google Scholar
  5. 5.
    Lattner, C., Adve, V.S.: Llvm: A compilation framework for lifelong program analysis & transformation. In: CGO, pp. 75–88 (2004)Google Scholar
  6. 6.
    Holzer, A., Schallhart, C., Tautschnig, M., Veith, H.: How did you specify your test suite? In: ASE 2010 (to appear, 2010)Google Scholar
  7. 7.
    Holzer, A., Schallhart, C., Tautschnig, M., Veith, H.: Query-Driven Program Testing. In: Jones, N.D., Müller-Olm, M. (eds.) VMCAI 2009. LNCS, vol. 5403, pp. 151–166. Springer, Heidelberg (2009)Google Scholar
  8. 8.
    Holzer, A., Schallhart, C., Tautschnig, M., Veith, H.: FShell: Systematic Test Case Generation for Dynamic Analysis and Measurement. In: Gupta, A., Malik, S. (eds.) CAV 2008. LNCS, vol. 5123, pp. 209–213. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  9. 9.
    Giusto, P., Martin, G., Harcourt, E.: Reliable estimation of execution time of embedded software. In: DATE, pp. 580–589 (2001)Google Scholar
  10. 10.
    Januzaj, V., Mauersberger, R., Biechele, F.: Performance Modelling for Avionics Systems. In: Moreno-Díaz, R., Pichler, F., Quesada-Arencibia, A. (eds.) Computer Aided Systems Theory - EUROCAST 2009. LNCS, vol. 5717, pp. 833–840. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  11. 11.
    Mälardalen WCET research group: WCET Benchmarks (2010), http://www.mrtc.mdh.se/projects/wcet/benchmarks.html
  12. 12.
    Standard Performance Evaluation Corporation: SPEC CPU2006 (2010), http://www.spec.org/
  13. 13.
    Wilhelm, R., Engblom, J., Ermedahl, A., Holsti, N., Thesing, S., Whalley, D.B., Bernat, G., Ferdinand, C., Heckmann, R., Mitra, T., Mueller, F., Puaut, I., Puschner, P.P., Staschulat, J., Stenström, P.: The worst-case execution-time problem - overview of methods and survey of tools. ACM Trans. Embedded Comput. Syst. 7(3) (2008)Google Scholar
  14. 14.
    Li, Y.T.S., Malik, S.: Performance analysis of embedded software using implicit path enumeration. In: DAC, pp. 456–461 (1995)Google Scholar
  15. 15.
    Puschner, P., Schedl, A.: Computing maximum task execution times – a graph-based approach. Journal of Real-Time Systems 13(1), 67–91 (1997)CrossRefGoogle Scholar
  16. 16.
    Ottosson, G., Sjödin, M.: Worst case execution time analysis for modern hardware architectures. In: SIGPLAN, pp. 47–55 (1997)Google Scholar
  17. 17.
    Lindgren, M., Hansson, H., Thane, H.: Using measurements to derive the worst-case execution time. In: RTCSA, pp. 15–22 (2000)Google Scholar
  18. 18.
    Smith, C.U., Woodside, M.: Performance validation at early stages of software development. In: System Performance Evaluation: Methodologies and Applications, pp. 383–396 (2000)Google Scholar
  19. 19.
    Mohanty, S., Prasanna, V.K., Neema, S., Davis, J.R.: Rapid design space exploration of heterogeneous embedded systems using symbolic search and multi-granular simulation. In: LCTES-SCOPES, pp. 18–27 (2002)Google Scholar
  20. 20.
    Nenova, S., Kästner, D.: Worst-case timing estimation and architecture exploration in early design phases. In: WCET (2009)Google Scholar
  21. 21.
    Wuerges, E., dos Santos, L.C.V., Furtado, O.J.V., Rigo, S.: An early real-time checker for retargetable compile-time analysis. In: SBCCI (2009)Google Scholar
  22. 22.
    Gustafsson, J., Ermedahl, A., Lisper, B., Sandberg, C., Källberg, L.: Alf - a language for wcet flow analysis. In: WCET (2009)Google Scholar
  23. 23.
    Wang, Z., Sanchez, A., Herkersdorf, A.: Scisim: a software performance estimation framework using source code instrumentation. In: WOSP, pp. 33–42 (2008)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Andreas Holzer
    • 1
  • Visar Januzaj
    • 2
  • Stefan Kugele
    • 3
  • Michael Tautschnig
    • 1
  1. 1.AB Formal Methods in Systems EngineeringTechnische Universität WienWienAustria
  2. 2.Fachbereich Informatik, FG Formal Methods in Systems Engineering - FORSYTETechnische Universität DarmstadtDarmstadtGermany
  3. 3.Institut für InformatikTechnische Universität MünchenGarching bei MünchenGermany

Personalised recommendations