Skip to Main content Skip to Navigation

Gestion des contributions architecturales dans les projets logiciels : Métriques, analyses empiriques et apprentissage machine

Abstract : In software engineering, tooling is nowadays mandatory for efficient project management and may relates to any project phase: design, coding or maintenance. These various tools consist of measures, called metrics, automated code generation systems and decision support systems, predictive or not. The applications of the latter are numerous: bad smell detection, ticket classification, etc. This thesis studies the proposal of metrics related to software project management based on contributions to its source code and more specifically to the runtime architecture of applications. Meta-information documenting the history of the project and its development are also used.The automated classification of bug tickets is the first studied question. A neural network is trained with a dataset used as a benchmark in the literature. Its hyper-parameters are then optimized thanks to a genetic algorithm. This way, better classification performances than the state of the art are reached. These performances allow for the integration of our classifier to project management tools or ticket writing assistants.The second addressed issue is the turn-over of the developers who take part to the development of software architectures. Detecting major and minor contributors among developers is an already studied topic and related metrics have been proposed. However, existing approaches do not apply more specifically to architecture development. We have thus designed a formal model and a metrics dedicated to contributions to runtime architecture code. Our metrics has been validated empirically on a real project and the extracted developer categories have been analyzed. Results highlight specific developer categories including a core of expert developers who produce major contributions to the architecture code throughout the history of the project.Detecting expert developers with potential architectural proficiencies is also studied. Unlike existing approaches, supervised machine learning is used to classify the profiles of expert developers. As no labelled dataset is available from the scientific community, we have created a dedicated dataset. For this purpose, hundreds of developer accounts have been extracted from 17 open-source projects. 23 metrics are then calculated for each developer participating to these projects. Finally, the dataset is manually labelled thanks to information from professional social networks and projects’ documentation. Good performance on detecting expert developer profiles is achieved, so that this kind of approach could be used to assist project management.Finally, a cross-over study is conducted, combining results from the runtime architecture contribution metrics and results from the expert developer detection. This study enables to analyze the profiles of the retrieved expert developers. We also analyze the evolution of the 23 metrics that compose the profiles when non-expert developers become experts. Results show that a large number of expert developers are also major contributors to the architecture and that developer profile evolution is multifactorial.We also provide an evaluation of reproducibility for our work based on methodological best practices proposed for studies in empirical software engineering and machine learning.
Document type :
Complete list of metadata
Contributor : Abes Star :  Contact
Submitted on : Friday, January 7, 2022 - 4:49:08 PM
Last modification on : Sunday, January 9, 2022 - 3:40:01 PM


Version validated by the jury (STAR)


  • HAL Id : tel-03517320, version 1


Quentin Perez. Gestion des contributions architecturales dans les projets logiciels : Métriques, analyses empiriques et apprentissage machine. Génie logiciel [cs.SE]. IMT - MINES ALES - IMT - Mines Alès Ecole Mines - Télécom, 2021. Français. ⟨NNT : 2021EMAL0011⟩. ⟨tel-03517320⟩



Les métriques sont temporairement indisponibles