ACM Home Page
Please provide us with feedback. Feedback
Program improvement by internal specialization
Full text PdfPdf (814 KB)
Source Annual Symposium on Principles of Programming Languages archive
Proceedings of the 8th ACM SIGPLAN-SIGACT symposium on Principles of programming languages table of contents
Williamsburg, Virginia
Pages: 41 - 49  
Year of Publication: 1981
ISBN:0-89791-029-X
Author
William L. Scherlis  Stanford University and Carnegie-Mellon University, Pittsburgh, PA
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 3,   Downloads (12 Months): 18,   Citation Count: 21
Additional Information:

abstract   references   cited by   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/567532.567536
What is a DOI?

ABSTRACT

We investigate the specialization of programs by means of program transformation techniques. There are two goals of this investigation: the construction of program synthesis tools, and a better understanding of the development of algorithms.By extending an ordinary language of recursion equations to include a generalized procedure construct (the expression procedure), our ability to manipulate programs in that language is greatly enhanced. The expression procedure provides a means of expressing information not just about the properties of individual program elements, but also about the way they relate to each other.A set of four operations for transforming programs in this extended language is presented. These operations, unlike the transformation rules of Burstall and Darlington and of Manna and Waldinger, preserve the strong equivalence of programs.This set of operations forms the basis of a general-purpose specialization technique for recursive programs. The practical value of this technique has been demonstrated in the systematic development of many programs, including several context-free parsing algorithms. We outline here the development of Earley's algorithm by specialization.This paper is an informal exposition of part of the results of the author's Ph.D. thesis [Scherlis80].


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
{Burstall71} R. M. Burstall, J. S. Collins, and R. J. Popplestone, Programming in POP-2. Edinburgh University Press, 1971.
2
 
3
{Darlington78a} J. Darlington, "A Synthesis of Several Sorting Algorithms." Acta Informatica, Vol. 11, Page 1, 1978.
4
5
 
6
{Green78} C. C. Green and D. R. Barstow, "On program Synthesis Knowledge." Artificial Intelligence, Vol. 10, Page 241, 1978.
 
7
{Katz78} S. Katz, "Program Optimization Using Invariants." IEEE Transactions on Software Engineering, Vol. SE-4, No. 5, September, 1978.
 
8
{Kott78} L. Kott, "About R. Burstall and J. Darlington's Transformation System: A Theoretical Study." Program Transformation, B. Robinet, ed., Dunod, 1978.
 
9
{Manna79} Z. Manna and R. Waldinger, "Synthesis: Dreams ⇒ Programs." IEEE Transactions on Software Engineering, Vol. SE-5, No. 4, July 1979.
 
10
{Paige77} R. Paige and J. T. Schwartz, "Reduction in Strength of High Level Operations." Fourth Symposium on Principles of Programming Languages, January 1977.
 
11
 
12
{Wegbreit73} B. Wegbreit, "Procedure Closure in EL1." Center for Research in Computing Technology, Harvard University, May 1973.
13

CITED BY  21
Collaborative Colleagues:
William L. Scherlis: colleagues