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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Boehm, B.W.: Software Engineering Economics. Prentice-Hall, Englewood Cliffs (1981)
Westland, J.C.: The cost of errors in software development: evidence from industry. Journal of Systems and Software 62(1), 1–9 (2002)
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)
Holzer, A., Januzaj, V., Kugele, S.: Towards Resource Consumption-aware Programming. In: ICSEA, pp. 490–493 (2009)
Lattner, C., Adve, V.S.: Llvm: A compilation framework for lifelong program analysis & transformation. In: CGO, pp. 75–88 (2004)
Holzer, A., Schallhart, C., Tautschnig, M., Veith, H.: How did you specify your test suite? In: ASE 2010 (to appear, 2010)
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)
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)
Giusto, P., Martin, G., Harcourt, E.: Reliable estimation of execution time of embedded software. In: DATE, pp. 580–589 (2001)
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)
Mälardalen WCET research group: WCET Benchmarks (2010), http://www.mrtc.mdh.se/projects/wcet/benchmarks.html
Standard Performance Evaluation Corporation: SPEC CPU2006 (2010), http://www.spec.org/
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)
Li, Y.T.S., Malik, S.: Performance analysis of embedded software using implicit path enumeration. In: DAC, pp. 456–461 (1995)
Puschner, P., Schedl, A.: Computing maximum task execution times – a graph-based approach. Journal of Real-Time Systems 13(1), 67–91 (1997)
Ottosson, G., Sjödin, M.: Worst case execution time analysis for modern hardware architectures. In: SIGPLAN, pp. 47–55 (1997)
Lindgren, M., Hansson, H., Thane, H.: Using measurements to derive the worst-case execution time. In: RTCSA, pp. 15–22 (2000)
Smith, C.U., Woodside, M.: Performance validation at early stages of software development. In: System Performance Evaluation: Methodologies and Applications, pp. 383–396 (2000)
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)
Nenova, S., Kästner, D.: Worst-case timing estimation and architecture exploration in early design phases. In: WCET (2009)
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)
Gustafsson, J., Ermedahl, A., Lisper, B., Sandberg, C., Källberg, L.: Alf - a language for wcet flow analysis. In: WCET (2009)
Wang, Z., Sanchez, A., Herkersdorf, A.: Scisim: a software performance estimation framework using source code instrumentation. In: WOSP, pp. 33–42 (2008)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Holzer, A., Januzaj, V., Kugele, S., Tautschnig, M. (2010). Timely Time Estimates. In: Margaria, T., Steffen, B. (eds) Leveraging Applications of Formal Methods, Verification, and Validation. ISoLA 2010. Lecture Notes in Computer Science, vol 6415. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-16558-0_5
Download citation
DOI: https://doi.org/10.1007/978-3-642-16558-0_5
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-16557-3
Online ISBN: 978-3-642-16558-0
eBook Packages: Computer ScienceComputer Science (R0)