• 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