To Share, or Not to Share: Exploring Test-Case Reusability in Fork Ecosystems

Mukelabai Mukelabai, Christoph Derks, Jacob Krüger, Thorsten Berger

Onderzoeksoutput: Hoofdstuk in Boek/Rapport/CongresprocedureConferentiebijdrageAcademicpeer review

5 Citaten (Scopus)
68 Downloads (Pure)

Samenvatting

Code is often reused to facilitate collaborative development, to create software variants, to experiment with new ideas, or to develop new features in isolation. Social-coding platforms, such as GitHub, enable enhanced code reuse with forking, pull requests, and cross-project traceability. With these concepts, forking has become a common strategy to reuse code by creating clones (i.e., forks) of projects. Thereby, forking establishes fork ecosystems of co-existing projects that are similar, but developed in parallel, often with rather sporadic code propagation and synchronization. Consequently, forked projects vary in quality and often involve redundant development efforts. Unfortunately, as we will show, many projects do not benefit from test cases created in other forks, even though those test cases could actually be reused to enhance the quality of other projects. We believe that reusing test cases—in addition to the implementation code—can improve software quality, software maintainability, and coding efficiency in fork ecosystems. While researchers have worked on test-case-reuse techniques, their potential to improve the quality of real fork ecosystems is unknown. To shed light on test-case reusability, we study to what extent test cases can be reused across forked projects. We mined a dataset of test cases from 305 fork ecosystems on GitHub—totaling 1,089 projects—and assessed the potential for reusing these test cases among the forked projects. By performing a manual inspection of the test cases’ applicability, by transplanting the test cases, and by analyzing the causes of non-applicability, we contribute an understanding of the benefits (e.g., uncovering bugs) and of the challenges (e.g., automated code transplantation, deciding about applicability) of reusing test cases in fork ecosystems.
Originele taal-2Engels
TitelProceedings - 2023 38th IEEE/ACM International Conference on Automated Software Engineering, ASE 2023
UitgeverijIEEE Press
Pagina's837-849
Aantal pagina's13
ISBN van elektronische versie9798350329964
DOI's
StatusGepubliceerd - 8 nov. 2023

Financiering

Supported by a fellowship of the Royal Swedish Academy of Sciences and of the Wallenberg Foundation, and by Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) under Germany’s Excellence Strategy - EXC 2092 CASA - 390781972.

FinanciersFinanciernummer
Deutsche ForschungsgemeinschaftEXC 2092 CASA - 390781972

    Vingerafdruk

    Duik in de onderzoeksthema's van 'To Share, or Not to Share: Exploring Test-Case Reusability in Fork Ecosystems'. Samen vormen ze een unieke vingerafdruk.

    Citeer dit