1976 · 36 citations · 15 references
ComputingComputer ScienceCompilersProgramming LanguagesSoftware EngineeringControl-flow AnalysisData-flow AnalysisIntermediate RepresentationReverse EngineeringSoftware ConstructionSoftware DesignIntermediate Code GenerationProgram OptimizationProgram Performance EvaluationProgram RefinementProgram SynthesisProgram TransformationSource Code TransformationSource-to-source Translation
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.
15
Program development by stepwise refinement
Niklaus Wirth · Communications of the ACM · 1983 · 690 citations · Full text
Computing, Computer Science, Building Information Modeling +5
An empirical study of FORTRAN programs
Donald E. Knuth · Software Practice and Experience · 1971 · 682 citations
Toward automatic program synthesis
Zohar Manna, Richard Waldinger · Communications of the ACM · 1971 · 297 citations · Full text
Program Improvement by Source-to-Source Transformation
David B. Loveman · Journal of the ACM · 1977 · 215 citations · Full text
Joel Moses · Communications of the ACM · 1971 · 138 citations · Full text