{"title":"Application of AI planning techniques to automated code synthesis and testing","authors":"I. Yen, F. Bastani, F. Mohamed, Hui Ma, J. Linn","doi":"10.1109/TAI.2002.1180797","DOIUrl":null,"url":null,"abstract":"Rapid growth in the demand for embedded systems and the increased complexity of embedded software pose an urgent need for advanced embedded software development techniques. One attractive approach is to enable semi-automated code generation and integration of systems from components. However, the implementation and validation of these systems requires a steep learning curve due to the large number, variety, and complexity of software components. In this paper, we discuss the potential application of AI planning techniques in assisting with the synthesis of glue code for assembling a system from existing components as well as automated testing of the system. The approach works by transforming component specifications into rules that operate on a domain-specific state space. Each rule captures the semantics of a method in a class. The code assembly and testing requirements are described by identifying conditions (goals) that should be achieved. An automated planning system computes a sequence of rules and their instantiations that will achieve the goal state. This sequence is then used to synthesize the code or to generate test cases. The approach is illustrated using an example.","PeriodicalId":197064,"journal":{"name":"14th IEEE International Conference on Tools with Artificial Intelligence, 2002. (ICTAI 2002). Proceedings.","volume":null,"pages":null},"PeriodicalIF":0.0000,"publicationDate":"2002-11-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"5","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"14th IEEE International Conference on Tools with Artificial Intelligence, 2002. (ICTAI 2002). Proceedings.","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/TAI.2002.1180797","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 5
Abstract
Rapid growth in the demand for embedded systems and the increased complexity of embedded software pose an urgent need for advanced embedded software development techniques. One attractive approach is to enable semi-automated code generation and integration of systems from components. However, the implementation and validation of these systems requires a steep learning curve due to the large number, variety, and complexity of software components. In this paper, we discuss the potential application of AI planning techniques in assisting with the synthesis of glue code for assembling a system from existing components as well as automated testing of the system. The approach works by transforming component specifications into rules that operate on a domain-specific state space. Each rule captures the semantics of a method in a class. The code assembly and testing requirements are described by identifying conditions (goals) that should be achieved. An automated planning system computes a sequence of rules and their instantiations that will achieve the goal state. This sequence is then used to synthesize the code or to generate test cases. The approach is illustrated using an example.