Untangling Spaghetti of Evolutions in Software Histories to Identify Code and Test Co-evolutions - Archive ouverte HAL
Communication Dans Un Congrès Année : 2021

Untangling Spaghetti of Evolutions in Software Histories to Identify Code and Test Co-evolutions

Résumé

Version Control Systems are key elements of modern software development. They provide the history of software systems, serialized as lists of commits. Practitioners may rely on this history to understand and study the evolutions of software systems, including the co-evolution amongst strongly coupled development artifacts such as production code and their tests. However, a precise identification of code and test co-evolutions requires practitioners to manually untangle spaghetti of evolutions. In this paper, we propose an automated approach for detecting co-evolutions between code and test, independently of the commit history. The approach creates a sound knowledge base of code and test co-evolutions that practitioners can use for various purposes in their projects. We conducted an empirical study on a curated set of 45 open-source systems having Git histories. Our approach exhibits a precision of 100 % and an underestimated recall of 37.5 % in detecting the code and test co-evolutions. Our approach also spotted different kinds of code and test co-evolutions, including some of those researchers manually identified in previous work.
Fichier principal
Vignette du fichier
main.pdf (414.48 Ko) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-03340174 , version 1 (10-09-2021)
hal-03340174 , version 2 (29-09-2021)

Identifiants

  • HAL Id : hal-03340174 , version 2

Citer

Quentin Le Dilavrec, Djamel Eddine Khelladi, Arnaud Blouin, Jean-Marc Jézéquel. Untangling Spaghetti of Evolutions in Software Histories to Identify Code and Test Co-evolutions. ICMSE'21 - 37th International Conference on Software Maintenance and Evolution, Sep 2021, Virtual Event, Luxembourg. pp.1-11. ⟨hal-03340174v2⟩
257 Consultations
384 Téléchargements

Partager

More