Software assistants in software engineering: A systematic mapping study

被引:7
作者
Savary-Leblanc, Maxime [1 ]
Burgueno, Lola [2 ,3 ]
Cabot, Jordi [2 ,4 ]
Le Pallec, Xavier [1 ]
Gerard, Sebastien [5 ]
机构
[1] Univ Lille, Cent Lille, INRIA, CNRS,UMR CRIStAL 9189, F-59000 Lille, France
[2] Open Univ Catalonia, SOM Res Lab, Barcelona, Spain
[3] Univ Malaga, Dept Comp Sci & Programming Languages, Malaga, Spain
[4] ICREA, Internet Interdisciplinary Inst, Barcelona, Spain
[5] Univ Paris Saclay, CEA List, Palaiseau, France
关键词
software assistants; software construction; software design; software maintenance; systematic mapping study; KNOWLEDGE; DEVELOPERS; WORK;
D O I
10.1002/spe.3170
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页码:856 / 892
页数:37
相关论文
共 72 条
[1]  
Ackerman P., 2005, Handbook of understanding and measuring intelligence pp, P125
[2]  
Ackoff R. L., 1989, Journal of Applied Systems Analysis, V16, P3
[3]   Recommender systems in model-driven engineering A systematic mapping review [J].
Almonte, Lissette ;
Guerra, Esther ;
Cantador, Ivan ;
de Lara, Juan .
SOFTWARE AND SYSTEMS MODELING, 2022, 21 (01) :249-280
[4]  
[Anonymous], SLR DATA TABLES RESO
[5]  
[Anonymous], 2014, SWEBOK: Guide to the Software Engineering Body of Knowledge
[6]  
Bahmanziari T, 2003, J COMPUT INFORM SYST, V43, P46
[7]  
Bailey BP, 2001, HUMAN-COMPUTER INTERACTION - INTERACT'01, P593
[8]   End-user development, end-user programming and end-user software engineering: A systematic mapping study [J].
Barricelli, Barbara Rita ;
Cassano, Fabio ;
Fogli, Daniela ;
Piccinno, Antonio .
JOURNAL OF SYSTEMS AND SOFTWARE, 2019, 149 :101-137
[9]  
Belisle C., 2006, LITERACY DIGITAL KNO, P51
[10]  
Bernard D, 2017, IEEE SYS MAN CYBERN, P210, DOI 10.1109/SMC.2017.8122604