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


A Software Engineering Perspective on Engineering Machine Learning Systems: State of the Art and Challenges

Context: Advancements in machine learning (ML) lead to a shift from the ...

Machine Learning Application Development: Practitioners' Insights

Nowadays, intelligent systems and services are getting increasingly popu...

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

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

Explainable AI for Software Engineering

Artificial Intelligence/Machine Learning techniques have been widely use...

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

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

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...

Towards a Common Testing Terminology for Software Engineering and Data Science Experts

Analytical quality assurance, especially testing, is an integral part of...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.