Software engineering for artificial intelligence and machine learning software: A systematic literature review

by   Elizamary Nascimento, et al.

Artificial Intelligence (AI) or Machine Learning (ML) systems have been widely adopted as value propositions by companies in all industries in order to create or extend the services and products they offer. However, developing AI/ML systems has presented several engineering problems that are different from those that arise in, non-AI/ML software development. This study aims to investigate how software engineering (SE) has been applied in the development of AI/ML systems and identify challenges and practices that are applicable and determine whether they meet the needs of professionals. Also, we assessed whether these SE practices apply to different contexts, and in which areas they may be applicable. We conducted a systematic review of literature from 1990 to 2019 to (i) understand and summarize the current state of the art in this field and (ii) analyze its limitations and open challenges that will drive future research. Our results show these systems are developed on a lab context or a large company and followed a research-driven development process. The main challenges faced by professionals are in areas of testing, AI software quality, and data management. The contribution types of most of the proposed SE practices are guidelines, lessons learned, and tools.


page 16

page 17

page 18

page 19

page 25

page 26

page 27

page 36


Analysis of Software Engineering Practices in General Software and Machine Learning Startups

Context: On top of the inherent challenges startup software companies fa...

The application of artificial intelligence in software engineering: a review challenging conventional wisdom

The field of artificial intelligence (AI) is witnessing a recent upsurge...

The entrepreneurial logic of startup software development: A study of 40 software startups

Context: Software startups are an essential source of innovation and sof...

A Case Study on AI Engineering Practices: Developing an Autonomous Stock Trading System

Today, many systems use artificial intelligence (AI) to solve complex pr...

Model-Driven Engineering for Artificial Intelligence – A Systematic Literature Review

Objective: This study aims to investigate the existing body of knowledge...

Software Engineering Approaches for TinyML based IoT Embedded Vision: A Systematic Literature Review

Internet of Things (IoT) has catapulted human ability to control our env...

Assessing the Use of AutoML for Data-Driven Software Engineering

Background. Due to the widespread adoption of Artificial Intelligence (A...

Please sign up or login with your details

Forgot password? Click here to reset