Harrold and Soffa’s work is a contribution to dataflow analysis, which is an important component of two important parts of compilation--code generation and code optimization. The basic purpose of this paper is to describe an original algorithm for computing interprocedural definition-use chains, by way of an interprocedural flow graph (IFG), taking into account reference parameters, global variables, recursion, aliasing, and separate compilation. Thus it is highly technical, and useful for demonstrating the extreme complexity of a small part of the compilation process. This demonstration is important, because many people think that compilation no longer presents any problems, and that the increasing power of computers means the generation of good code is no longer a useful task.
The paper begins with explanations of the motivations of the work, which are difficult to follow because of the large number of complicated and similar names. Half the paper is devoted to the description of the algorithm itself, although nothing is said about how it was designed or about possible proofs of correctness. The complexity analysis is informal, but is convincing.
A shallow analysis of experimental results follows. Although the authors say that the experiment was done by modifying a C compiler, the only programs studied are in FORTRAN. In fact, almost all the programs are numerical applications. The authors study the ratio of the IFG size to the program size, and say that it is independent of program size. It seems much more strongly related to the procedural complexity of the program, computed as the ratio of the number of procedures to the number of statements, although this seems intuitively predictable. Further studies with different test programs, written in different languages, would have been useful.
The comparison with related work occurs late in the paper and is shallow. The lack of discussion about the precise place of the process described in the paper in a real compiler, and about its relative importance in the compilation process, is regrettable.