Cloning beyond source code : a study of the practices in API documentation and infrastructure as code.

par Mohamed Ameziane Oumaziz

Thèse de doctorat en Informatique

Sous la direction de Jean-Rémy Falleri et de Xavier Blanc.

  • Titre traduit

    Les clones au-delà du code source : étude des pratiques de documentation d'API et d'infrastructure as code


  • Résumé

    Lors du développement de logiciels, la maintenance et l'évolution constituent une partie importante du cycle de vie du développement représentant 80% du coût et des efforts globaux.Au cours de la maintenance, il arrive que les développeurs aient copier-coller des fragments de code source afin de les réutiliser. Une telle pratique, apparemment inoffensive, est plus fréquente qu'on ne le pense.Communément appelés «clones» dans la littérature, ces doublons de code source sont un sujet bien connu et étudié en génie logiciel.Dans cette thèse, nous visons à mettre en lumière les pratiques du copier-coller sur les artefacts logiciels.En particulier, nous avons choisi de concentrer nos contributions sur deux types d'artefacts logiciels : Documentation d'API et fichiers de compilation (c.-à-d. Dockerfiles). Pour les deux contributions, nous suivons une méthodologie d'étude empirique commune.Tout d'abord, nous montrons que les documentations d'API et les fichiers de construction de logiciels (c.-à-d. Dockerfiles) sont confrontés à des problèmes de doublons et que de tels doublons sont fréquents.Deuxièmement, nous identifions les raisons derrière l'existence de ces doublons.Troisièmement, nous effectuons une enquête auprès de développeurs expérimentés et de constatons qu'ils sont conscients de ces doublons, et qu'ils les rencontrent souvent tout en ayant un avis mitigé sur eux.Enfin, nous montrons que les deux artefacts logiciels manquent de mécanismes de réutilisation pour faire face aux doublons, et que certains développeurs ont même recours à des outils ad-hoc pour les gérer.


  • Résumé

    When developing a software, maintenance and evolution represents an important part of the development's life-cycle, making up to 80% of the overall cost and effort.During the maintenance effort, it happens that developers have to resort to copying and pasting source code fragments in order to reuse them.Such practice, seemingly harmless is more frequent than we expect.Commonly referred to as ``clones'' in the literature, these source code duplicates are a well-known and studied topic in software engineering.In this thesis, we aim at shedding some light on copy-paste practices on software artifacts. In particular, we chose to focus our contributions on two specific types of software artifacts: API documentation and build files (i.e. Dockerfiles).For both contributions, we follow a common empirical study methodology. First, We show that API documentations and software build files (i.e. Dockerfiles) actually face duplicates issues and that such duplicates are frequent.Secondly, we identify the reasons behind the existence of such duplicates.Thirdly, We perform a survey on experimented developers and find that they're aware of such duplicates, frequently face them. But still have a mixed opinion regarding them.Finally, We show that both software artifacts lack reuse mechanisms to cope with duplicates, and that some developers even resort to ad-hoc tools to manage them.


Il est disponible au sein de la bibliothèque de l'établissement de soutenance.

Consulter en bibliothèque

La version de soutenance existe

Où se trouve cette thèse\u00a0?

  • Bibliothèque : Université de Bordeaux. Direction de la Documentation. Bibliothèque électronique.
Voir dans le Sudoc, catalogue collectif des bibliothèques de l'enseignement supérieur et de la recherche.