Skip to main content

Timing Analysis of Assembler Code Control-Flow Paths

  • Conference paper
  • First Online:
FME 2002:Formal Methods—Getting IT Right (FME 2002)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2391))

Included in the following conference series:

Abstract

Timing analysis of assembler code is essential to achieve the strongest possible guarantee of correctness for safety-critical, real-time software. Previous work has shown how timing constraints on control-flow paths through high-level language programs can be formalised using the semantics of the statements comprising the path. We extend these results to assembler-level code where it becomes possible to not only determine timing constraints, but also to verify them against the known execution times for each instruction. A minimal formal model is developed with both a weakest liberal precondition and a strongest postcondition semantics. However, despite the formalism’s simplicity, it is shown that complex timing behaviour associated with instruction pipelining and iterative code can be modelled accurately.

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 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.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. N. C. Audsley, I. J. Bate, and A. Grigg. Portable code for critical systems. In Proc. 6th International Conference on Real-Time Computing Systems and Applications, pages 111–118, December 1999.

    Google Scholar 

  2. R.-J. R. Back and J. von Wright. Refinement calculus, part I: Sequential nondeterministic programs. In J. W. de Bakker, W.-P. de Roever, and G. Rozenberg, editors, Stepwise Refinement of Distributed Systems: Models, Formalisms, Correctness (REX Workshop 1989), volume 430 of Lecture Notes in Computer Science, pages 42–66. Springer-Verlag, 1989.

    Google Scholar 

  3. B. Carré. Program analysis and verification. In C. T. Sennett, editor, High-Integrity Software, chapter 8, pages 176–197. Plenum Press, 1989.

    Google Scholar 

  4. C. Cifuentes, D. Simon, and A. Fraboulet. Assembly to high-level language translation. Technical Report 439, School of Information Technology, The University of Queensland, August 1998.

    Google Scholar 

  5. D. Corman, P. Goertzen, J. Luke, and M. Mills. Incremental Upgrade of Legacy Systems (IULS): A fundamental software technology for aging aircraft. In Fourth Joint DOD/FAA/NASA Conference on Aging Aircraft, 2000.

    Google Scholar 

  6. E. W. Dijkstra and C. S. Scholten. Predicate Calculus and Program Semantics. Springer-Verlag, 1990.

    Google Scholar 

  7. J. Engblom and A. Ermedahl. Modeling complex flows for worst-case execution time analysis. In Proceedings of the 21st IEEE Real-Time Systems Symposium, pages 163–174. IEEE Computer Society, 2000.

    Google Scholar 

  8. C. J. Fidge, I. J. Hayes, and G. Watson. The deadline command. IEE Proceedings—Software, 146(2):104–111, April 1999.

    Google Scholar 

  9. S. Grundon, I. J. Hayes, and C. J. Fidge. Timing constraint analysis. In C. McDonald, editor, Computer Science’ 98: Proc. 21st Australasian Computer Science Conference, pages 575–586. Springer-Verlag, 1998.

    Google Scholar 

  10. E. L. Gunter and D. Peled. Path exploration tool. In W. R. Cleaveland, editor, Tools and Algorithms for the Construction and Analysis of Systems (TACAS/ETAPS’99), volume 1579 of Lecture Notes in Computer Science, pages 405–419. Springer-Verlag, 1999.

    Chapter  Google Scholar 

  11. I. J. Hayes and M. Utting. A sequential real-time refinement calculus. Acta Informatica, 37(6):385–448, 2001.

    Article  MATH  MathSciNet  Google Scholar 

  12. C. A. Healy, D. B. Whalley, and M. G. Harmon. Integrating the timing analysis of pipelining and instruction caching. In Proc. 16th IEEE Real-Time Systems Symposium, pages 288–297. IEEE Computer Society Press, December 1995.

    Google Scholar 

  13. P. Kearney and M. Utting. A layered real-time specification of a RISC processor. In H. Langmaack, W.-P. de Roever, and J. Vytopil, editors, Formal Techniques in Real Time and Fault Tolerant Systems, volume 863 of Lecture Notes in Computer Science, pages 455–475. Springer-Verlag, 1994.

    Google Scholar 

  14. T. Lundqvist and P. Stenström. An integrated path and timing analysis method based on cycle-level symbolic execution. Real-Time Systems, 17(2/3):183–207, November 1999.

    Google Scholar 

  15. C. Morgan. Programming from Specifications. Prentice-Hall, 1990.

    Google Scholar 

  16. M. Müller-Olm. Modular Compiler Verification: A Refinement-Algebraic Approach Advocating Stepwise Abstraction, volume 1283 of Lecture Notes in Computer Science. Springer-Verlag, 1997.

    Google Scholar 

  17. N. Ramsey and M. F. Fernández. Specifying representations of machine instructions. ACM Transactions on Programming Languages and Systems, 19(3):492–524, May 1997.

    Google Scholar 

  18. A. Sampaio. An Algebraic Approach to Compiler Design, volume 4 of AMAST Series in Computing. World Scientific, 1997.

    Google Scholar 

  19. M. Utting and P. Kearney. Instruction level specification of a MIPS R3000 CPU. Technical Report 93-25, Software Verification Research Centre, The University of Queensland, February 1994.

    Google Scholar 

  20. T. Williams. Performance pushes RISC chips into real-time roles. Computer Design, pages 79–86, September 1991.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2002 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Fidge, C.J. (2002). Timing Analysis of Assembler Code Control-Flow Paths. In: Eriksson, LH., Lindsay, P.A. (eds) FME 2002:Formal Methods—Getting IT Right. FME 2002. Lecture Notes in Computer Science, vol 2391. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45614-7_21

Download citation

  • DOI: https://doi.org/10.1007/3-540-45614-7_21

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-43928-8

  • Online ISBN: 978-3-540-45614-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics