DocumentCode
1298317
Title
Knowledge-based programming: A survey of program design and construction techniques
Author
Goldberg, Allen T.
Author_Institution
Kestrel Inst., Palo Alto, CA, USA
Issue
7
fYear
1986
fDate
7/1/1986 12:00:00 AM
Firstpage
752
Lastpage
768
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;
fLanguage
English
Journal_Title
Software Engineering, IEEE Transactions on
Publisher
ieee
ISSN
0098-5589
Type
jour
DOI
10.1109/TSE.1986.6312977
Filename
6312977
Link To Document