Software assistants in software engineering: A systematic mapping study

Autor: Maxime Savary‐Leblanc, Lola Burgueño, Jordi Cabot, Xavier Le Pallec, Sébastien Gérard
Přispěvatelé: Centre de Recherche en Informatique, Signal et Automatique de Lille - UMR 9189 (CRIStAL), Centrale Lille-Université de Lille-Centre National de la Recherche Scientifique (CNRS), Université de Lille, Open University of Catalonia [Barcelona], Universidad de Málaga [Málaga] = University of Málaga [Málaga], Laboratoire d'Intégration des Systèmes et des Technologies (LIST (CEA)), Direction de Recherche Technologique (CEA) (DRT (CEA)), Commissariat à l'énergie atomique et aux énergies alternatives (CEA)-Commissariat à l'énergie atomique et aux énergies alternatives (CEA), Spanish Government, Grant/Award Numbers: PID2020-114615RB-I00,PID2021-125527NB-I00, ECSEL Joint Undertaking (JU), Grant/AwardNumbers: 101007260, 101007350, European Project: 101007350,AIDOaRt
Rok vydání: 2022
Předmět:
Zdroj: Software: Practice and Experience
Software: Practice and Experience, 2022, 53, pp.856-892. ⟨10.1002/spe.3170⟩
ISSN: 1097-024X
0038-0644
Popis: International audience; The increasing essential complexity of software systems makes current software engineering methods and practices fall short in many occasions. Software assistants have the ability to help humans achieve a variety of tasks, including the development of software. Such assistants, which show human-like competences such as autonomy and intelligence, help software engineers do their job by empowering them with new knowledge. This article investigates the research efforts that have been conducted on the creation of assistants for software design, construction and maintenance paying special attention to the user-assistant interactions. To this end, we followed the standard systematic mapping study method to identify and classify relevant works in the state of the art. Out of the 7580 articles resulting from the automatic search, we identified 112 primary studies that present works which qualify as software assistants. We provide all the resources needed to reproduce our study. We report on the trends and goals of the assistants, the tasks they perform, how they interact with users, the technologies and mechanisms they exploit to embed intelligence and provide knowledge, and their level of automation. We propose a classification of software assistants based on interactions and present an analysis of the different automation patterns. As outcomes of our study, we provide a classification of software assistants dealing with the design, construction and maintenance phases of software development, we discuss the results, identify open lines of work and challenges and call for new innovative and rigorous research efforts in this field.
Databáze: OpenAIRE