CONSTRUCTING THE CALL GRAPH OF A PROGRAM

被引:161
作者
RYDER, BG
机构
[1] Department of Computer Science, Rutgers University, New Brunswick
关键词
Fortran; Index Terms-Call graph; PFORT verifier; portability; procedure parameters; procedure references; static program analysis;
D O I
10.1109/TSE.1979.234183
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The proliferation of large software systems written in high level programming languages insures the utility of analysis programs which examine interprocedural communications. Often these analysis programs need to reduce the dynamic relations between procedures to a static data representation. This paper presents one such representation, a directed, acyclic graph named the call graph of a program. We delineate the programs representable by an acyclic call graph and present an algorithm for constructing it using the property that its nodes may be linearly ordered. We prove the correctness of the algorithm and discuss the results obtained from an implementation of the algorithm in the PFORT Verifier [1]. Copyright © 1979 by The Institute of Electrical and Electronics Engineers, Inc.
引用
收藏
页码:216 / 226
页数:11
相关论文
共 14 条
[1]  
Ryder B.G., The PFORT Verifier, Software Practice and Experience, 4, pp. 359-377, (1974)
[2]  
Allen F.E., Interprocedural data flow analysis, 1974 Proc. IFIPS Conf. (, pp. 398-402, (1974)
[3]  
American National Standard FORTRAN, (1966)
[4]  
Clarifications of FORTRAN standards-initial progress, Commun. Ass. Comput. Mach., 12, pp. 289-294
[5]  
Clarifications of FORTRAN standards-second report, Commun. Ass. Comput. Mach., 14, pp. 628-642
[6]  
Spillman T.C., Exposing side-Effects in a PL/I optimizing compiler, 1971 Proc. IFIPS Conf. (, pp. 56-60, (1971)
[7]  
Osterweil L.J., Fosdick L.D., Data flow analysis in software reliability
[8]  
Lomet D.B., Data flow analysis in the presence of procedure calls
[9]  
Rosen B.K., Data flow analysis for recursive PL-I programs
[10]  
Allen F.E., Schwartz J.T., Determining the data relationships in a collection of procedures