Learning-Based Automated Software Creation
Abstract
Increasing demands in software industry and scarcity of software engineers motivates researchers and practitioners to explore avenues for automating various aspects of software engineering. Automated software generation and the development of tools to streamline the software generation process are significant components among the various processes of software engineering. Therefore, we set out to investigate two major tasks of software engineering to make the process more easier and convenient for the software engineer. Our first task is automated software generation. Automated software generation, which is also known as program synthesis, is a complex and challenging task. We investigate two different sub-tasks for automatically synthesizing programs using provided specifications. In our research, we utilize input-output examples as the specification for both methods. The first sub-task involves the use of a genetic algorithm (GA) to synthesize programs. In this approach, we train a neural network-based fitness function with input-output specifications and program traces. For the second sub-task, we formulate the program synthesis process as a continuous optimization problem and leverage covariance matrix adaption evolutionary strategy (CMA-ES) to solve it. The second task of our study focuses on exploring the synthesis process of software configuration specifications from natural language text. Configurations for large software systems are typically configured by human, and due to the vast number of configurations involved, their specifications are often described in software manuals written in natural language specifically in English. Our research seeks to investigate the process of synthesizing specifications from natural language-based sources. To achieve this, we formulate the specification synthesis process as an end-to-end sequence-to-sequence learning process and integrate large language models to improve the understanding and extraction of specification from the text.
Citation
Mandal, Shantanu (2023). Learning-Based Automated Software Creation. Doctoral dissertation, Texas A&M University. Available electronically from https : / /hdl .handle .net /1969 .1 /199803.