Cloning beyond source code : a study of the practices in API documentation and infrastructure as code. - TEL - Thèses en ligne Accéder directement au contenu
Thèse Année : 2020

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

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

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.
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.
Fichier principal
Vignette du fichier
OUMAZIZ_MOHAMED_2020.pdf (1.48 Mo) Télécharger le fichier
Origine : Version validée par le jury (STAR)
Loading...

Dates et versions

tel-02879899 , version 1 (24-06-2020)

Identifiants

  • HAL Id : tel-02879899 , version 1

Citer

Mohamed Ameziane Oumaziz. Cloning beyond source code : a study of the practices in API documentation and infrastructure as code.. Software Engineering [cs.SE]. Université de Bordeaux, 2020. English. ⟨NNT : 2020BORD0007⟩. ⟨tel-02879899⟩
173 Consultations
407 Téléchargements

Partager

Gmail Facebook X LinkedIn More