Issue No. 02 - February (1994 vol. 20)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/32.265631
<p>Recent advances in languages, software design methodologies, and architecture have prompted the development of improved compile-time methods for analyzing the effects of procedure calls, pointer references, and array accesses. Such sophistication, however, generally implies that compilers and programming environments will experience a corresponding increase in the volume of analysis information, which may be difficult to use efficiently. In this paper, we consider the practical accommodation of such information. Our results show how to engineer a compiler such that its optimization phase takes time proportional to the benefit, rather than the size, of such information.</p>
program diagnostics; program compilers; software engineering; optimisation; efficient engineering; program analysis; compile-time methods; procedure calls; pointer references; array accesses; compilers; programming environments; optimization phase; information benefit; analysis information volume; data-flow analysis; data-flow chains; reaching definitions; static single assignment; compact representation; demand-driven computation
R. Cytron, J. Ferrante and J. Choi, "On the Efficient Engineering of Ambitious Program Analysis," in IEEE Transactions on Software Engineering, vol. 20, no. , pp. 105-114, 1994.