Next-Gen Software Engineering: AI-Assisted Big Models

Ina K. Schieferdecker
2024-09-27
Abstract:The effectiveness of model-driven software engineering (MDSE) has been demonstrated in the context of complex software; however, it has not been widely adopted due to the requisite efforts associated with model development and maintenance, as well as the specific modelling competencies required for MDSE. Concurrently, artificial intelligence (AI) methods, particularly machine learning (ML) methods, have demonstrated considerable abilities when applied to the huge code bases accessible on open-source coding platforms. The so-called big code provides the basis for significant advances in empirical software engineering, as well as in the automation of coding processes and improvements in software quality with the use of AI. The objective of this paper is to facilitate a synthesis between these two significant domains of software engineering (SE), namely models and AI in SE. The paper provides an overview of the current status of AI-assisted software engineering. In light of the aforementioned considerations, a vision of AI-assisted Big Models in SE is put forth, with the aim of capitalising on the advantages inherent to both approaches in the context of software development. Finally, the new paradigm of pair modelling in MDSE is proposed.
Software Engineering,Emerging Technologies
What problem does this paper attempt to address?
The paper attempts to address the issue of how Model-Driven Software Engineering (MDSE) and Artificial Intelligence (AI) methods can be effectively combined in software engineering. Specifically, the paper focuses on the following points: 1. **Limitations of MDSE**: Although MDSE performs excellently in handling complex software, its application is limited by the significant effort required for model development and maintenance, as well as the specific modeling skills needed. 2. **Potential of AI in Software Engineering**: AI methods, particularly Machine Learning (ML) methods, demonstrate significant capabilities in handling large-scale codebases (i.e., "big code"). These capabilities can be used to improve software quality, automate the coding process, and advance empirical software engineering. 3. **Integration of MDSE and AI**: The paper aims to promote the integration of these two approaches by proposing a new paradigm—AI-assisted Big Models—to fully leverage the advantages of both MDSE and AI, thereby enhancing the efficiency and quality of software development. 4. **Generation and Utilization of Models**: The paper explores how to provide a large number of top-down models on coding platforms, generate bottom-up models from big code, and form big models as the foundation for more advanced empirical MDSE. 5. **New Modeling Paradigm**: The paper proposes a new paradigm called pair modeling, which is a method that combines MDSE with AI and is expected to be part of the next generation of software engineering. Through these discussions, the paper hopes to provide a new perspective and approach for the field of software engineering to address increasingly complex software systems and diverse requirements.