This Article 
 Bibliographic References 
 Add to: 
Constructing the Procedure Call Multigraph
April 1990 (vol. 16 no. 4)
pp. 483-487

An algorithm for constructing a precise call multigraph for languages that permit procedure parameters, extending the method of B. Ryder for handling recursion, is presented. If it is assumed that there is a constant upper bound on the number of procedure parameters to any procedure in the program, then the algorithm is polynomial in the total number of procedures in the program.

[1] F. E. Allen and J. Cocke, "A program data flow analysis procedure,"CACM, vol. 19, no. 3, Mar. 1977.
[2] F. E. Allen, "Interprocedural data flow analysis," inProc. IFIP Congr. 1974. Amsterdam, The Netherlands: North-Holland, 1974, pp. 398-402.
[3] J. P. Banning, "An efficient way to find the side effects of procedure calls and the aliases of variables," inProc. 6th POPL Conf., ACM, pp. 724-736, 1979.
[4] J. M. Barth, "A practical interprocedural dataflow analysis algorithm,"Comm. Assoc. Computing Machinery, vol. 21, no. 9, pp. 724-726, Sept. 1978.
[5] M. Burke, "An interval-based approach to exhaustive and incremental interprocedural analysis," IBM Research Center, Yorktown Heights, NY, Res. Rep. RC 12702, Sept. 1987.
[6] D. Callahan, K. Cooper, R. T. Hood, K. Kennedy, and L. M. Torezon, "ParaScope: A parallel programming environment,"Int. J. Supercomput. Applicat., vol. 2, no. 4, Dec. 1988.
[7] K. D. Cooper and K. Kennedy, "Efficient computation of flow insensitive interprocedural summary information," inProc. ACM SIGPLAN Symp. Compiler Construction, June 1984, pp. 247-258.
[8] K.D. Cooper, K. Kennedy, and L. Torczon, "The impact of interprocedure analysis and optimization in theRnenvironment,"ACM Trans. Program. Lang. Syst., vol. 8, no. 4, pp. 491-523, Oct. 1986.
[9] K. Cooper, K. Kennedy, and L. Torezon, "Interprocedural optimization: Eliminating unnecessary recompilation," inProc. 1986 Symp. Compiler Construction, ACM, Palo Alto, CA, June 1986.
[10] E.W. Myers, "A Precise Interprocedural Dataflow Algorithm,"Conf. Rec. Ann. Symp. Principles of Programming Languages, ACM, New York, 1981, pp. 219-230.
[11] B. Ryder, "Constructing the call graph of a program,"IEEE Trans. Software Eng., vol. SE-5, pp. 216-225, May 1979.

Index Terms:
procedure call multigraph; algorithm; precise call multigraph; recursion; upper bound; polynomial; parallel programming.
D. Callahan, A. Carle, M.W. Hall, K. Kennedy, "Constructing the Procedure Call Multigraph," IEEE Transactions on Software Engineering, vol. 16, no. 4, pp. 483-487, April 1990, doi:10.1109/32.54302
Usage of this product signifies your acceptance of the Terms of Use.