Abstract:
Program dependencies model the ways program entities – statements, expressions, variables, control flow, etc. – interact with each other. Therefore, they are explicitly or implicitly the basis of static (source-based) and dynamic (execution-based) program analysis. The basic two are the Control and Data Dependencies. The former accounts for the selection of program statements for execution, while the latter models data exchange between program statements. Both are binary relations on the set of nodes in the flowgraph but they can be used as a basis to define other heterogeneous relations, e.g., between statements and variables. The discussion is illustrated by the actual results produced by STAD 4.0.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
This problem is typical for structural (white-box) program testing, see Chapter 8.
- 2.
Attraction is often referred to as postdominance or reverse dominance. Since one word is preferred to two, and postdominance might be construed as A counterpart of nonexisting predominance, attraction seems to be A better choice as it also has A programming appeal.
- 3.
We say “may” for in some cases A decision node may always evaluate to A constant, e.g. if 3>2 then …else..
- 4.
This is also known as A definition-use chain, cf [2] and under such name is used in testing, see Chapter 8.
References
L.J.Ferrante et al., The program dependence graph and its use in optimization,ACM Transactions on Programming Languages and Systems,9(3),319-349,1985
M.S.Hecht, Flow Analysis of Computer Programs, North Holland, New York, NY, 1979.
A.V.Aho, R. Sethi, J.D.Ullman.,Compilers, Principles, Techniques and Tools,Reading M A, Addsion-Wesley 1986.
T. Lengauer,R.E. Tarjan, A fast algorithm for finding dominators in a flowgraph, Transactions on Programming Languages and Systems,1,121-145,1979.
E. Nuutila, Efficient transitive closure computation in large digraphs,Acta Polytechnica Scandinavica, Mathematics and Computing in Engineering Series No. 74, Helsinki 1995, 124 pages. Published by the Finnish Academy of Technology. ISBN 951-666-451-2, ISSN 1237-2404, UDC 681.3.
Author information
Authors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag London Limited
About this chapter
Cite this chapter
Laski, J., Stanley, W. (2009). Program Dependencies. In: Software Verification and Analysis. Springer, London. https://doi.org/10.1007/978-1-84882-240-5_6
Download citation
DOI: https://doi.org/10.1007/978-1-84882-240-5_6
Published:
Publisher Name: Springer, London
Print ISBN: 978-1-84882-239-9
Online ISBN: 978-1-84882-240-5
eBook Packages: Computer ScienceComputer Science (R0)