Software Engineering für Machine Learning: Eine Systematic Mapping Study
|V. Teufl. Software Engineering für Machine Learning: Eine Systematic Mapping Study. 7, 2020.|
Software engineering has been around for more than 50 years. Over this period of time, process models as well as methods and techniques in the individual phases of the software development cycle have been established, which allow an efficient development of qualitative software systems. Most recently, more and more companies have been developing so-called intelligent software products that integrate machine learning capacities. Especially deep learning is frequently used due to its diverse and interesting fields of application, e.g. image or speech processing. However, the development of machine learning systems poses additional challenges compared to traditional software systems. These challenges often go hand in hand with the large amounts of data required for learning or non-deterministic behaviour. Using existing methods or techniques from the field of software engineering to design, develop, test or maintain machine learning systems, usually turns out to be insufficient. This issue is addressed by the recent research field of software engineering for machine learning which focuses on the development of new, innovative solutions that take into account the characteristics of machine learning systems. This master thesis presents the state of the art in this research area as a systematic mapping study. A total of 67 publications were analysed. The focus is not only on the analysis and classification of the literature but also on the identification of existing trends and research gaps. In this respect, clear shortcomings of previous research work were identified. For example, there is a lack of studies which sufficiently evaluate methods or techniques in practice or which address machine learning types that have received less attention so far, such as unsupervised learning or reinforcement learning. Moreover, further attention is needed in the areas of requirements analysis and maintenance of machine learning systems. Therefore, this master thesis is not only a point of reference for companies which want to dive into the topic of software engineering for machine learning, but also a guide for future research in this area.