1 research outputs found

    Abstract Iterative Planning in the Context of Automated Code Synthesis

    No full text
    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
    corecore