Improving Program Comprehension and Recommendation Systems Using Developers' Context

Zéphyrin Soh

Thèse de doctorat (2015)

Accéder à ce document
Disponible
Libre accès au texte intégral dans PolyPublie
Texte Texte • 2MB •

Résumé

Avec les besoins croissants des utilisateurs ainsi que l'évolution de la technologie, les programmes informatiques deviennent de plus en plus complexes. Ces programmes doivent évolués et être maintenus afin de corriger les bogues et–ou s'adapter aux nouveaux besoins. Lors de la maintenance des programmes, la compréhension des programmes est une activité indispensable et préliminaire à tout changement sur le programme. Environ 50% du temps de maintenance d'un programme est consacré à leur compréhension. Plusieurs facteurs affectent cette compréhension. L'étude de ces facteurs permet non seulement de les comprendre et d'identifier les problèmes que peuvent rencontrer les développeurs mais aussi et surtout de concevoir des outils permettant de faciliter leur travail et d'améliorer ainsi leur productivité. Pour comprendre le programme et effectuer des tâches de maintenance, les développeurs doivent naviguer entre les éléments du programme (par exemple les fichiers) dans l'objectif de trouver le(s) élément(s) à modifier pour réaliser leurs tâches. L'exploration du programme est donc essentielle. Notre thèse est que l'effort de maintenance n'est pas seulement lié à la complexité de la tâche, mais aussi à la façon dont les développeurs explorent un programme. Pour soutenir cette thèse, nous utilisons les données d'interaction qui contiennent les activités effectuées par les développeurs durant la maintenance. D'abord, nous étudions les bruits dans les données d'interaction et montrons qu'environ 6% du temps de réalisation d'une tâche ne sont pas contenus dans ces données et qu'elles contiennent environ 28% d'activités faussement considérées comme modifications effectuées sur le programme. Nous proposons une approche de nettoyage de ces bruits qui atteind une précision et un rappel jusqu'à 93% et 81%, respectivement. Ensuite, nous montrons que ces bruits impactent les résultats de certains travaux précédents et que le nettoyage des bruits améliore la précision et le rappel des systèmes de récommendation jusqu'à environ 51% et 57%, respectivement. Nous montrons également utilisant les données d'interaction que l'effort de maintenance n'est pas seulement lié à la complexité de la tâche de maintenance mais aussi à la façon dont les développeurs explorent les programmes. Ainsi, nous validons notre thèse et concluons que nous pouvons nettoyer des données d'interaction, les utiliser pour calculer l'effort de maintenance et comprendre l'impact de l'exploration du programme sur l'effort. Nous recommendons aux chercheurs de nettoyer les traces d'interaction et de les utiliser lorsqu'elles sont disponibles pour calculer l'effort de maintenance. Nous mettons à la disposition des fournisseurs d'outils de monitoring et de recommendation des résultats leur permettant d'améliorer leurs outils en vue d'aider les développeurs à plus de productivité.

Programme:
Génie informatique
Directeurs ou directrices:
Adresse URL de PolyPublie:
Université/École:
École Polytechnique de Montréal
OAI:
oai:publications.polymtl.ca:2034
ORCID
Date du dépôt:
01 avr. 2016 15:28
Dernière modification:
14 oct. 2026 10:38
Citer en APA 7:
Soh, Z. (2015). Improving Program Comprehension and Recommendation Systems Using Developers' Context [Thèse de doctorat, École Polytechnique de Montréal]. PolyPublie. https://publications.polymtl.ca/2034/

Statistiques

Total des téléchargements à partir de PolyPublie

Téléchargements par année

Provenance des téléchargements

Actions réservées au personnel

Afficher document
Afficher document