• DocumentCode
    467075
  • Title

    Iterative Planning in the Context of Automated Code Synthesis

  • Author

    Fu, Jicheng ; Bastani, Farokh B. ; Yen, I-Ling

  • Author_Institution
    Univ. of Texas, Dallas
  • Volume
    1
  • fYear
    2007
  • fDate
    24-27 July 2007
  • Firstpage
    251
  • Lastpage
    259
  • Abstract
    Software development process has become increasingly complex and expensive due to the growing size and criticality of modern software systems. Deficiencies during the development process lead to significant quality problems that can hamper both the initial development as well as subsequent maintenance activities. Hence, it is imperative to develop advanced techniques to increase the overall software dependability and reduce its development cost and time. Automated code synthesis is a promising method of achieving the above goals. It is a constructive process that can be used to generate programs from specifications. It can accelerate the development process and simplify verification tasks. However, current automated code synthesis techniques have only limited abilities and are mostly able to generate sequential codes. Automated AI planning is attractive for software engineering automation because of its emphasis on goals and the similarity of plans to programs. In this paper, we present a novel iterative planning approach to generate parameterized procedure-like generic reusable plans, i.e., procedural plans. Specifically, we enhance the Graphplan algorithm to a two-phased algorithm that is able to generate loop and conditional constructs. The proposed iterative planning approach is targeted for automated code synthesis and leads to sophisticated code synthesis in combination with component-based software development (CBSD). We have implemented a prototype for our iterative planning approach and used it to solve several well-known planning problems. The results show that the implemented planner is able to reason about complex relationships among planning operators and automatically generate procedural plans. It preserves the good performance of Graphplan and can scale well when the search space grows larger.
  • Keywords
    automatic programming; data flow graphs; object-oriented programming; planning (artificial intelligence); program compilers; program control structures; program verification; software maintenance; software quality; software reusability; Graphplan algorithm; automated AI planning; automated code synthesis techniques; component-based software development; conditional constructs; iterative planning approach; loop constructs; maintenance activities; parameterized procedure-like generic reusable plans; quality problems; software dependability; software development process; software engineering automation; two-phased algorithm; verification tasks; Acceleration; Artificial intelligence; Automation; Costs; Iterative algorithms; Iterative methods; Programming; Software engineering; Software prototyping; Software systems;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Computer Software and Applications Conference, 2007. COMPSAC 2007. 31st Annual International
  • Conference_Location
    Beijing
  • ISSN
    0730-3157
  • Print_ISBN
    0-7695-2870-8
  • Type

    conf

  • DOI
    10.1109/COMPSAC.2007.132
  • Filename
    4291012