Title :
Knowledge-based programming: A survey of program design and construction techniques
Author :
Goldberg, Allen T.
Author_Institution :
Kestrel Inst., Palo Alto, CA, USA
fDate :
7/1/1986 12:00:00 AM
Abstract :
An application of artificial intelligence (AI) to the development of software is presented for the construction of efficient implementations of programs from formal high-level specifications. Central to this discussion is the notion of program development by means of program transformation. Using this methodology, a formal specification is compiled (either manually or automatically) into an efficient implementation by the repeated application of correctness-preserving, source-to-source transformations. The author considers techniques for data structure selection, the procedural representation of logic assertions, store-versus-compute, finite differencing, loop fusion, and algorithm design methods presented from the point of view of algorithm design and high-level program optimization.
Keywords :
artificial intelligence; programming; programming theory; algorithm design; artificial intelligence; correctness-preserving; data structure selection; finite differencing; formal high-level specifications; logic assertions; loop fusion; procedural representation; program design; program development; program transformation; source-to-source transformations; Data structures; Knowledge based systems; Optimization; Programming; Semantics; Software; Knowledge-based software development; program optimization; program synthesis; program transformation; very-high-level languages;
Journal_Title :
Software Engineering, IEEE Transactions on
DOI :
10.1109/TSE.1986.6312977