Skip to main content

Programs as Paths: An Approach to Timing Constraint Analysis

  • Conference paper
Book cover Formal Methods and Software Engineering (ICFEM 2003)

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

Included in the following conference series:

Abstract

A program can be decomposed into a set of possible execution paths. These can be described in terms of primitives such as assignments, assumptions and coercions, and composition operators such as sequential composition and nondeterministic choice as well as finitely or infinitely iterated sequential composition. Some of these paths cannot possibly be followed (they are dead or infeasible), and they may or may not terminate.

Decomposing programs into paths provides a foundation for analyzing properties of programs. Our motivation is timing constraint analysis of real-time programs, but the same techniques can be applied in other areas such as program testing. In general the set of execution paths for a program is infinite. For timing analysis we would like to decompose a program into a finite set of subpaths that covers all possible execution paths, in the sense that we only have to analyze the subpaths in order to determine suitable timing constraints that cover all execution paths.

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. Back, R.-J., von Wright, J.: Refinement Calculus: A Systematic Introduction. Springer, Heidelberg (1998)

    MATH  Google Scholar 

  2. Back, R.J.R., von Wright, J.: Reasoning algebraically about loops. Acta Informatica 36, 295–334 (1999)

    Article  MATH  MathSciNet  Google Scholar 

  3. Beizer, B.: Software Testing Techniques, 2nd edn. Thomson Computer Press (1990)

    Google Scholar 

  4. Chapman, R., Burns, A., Wellings, A.J.: Integrated program proof and worst-case timing analysis of SPARK Ada. In: ACM Workshop on language, compiler and tool support for real-time systems. ACM Press, New York (1994)

    Google Scholar 

  5. Cohen, E.: Hypotheses in Kleene algebra. Technical report TM-ARH-023814, Bellcore (1994)

    Google Scholar 

  6. Dijkstra, E.W.: A Discipline of Programming. Prentice-Hall, Englewood Cliffs (1976)

    MATH  Google Scholar 

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

    Google Scholar 

  8. Grundon, S., Hayes, I.J., Fidge, C.J.: Timing constraint analysis. In: McDonald, C. (ed.) Computer Science 1998: Proc. 21st Australasian Computer Sci. Conf (ACSC 1998), Perth, February 4-6, pp. 575–586. Springer, Heidelberg (1998)

    Google Scholar 

  9. Gunter, E.L., Peled, D.: Path exploration tool. In: Cleaveland, W.R. (ed.) TACAS 1999. LNCS, vol. 1579, pp. 405–419. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  10. Hayes, I.J.: Real-time program refinement using auxiliary variables. In: Joseph, M. (ed.) FTRTFT 2000. LNCS, vol. 1926, pp. 170–184. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  11. Hayes, I.J.: Reasoning about real-time repetitions: Terminating and nonterminating. Science of Computer Programming 43(2-3), 161–192 (2002)

    Article  MATH  MathSciNet  Google Scholar 

  12. Hayes, I.J., Fidge, C.J., Lermer, K.: Semantic characterisation of dead control-flow paths. IEE Proceedings—Software 148(6), 175–186 (2001)

    Google Scholar 

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

    Article  MATH  MathSciNet  Google Scholar 

  14. Hehner, E.C.R.: A Practical Theory of Programming. Springer, Heidelberg (1993)

    MATH  Google Scholar 

  15. Hoare, C.A.R., Jifeng, H.: Unifying Theories of Programming. Prentice-Hall, Englewood Cliffs (1998)

    Google Scholar 

  16. Kozen, D.: Kleene algebra with tests. ACM Transactions on Programming Languages and Systems 19(3), 427–443 (1997)

    Article  Google Scholar 

  17. Lermer, K., Fidge, C.J., Hayes, I.J.: Linear approximation of execution time constraints. Technical Report 02-31, Software Verification Reseach Centre, The University of Queensland (October 2002)

    Google Scholar 

  18. Morgan, C.C.: Programming from Specifications, 2nd edn. Prentice Hall, Englewood Cliffs (1994)

    MATH  Google Scholar 

  19. Utting, M., Fidge, C.J.: A real-time refinement calculus that changes only time. In: Jifeng, H. (ed.) Proc. 7th BCS/FACS Refinement Workshop, Electronic Workshops in Computing. Springer, Heidelberg (July 1996)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2003 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Hayes, I.J. (2003). Programs as Paths: An Approach to Timing Constraint Analysis. In: Dong, J.S., Woodcock, J. (eds) Formal Methods and Software Engineering. ICFEM 2003. Lecture Notes in Computer Science, vol 2885. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-39893-6_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-39893-6_1

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-20461-9

  • Online ISBN: 978-3-540-39893-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics