|
ABSTRACT
The use of source-to-source program transformations has proved valuable in improving program performance. The concept of program manipulation is elucidated by describing its role in both conventional optimization and high level modification of conditional, looping, and procedure structures. An example program fragment written in an Algol-like language is greatly improved by transformations enabled by a user-provided assertion about a data array. A compilation model based on the use of source-to-source program transformations is used to provide a framework for discussing issues of code generation, compilation of high level languages such as APL, and eliminating overhead commonly associated with modular structured programming. Application of the compilation model to several different languages is discussed.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
ABRAMS, P An APL machine, SU-SEL-70-017, Stanford Electron Lab Stanford, Cahf, Feb. 1970
|
| |
2
|
ACM SIGPLAN Symposmm on very high level languages SIGPLAN Nouces (ACM) 9, 4 (April 1974)
|
| |
3
|
ACM SIGPLAN. Proceedings of a symposmm on compder optimization. SIGPLAN Nouces (ACM) 5, 7 (July 1970)
|
| |
4
|
ALLEN, F.E., AND COCKE, J A catalogue of opUmlzlng transformations In Destgn and Opttmtzatton of Compilers, R Rustm, Ed , Prentice-Hall, Englewood Cliffs, N J , 1972, pp 1-30
|
| |
5
|
BeatRisro, D, ANO SArrERLY, K BETA laboratory Final Rep CADD-7312-3111, Mass Computer Associates, Inc, Wakefield, Mass., Dec 1973
|
 |
6
|
|
| |
7
|
CARTER, J L A case study of a new compdlng code generation techmque RC 5666, IBM Thomas J Watson Res Ctr, Yorktown Heights, N Y, Oct 1975
|
 |
8
|
|
| |
9
|
CHEATHAM, T E, Arid WEGaREIT, B A laboratory for the study of automatic programming Proc. AFIPS 1972 SJCC, Vol 40, AFIPS Press, Montvale, N J , pp 11-21.
|
 |
10
|
|
| |
11
|
GESCHKE, C M Global program optlmlzauons Ph D Th , Comptr Scl Dep , Carnegie-Mellon U , Pittsburgh, Pa, 1972
|
| |
12
|
|
| |
13
|
I~GALLS. D The execution tame profile as a programming tool In Design and Optzmzzatton of Comptlers, R Rustm, Ed , Prent,ce-Hall, Englewood Chffs, N J , 1972, pp. 107-128
|
| |
14
|
KARR~ M Gathering mformat~on about programs CA-7507-1411, Mass Computer Associates, Inc, Wakefield, Mass , July 1975
|
| |
15
|
KAttR, M On affine relationships among variables of a program Acta InformaOca 6, 2 (1976), 133-152
|
 |
16
|
|
| |
17
|
LAMPORT, L Parallel execution on array and vector computers Proc 1975 Sagamore Conf. on Parallel Processing, Syracuse U , Aug 1975, pp 187-191
|
 |
18
|
|
| |
19
|
LOVEMAN, D An ATE language processing system Autotestcon 76 Formally Automat,c Support Systems for Advanced Mamtamabd~ty, IEEE, New York, 1976, pp 1-9
|
 |
20
|
|
 |
21
|
|
| |
22
|
|
| |
23
|
SCHNECK, P B , AND ANGEL, E A FORTRAN to FORTRAN optimizing compiler Computer J 16, 4 (Nov 1973), 322-330
|
| |
24
|
SHAPIRO, R M , AND SAINT, H The representation of algorithms Final Tech. Rep RADC-TR-69-313, Applied Data Research, Inc , Vol II, Rome Air Develop Ctr., Sept 1969
|
 |
25
|
Thomas A. Standish , Dennis F. Kibler , James M. Neighbors, Improving and refining programs by program manipulation, Proceedings of the annual conference, p.509-516, October 20-22, 1976, Houston, Texas, United States
[doi> 10.1145/800191.805652]
|
| |
26
|
STANOISH, T, HARRIMAN, D, KIBLER, D, AND NEIGHBORS, J The Irvlne program transformation catalogue Dep Inform and Cornptr Scl , U of California at Irvlne, Irvlne, Cahf, Jan 1976
|
| |
27
|
VANTASSEL, D Program Style, Design Efficmncy, Debugging and Testing Prentice-Hall, Englewood Chffs. N J , 1974
|
| |
28
|
WEGBREIT, B Goal-directed program transformation IEEE Trans on Software Eng SE-2, 2 (June 1976), 69-80
|
| |
29
|
WEGBREIT, B Property extraction in well-founded property sets IEEE Trans on Software Eng SE-1, 3 (Sept. I975), 270-285
|
| |
30
|
WEGBRE1T, B The ECL programming system Proc AFIPS FJCC, Vol 39, AFIPS Press, Montvale, N J, 253-262
|
 |
31
|
|
CITED BY 64
|
|
|
|
|
|
N. Islam , T. J. Myers , P. Broome, A simple optimizer for FP-like languages, Proceedings of the 1981 conference on Functional programming languages and computer architecture, p.33-40, October 18-22, 1981, Portsmouth, New Hampshire, United States
|
|
|
|
|
|
|
|
|
|
|
|
Martin Janssen , Francky Catthoor , Hugo De Man, A specification invariant technique for operation cost minimisation in flow-graphs, Proceedings of the 7th international symposium on High-level synthesis, p.146-151, May 18-20, 1994, Niagra-on-the-Lake, Ontario, Canada
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Anne Adam , Paul Gloess , Jean-Pierre Laurent, An interactive tool for program manipulation, Proceedings of the 5th international conference on Software engineering, p.460-468, March 09-12, 1981, San Diego, California, United States
|
|
J. Bézivin , F. Gauduel , J. L. Nebut , R. Rannou, On the necessary evolution towards improvement specialization in software production teams, Proceedings of the fifteenth annual SIGCPR conference, p.190-202, August 18-19, 1977, Arlington, Virginia, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
John D. Owens , William J. Dally , Ujval J. Kapasi , Scott Rixner , Peter Mattson , Ben Mowery, Polygon rendering on a stream architecture, Proceedings of the ACM SIGGRAPH/EUROGRAPHICS workshop on Graphics hardware, p.23-32, August 21-22, 2000, Interlaken, Switzerland
|
|
|
|
M. Chen , Y. Choo , J. Li, Crystal: from functional description to efficient parallel code, Proceedings of the third conference on Hypercube concurrent computers and applications: Architecture, software, computer systems, and general issues, p.417-433, January 19-20, 1988, Pasadena, California, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Vítor Santos Costa , Ashwin Srinivasan , Rui Camacho , Hendrik Blockeel , Bart Demoen , Gerda Janssens , Jan Struyf , Henk Vandecasteele , Wim Van Laer, Query transformations for improving the efficiency of ilp systems, The Journal of Machine Learning Research, 4, 12/1/2003
|
|
D. J. Kuck , R. H. Kuhn , D. A. Padua , B. Leasure , M. Wolfe, Dependence graphs and compiler optimizations, Proceedings of the 8th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.207-218, January 26-28, 1981, Williamsburg, Virginia
|
|
|
Thomas E. Cheatham, Jr. , Glenn H. Holloway , Judy A. Townley, Program refinement by transformation, Proceedings of the 5th international conference on Software engineering, p.430-437, March 09-12, 1981, San Diego, California, United States
|
|
|
|
|
Thomas E. Cheatham, Jr. , Judy A. Townley , Glenn H. Holloway, A system for program refinement, Proceedings of the 4th international conference on Software engineering, p.53-62, September 17-19, 1979, Munich, Germany
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
D. S. Batory , J. R. Barnett , J. F. Garza , K. P. Smith , K. Tsukuda , C. Twichell , T. E. Wise, GENESIS: An Extensible Database Management System, IEEE Transactions on Software Engineering, v.14 n.11, p.1711-1730, November 1988
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
P. R. Panda , F. Catthoor , N. D. Dutt , K. Danckaert , E. Brockmeyer , C. Kulkarni , A. Vandercappelle , P. G. Kjeldsberg, Data and memory optimization techniques for embedded systems, ACM Transactions on Design Automation of Electronic Systems (TODAES), v.6 n.2, p.149-206, April 2001
|
|
|
|
|
Peer to Peer - Readers of this Article have also read:
-
Data structures for quadtree approximation and compression
Communications of the ACM
28, 9
Hanan Samet
-
A hierarchical single-key-lock access control using the Chinese remainder theorem
Proceedings of the 1992 ACM/SIGAPP Symposium on Applied computing
Kim S. Lee
, Huizhu Lu
, D. D. Fisher
-
Putting innovation to work: adoption strategies for multimedia communication systems
Communications of the ACM
34, 12
Ellen Francik
, Susan Ehrlich Rudman
, Donna Cooper
, Stephen Levine
-
The GemStone object database management system
Communications of the ACM
34, 10
Paul Butterworth
, Allen Otis
, Jacob Stein
-
An intelligent component database for behavioral synthesis
Proceedings of the 27th ACM/IEEE conference on Design automation
Gwo-Dong Chen
, Daniel D. Gajski
|