Les clones au-delà du code source : étude des pratiques de documentation d'API et d'infrastructure as code
Langue
en
Thèses de doctorat
Date de soutenance
2020-01-27Spécialité
Informatique
École doctorale
École doctorale de mathématiques et informatique (Talence, Gironde ; 1991-....)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 ...Lire la suite >
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éduire
Résumé en anglais
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 ...Lire la suite >
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.< Réduire
Mots clés
Documentation
Dockerfile
Duplication
Docker
Réutilisation
Mots clés en anglais
Documentation
Dockerfile
Duplicates
Docker
Reuse
Origine
Importé de STAR