Université Lille1 - Sciences et Technologies
Supporting Software Evolution in the Organizations
Aide à l'Évolution Logicielle dans les Organisations
005.16
Logiciels -- Maintenance
Code source (informatique)
Qualité -- Contrôle
Architecture logicielle
Systèmes hérités (informatique)
Exploration de données
Interaction homme-ordinateur
Société numérique
Les systèmes logiciels font maintenant partie intrinsèque de nos vies à tel point que nous ne les voyons plus. Ils pilotent nos téléphones, nos voitures, nos loisirs, nos banques, nos magasins, nos villes, … Cela apporte de lourdes contraintes à l'industrie du logiciel car tous ces systèmes doivent être continuellement mis à jour, corrigés, étendus quand les utilisateurs et consommateurs expriment de nouveaux besoins. Le résultat en est que la plus grande part de l'activité de génie logiciel peut être classifié comme de la Maintenance Logicielle, « La totalité des activités requises pour fournir un support efficient d'un système logiciel ».
Dans un écosystème où la puissance de calcul des ordinateurs, ou beaucoup d'autres métriques reliées comme la capacité des disques, ou le débit des réseaux, double tous les 18 mois (« loi de Moore »), les technologies évoluent rapidement. Dans cet écosystème la maintenance logiciel souffre de l'inconvénient de devoir traiter le passé (langages du passé, systèmes existants, vielles technologies). Elle est souvent mal perçue et traitée comme une punition. À cause de cela, les solutions et les outils pour la maintenance logicielle sont depuis toujours très en retard sur ceux pour le développement. Par exemple, l'antique méthode de correction de problème consistant à insérer des instructions pour retracer et comprendre le flot d'exécution d'un programme est toujours complètement actuelle.
Toute mon activité de recherche s'est concentrée à aider les gens à faire de la maintenance logicielle dans de meilleures conditions ou plus efficacement. Une approche holistique du problème doit considérer le logiciel qui doit être maintenu, les gens qui le font et les organisations dans lesquelles et pour lesquelles cela est fait. Pour cela, j'ai étudié différents aspects du problème qui seront présentés en trois parties dans ce document : Le Logiciel : Le code source est la pièce centrale de l'activité de maintenance logicielle. Quelque soit la tâche (ex : amélioration ou correction d'erreur), elle revient typiquement à comprendre le code source actuel pour trouver quoi changer et/ou ajouter pour obtenir le comportement souhaité. J'ai étudié comment contrôler l'évolution du code source, comment prévenir son délitement et comment remédier à des mauvaises situations ; les Gens : L'un des principaux avantages des personnes qui traitent de maintenance logicielle est les connaissances qu'elles ont de l'informatique (techniques de programmation), du domaine d'application, du logiciel lui-même. Il est très significatif que de 40 % à 60 % du temps de maintenance logicielle soit passé à lire le code pour comprendre ce qu'il fait, comment il le fait et comment il peut-être changé ; les Organisations : Elles peuvent avoir un profond impact sur la façon dont des activités comme la maintenance logicielle sont exécutées par les individus. [...]
Electronic Thesis or Dissertation
Text
en
2 : 1402 Ko, 16 Ko
https://pepite-depot.univ-lille.fr/LIBRE/HDR/2014/HDR2014LIL101.pdf
https://pepite-depot.univ-lille.fr/LIBRE/HDR/2014/Anquetil_Nicolas.pdf
Anquetil
Nicolas
1965-07-23
FR
15665959X
2014-05-09
Informatique
Université Lille1 - Sciences et Technologies
thesis.degree.grantor_1
026404184
HDR
non
oui
Ducasse
Stéphane
intervenant_1
034814884
ecoleDoctorale_1
Laboratoire d'informatique fondamentale de Lille (LIFL)
partenaireRecherche_1
077703553
ddc:004
Ducasse
Stéphane
Université Lille1 - Sciences et Technologies
Université Lille1 - Sciences et Technologies
Laboratoire d'informatique fondamentale de Lille (LIFL)
ASCII
PDF
1435347
ASCII
PDF
16660