Assessing and Improving Rules to Support Software Evolution

André Cavalcante Hora 1
1 RMOD - Analyses and Languages Constructs for Object-Oriented Application Evolution
LIFL - Laboratoire d'Informatique Fondamentale de Lille, Inria Lille - Nord Europe
Résumé : Les systèmes logiciels evoluent continuellement pour ajouter de nouvelles fonctionnalités, corriger des bugs ou refactoriser du code source existant. Durant ce processus, certains problèmes peuvent survenir (par exemple, le manque de rétro-compatibilité, l’absence ou l’imprécision des deprecations explicites) provoquant l’inconsistance ou l’échec des systèmes en évolution et avec leurs clients, ce qui aboutit finalement à une baisse de la qualité du code. Comme de nos jours les systèmes logiciels font souvent partie de plus grands écosystèmes, ces problèmes sont encore plus difficiles à gérer car l’impact peut être grand et inconnu.Pour faire face à ces problèmes de maintenabilité et garantir la consistance du code source, il est possible d’utiliser des règles. Ces règles peuvent être créées par des experts ou extraites de précédentes versions du code source. Elles sont couramment évaluées dans des études de cas à petite échelle. Nous soutenons que les approches existantes : (i) n’analysent pas précisément les avantages des règles créées par des experts; (ii) gagneraient à mieux utiliser les dépôt de codes sources pour extraire des règles basées sur l’historique, et (iii) devraient analyser à grande échelle et sur des cas réels l’impact de l’évolution du code source sur les clients.Dans cette thèse, nous proposons d’analyser et d’améliorer les règles pour aider les développeurs à mieux suivre l’évolution du code source. Pour cela, nous étudions trois aspects différents. Les avantages prévus par les règles créées par des experts : nous analysons précisément ces règles pour comprendre si elles valent la peine d’être adoptées malgré le coût pour les produire. L’amélioration des règles basées sur l’historique : nous proposons deux solutions pour extraire de meilleures règles à partir du dépôt de codes sources. L’impact de l’évolution du code source sur un écosystème logiciel : nous étudions les conséquence de l’évolution de code source sur des systèmes clients dans le contexte d’un écosystème de grande échelle.Les approches proposées dans cette thèse ont été évaluées qualitativement et quantitativement avec des études de cas issues du monde réel. Pour plusieurs de ces études, nous avons pu bénéficier de l’aide d’experts sur les systèmes en cours d’analyse. Les résultats que nous avons obtenus démontrent l’utilité de nos approches.
Type de document :
Thèse
Software Engineering [cs.SE]. Université Lille 1 - Sciences et Technologies, 2014. English
Liste complète des métadonnées

Littérature citée [52 références]  Voir  Masquer  Télécharger

https://hal.inria.fr/tel-01087860
Contributeur : Lse Lse <>
Soumis le : mercredi 26 novembre 2014 - 22:28:38
Dernière modification le : jeudi 11 janvier 2018 - 06:22:25
Document(s) archivé(s) le : vendredi 14 avril 2017 - 22:00:56

Identifiants

  • HAL Id : tel-01087860, version 1

Citation

André Cavalcante Hora. Assessing and Improving Rules to Support Software Evolution. Software Engineering [cs.SE]. Université Lille 1 - Sciences et Technologies, 2014. English. 〈tel-01087860〉

Partager

Métriques

Consultations de la notice

319

Téléchargements de fichiers

581