Open-source developers organisation and software reliabiliy
Organisation des développeurs open-source et fiabilité logicielle
Résumé
Reliability of a software,i.e. its capacity to produce the expected behaviour, is essential to the success of software projects.
To ensure such reliability, developers need to reduce the amount of bugs in the source code of the software.
One of the techniques available to help developers in this task is the use of software metrics, and especially metrics related to the development process.
The general objective of this thesis is to contribute to the validation of process metrics, by studying their relationship with software reliability.
These metrics, once validated, can be used in bug prediction models with the goal to guide maintenance efforts or can be used to create development guidelines.
Given the extent of this domain, we chose to focus on one particular aspect of the development process, which is developers organisation, and we studied this organisation in open-source software projects.
In parallel to the validation of process metrics, we contributed to the improvement of the methodology used to extract and analyse metrics, thanks to information available in software repositories.
La fiabilité du logiciel, c'est-à-dire sa capacité à produire les fonctionnalités attendues, est essentielle au succès des projets de développement logiciel. Afin de garantir cette fiabilité, les développeurs ont pour objectif de réduire le nombre de bogues présents dans le code source du logiciel. Une des techniques ayant pour but d'aider les développeurs dans cette tâche est l'utilisation de métriques logicielles, et notamment de métriques liées au procédé de développement.
L’objectif général de cette thèse est de contribuer à la validation de métriques de procédé en étudiant leur relation avec la fiabilité. Ces métriques, une fois validées, pourront être utilisées dans des modèles de prédiction de bogues ayant pour but de mieux orienter les efforts de maintenance des développeurs ou pourront permettre de mettre en place des lignes de conduite relatives au procédé de développement.
Devant l’étendue de ce domaine, nous avons centré nos contributions sur un aspect du procédé de développement qui est l’organisation des développeurs et avons observé cette organisation dans des projets open-source.
En parallèle de la validation de ces métriques, nous avons contribué à l'amélioration de la méthodologie permettant l'extraction et l'analyse de métriques, grâce aux informations contenues dans les dépôts logiciels.