On the efficient synthesis of efficient programs

作者:

Highlights:

摘要

Efficiency is a problem in automatic programming—both in the programs produced and in the synthesis process itself. The efficiency problem arises because many target-language programs (which vary in their time and space performance) typically satisfy one abstract specification. This paper presents a framework for using analysis and searching knowledge to guide program synthesis in a stepwise refinement paradigm. A particular implementation of the framework, called libra, is described. Given a program specification that includes size and frequency notes, the performance measure to be minimized, and some limits on synthesis resources, libra selects algorithms and data representations and decides whether to use ‘optimizing’ transformations. By applying incremental, algebraic program analysis, explicit rules about plausible implementations, and resource allocation on the basis of decision importance, libra has guided the automatic implementation of a number of programs in the domain of symbolic processing.

论文关键词:

论文评审过程:Available online 25 February 2003.

论文官网地址:https://doi.org/10.1016/0004-3702(83)90009-7