Software engineering for AI-based systems: A survey

AI-based systems are software systems with functionalities enabled by at least one AI component (e.g., for image-, speech-recognition, and autonomous driving). AI-based systems are becoming pervasive in society due to advances in AI. However, there is limited synthesized knowledge on Software Engine...

Descripción completa

Detalles Bibliográficos
Autores: Martínez Fernández, Silverio Juan|||0000-0001-9928-133X, Bogner, Justus, Franch Gutiérrez, Javier|||0000-0001-9733-8830, Oriol Hilari, Marc|||0000-0003-1928-7024, Siebert, Julien, Trendowicz, Adam, Vollmer, Anna Maria, Wagner, Stefan
Tipo de recurso: artículo
Fecha de publicación:2022
País:España
Institución:Universitat Politècnica de Catalunya (UPC)
Repositorio:UPCommons. Portal del coneixement obert de la UPC
Idioma:inglés
OAI Identifier:oai:upcommons.upc.edu:2117/367300
Acceso en línea:https://hdl.handle.net/2117/367300
https://dx.doi.org/10.1145/3487043
Access Level:acceso abierto
Palabra clave:Software engineering
Artificial intelligence
AI-based systems
Systematic mapping study
Enginyeria del programari
Intel·ligència artificial
Àrees temàtiques de la UPC::Informàtica::Enginyeria del software
Àrees temàtiques de la UPC::Informàtica::Intel·ligència artificial
Descripción
Sumario:AI-based systems are software systems with functionalities enabled by at least one AI component (e.g., for image-, speech-recognition, and autonomous driving). AI-based systems are becoming pervasive in society due to advances in AI. However, there is limited synthesized knowledge on Software Engineering (SE) approaches for building, operating, and maintaining AI-based systems. To collect and analyze state-of-the-art knowledge about SE for AI-based systems, we conducted a systematic mapping study. We considered 248 studies published between January 2010 and March 2020. SE for AI-based systems is an emerging research area, where more than 2/3 of the studies have been published since 2018. The most studied properties of AI-based systems are dependability and safety. We identified multiple SE approaches for AI-based systems, which we classified according to the SWEBOK areas. Studies related to software testing and software quality are very prevalent, while areas like software maintenance seem neglected. Data-related issues are the most recurrent challenges. Our results are valuable for: researchers, to quickly understand the state-of-the-art and learn which topics need more research; practitioners, to learn about the approaches and challenges that SE entails for AI-based systems; and, educators, to bridge the gap among SE and AI in their curricula.