Communications of the ACM
A control statement for natural top-down structured programming
Programming Symposium, Proceedings Colloque sur la Programmation
Program Transformation Systems
ACM Computing Surveys (CSUR)
Automatic synthesis—programs and plans
ACM '76 Proceedings of the 1976 annual conference
SPADOR: A scheduler, planner, and administrator of operations and resources
ACM '76 Proceedings of the 1976 annual conference
The automatic synthesis of recursive programs
Proceedings of the 1977 symposium on Artificial intelligence and programming languages
The selection of efficient implementations for a high-level language
Proceedings of the 1977 symposium on Artificial intelligence and programming languages
A knowledge base organization for rules about programming
ACM SIGART Bulletin
A knowledge-based system for automatic program construction
IJCAI'77 Proceedings of the 5th international joint conference on Artificial intelligence - Volume 1
Exactly how good are heuristics?: toward a realistic predictive theory of best-first search
IJCAI'77 Proceedings of the 5th international joint conference on Artificial intelligence - Volume 1
On program synthesis knowledge
Artificial Intelligence
Hi-index | 0.00 |
This paper discusses how the synthesis phase of the PSI system constructs programs from high level program models by using coding knowledge and efficiency knowledge. In our preliminary implementation, these knowledge bases are separated into distinct modules, the coding expert and the efficiency expert. We describe how the coding expert uses rule-based programming knowledge to produce alternative algorithm and data structure choices, and how the efficiency expert selects the best choice by estimating the costs of the alternatives using analysis of algorithm techniques. Communication between the modules centers around descriptions of partially developed programs which are produced by the coding expert and analyzed by the efficiency expert. Our system has implemented several small programs. From our experience with these modules, we conclude that there is a strong interaction between coding and efficiency knowledge which necessitates a corresponding complexity in the communication mechanism.