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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Back, R.-J., von Wright, J.: Refinement Calculus: A Systematic Introduction. Springer, Heidelberg (1998)
Back, R.J.R., von Wright, J.: Reasoning algebraically about loops. Acta Informatica 36, 295–334 (1999)
Beizer, B.: Software Testing Techniques, 2nd edn. Thomson Computer Press (1990)
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)
Cohen, E.: Hypotheses in Kleene algebra. Technical report TM-ARH-023814, Bellcore (1994)
Dijkstra, E.W.: A Discipline of Programming. Prentice-Hall, Englewood Cliffs (1976)
Fidge, C.J., Hayes, I.J., Watson, G.: The deadline command. IEE Proceedings—Software 146(2), 104–111 (1999)
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)
Gunter, E.L., Peled, D.: Path exploration tool. In: Cleaveland, W.R. (ed.) TACAS 1999. LNCS, vol. 1579, pp. 405–419. Springer, Heidelberg (1999)
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)
Hayes, I.J.: Reasoning about real-time repetitions: Terminating and nonterminating. Science of Computer Programming 43(2-3), 161–192 (2002)
Hayes, I.J., Fidge, C.J., Lermer, K.: Semantic characterisation of dead control-flow paths. IEE Proceedings—Software 148(6), 175–186 (2001)
Hayes, I.J., Utting, M.: A sequential real-time refinement calculus. Acta Informatica 37(6), 385–448 (2001)
Hehner, E.C.R.: A Practical Theory of Programming. Springer, Heidelberg (1993)
Hoare, C.A.R., Jifeng, H.: Unifying Theories of Programming. Prentice-Hall, Englewood Cliffs (1998)
Kozen, D.: Kleene algebra with tests. ACM Transactions on Programming Languages and Systems 19(3), 427–443 (1997)
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)
Morgan, C.C.: Programming from Specifications, 2nd edn. Prentice Hall, Englewood Cliffs (1994)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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