Collaborating Authors

A global view of automatic programming


This paper presents a framework for characterizing automatic programming systems in terms of how a task is communicated to the system, the method and time at which the system acquires the knowledge to perform the task, and the characteristics of the resulting program to perform that task. It describes one approach In which both tasks and knowledge about the task domain are stated in natural language In the terms of that domain. All knowledge of computer science necessary to implement the task is internalized inside the system.In IJCAI-73: THIRD INTERNATIONAL JOINT CONFERENCE ON ARTIFICIAL INTELLIGENCE, 20-23 August 1973, Stanford University Stanford, California, pp.494-499

Domain-specific automatic programming


A not-for-profit organization, IEEE is the world's largest technical professional organization dedicated to advancing technology for the benefit of humanity.

Domain-Based Program Synthesis Using Planning and Derivational Analogy

AI Magazine

In my Ph.D. dissertation (Bhansali 1991), I develop an integrated knowledge-based framework for efficiently synthesizing programs by bringing together ideas from the fields of software engineering (software reuse, domain modeling) and AI (hierarchical planning, analogical reasoning). Based on this framework, I constructed a prototype system, APU, that can synthesize UNIX shell scripts from a high-level specification of problems typically encountered by novice shell programmers. An empirical evaluation of the system's performance points to certain criteria that determine the feasibility of the derivational analogy approach in the automatic programming domain when the cost of detecting analogies and recovering from wrong analogs is considered.

Applications Development Using a Hybrid AI Development System

AI Magazine

As a result of our applications development experiences, we are beginning to use a development methodology that emphasizes early prototype development, incremental refinement of the problem description, use of multiple integrated solution methods, and emphasis on visibility of both the problem-solution process and the explicit description of the problem domain. The benefits of using this hybrid development methodology include natural and explicit knowledge representations, flexible user-system interaction, and powerful explanation facilities through use of interactive graphics. We present an example to motivate our discussion. Workers in AI often express a strong preference for one programming methodology over all others, such as rules (e.g., within an Efficiency seems to depend upon the class of problem chosen. Figure 2. expert need not create a development environment before implementing an AI application system.

Automatic programming-properties and performance of FORTRAN systems I and II


Proceedings of the Symposium on the Mechanisation of Thought Processes.Teddington, Middlesex, England: National Physical Laboratory.