• DocumentCode
    348005
  • Title

    Learning how to program

  • Author

    Upal, Muhammad Afzal ; Padmanabhuni, Srinivas

  • Author_Institution
    Dept. of Comput. Sci., Alberta Univ., Edmonton, Alta., Canada
  • Volume
    2
  • fYear
    1999
  • fDate
    9-12 May 1999
  • Firstpage
    1052
  • Abstract
    Automated software engineering has long been a goal of artificial intelligence. There has been slow but steady progress towards understanding the processes underlying program synthesis and modification. One significant observation that came out of Richards and Waters (1986) Software Apprentice Project was that programmers repeatedly use certain program constructs or cliches to solve a variety of programming tasks. Richards developed Plan Description Language (PDL) to capture the association between various code fragments and the functional goals that they serve. Another development has been the understanding of the relationship between physical devices and programs. This understanding asserts that causal theories developed for reasoning with physical systems can be applied to reason with programs. This observation led to the development of debugging and program understanding tools. Here, we outline a framework for functional representation of programs which also allows us to automatically learn new programming constructs and to refine existing programs so as to achieve a more functionally complete program.
  • Keywords
    artificial intelligence; automatic programming; computer aided software engineering; learning (artificial intelligence); reverse engineering; Plan Description Language; artificial intelligence; automated software engineering; debugging; functional representation; program synthesis; program understanding; programming constructs; Artificial intelligence; Computer languages; Debugging; Encoding; Functional programming; Humans; Learning; Page description languages; Problem-solving; Software engineering;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Electrical and Computer Engineering, 1999 IEEE Canadian Conference on
  • Conference_Location
    Edmonton, Alberta, Canada
  • ISSN
    0840-7789
  • Print_ISBN
    0-7803-5579-2
  • Type

    conf

  • DOI
    10.1109/CCECE.1999.808192
  • Filename
    808192