ACM Home Page
Please provide us with feedback. Feedback
Improving and refining programs by program manipulation
Full text PdfPdf (705 KB)
Source ACM Annual Conference/Annual Meeting archive
Proceedings of the annual conference table of contents
Houston, Texas, United States
Pages: 509 - 516  
Year of Publication: 1976
Authors
Sponsor
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 1,   Downloads (12 Months): 8,   Citation Count: 13
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/800191.805652
What is a DOI?

ABSTRACT

By manipulating programs to reorganize the way they compute their results, it is possible to improve program performance in certain desirable directions. Further, using certain laws of exchange, it is possible to transform concise, abstract, high-level programs into efficient, concrete , underlying representations. This paper explores the notion of using source-to-source transformations interactively as a basis for an approach to program improvement and refinement. Examples of program manipulation are presented that convey both the flavor of the approach and its requirements.


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
 
2
 
3
 
4
Allen, F.E., and Cocke,J., A Catalogue of Optimizing Transformations, in Design and Optimization of Compilers, (R. Rustin ed.), Prentice-Hall, Englewood Cliffs, N.J., (1972), pp. 1-30.
 
5
 
6
Allen, J.C., and Luckham, D.C., An Interactive Theorem Proving Program, Machine Intelligence 5, (Meltzer, B., and Michie, D. eds), American Elsevier, New York, (1970), 321-336.
 
7
Cheatham, T.E., and Wegbreit, B., A Laboratory for the Study of Automatic Programming, Proc. AFIPS Spring Joint Computer Conference, Vol. 40, AFIPS Press, Montvale, N.J., (1972), 11-21.
 
8
London, R.L., Proving Programs Correct: Some Techniques and Examples, BIT 10(1970), 168-182.
 
9
Waldinger, R.J., and Levitt, K.N., Reasoning about Programs, Tech. note 86, A.I. Center, Stanford Research Institute, Menlo Park, Cal., (October 1973).
10
 
11
Green, C., Application of Theorem Proving to Problem Solving, Proc. IJCAI 1, Washington, D.C., (1969), 219-239.
12
 
13
14
 
15
Hewitt, C., and Smith, B., Towards a Programming Apprentice, Working Paper 90, A.I. Lab., MIT, Cambridge, Mass. (Jan. 1975).
16
 
17
Ingalls, D., The Execution Time Profile as a Programming Tool, in Design and Optimization of Compilers, (Rustin, R. ed.), Prentice-Hall, Englewood Cliffs, N.J., (1972), pp. 107-128.
 
18
Knuth, D.E., An Empirical Study of FORTRAN Programs, Software—Practice and Experience 1 (1971), 105-133.
19
 
20
Beckman, L., Haraldson, A., Oskarsson, O., and Sandewall, E., A Partial Evaluator, and Its Use as a Programming Tool, DLU 74/34, DatalogiLaboratoriet, Inst. f. Informationsbehandling, Uppsala University, Uppsala, Sweden,(Nov. 1974).
21
 
22
Standish, T., Harriman, D., Kibler, D., and Neighbors, J., The Irvine Program Transformation Catalogue, Computer Science Department, U.C. Irvine, Irvine, Cal., (Jan. 1976).
 
23
Reynolds, J.C., Transformational Systems and the Algebraic Structure of Atomic Formulas, Machine Intelligence 5, (1970), 135-151.
 
24
Plotkin, G.D., A Note on Inductive Generalization, Machine Intelligence 5, (1970),153-163.
 
25
Standish, T., Kibler, D., Neighbors, J., and Winkler, T., Verifying Source-to-Source Transformations, (in preparation).
 
26
Standish, T.A., Arcturus: An Interactive Program Manipulation System, (in preparation).

CITED BY  13

Collaborative Colleagues:
Thomas A. Standish: colleagues
Dennis F. Kibler: colleagues
James M. Neighbors: colleagues