SEFeb 12, 2021

Same File, Different Changes: The Potential of Meta-Maintenance on GitHub

arXiv:2102.06355v116 citations
AI Analysis

This addresses maintenance challenges for software developers reusing code on platforms like GitHub, but it is incremental as it builds on existing collaboration practices.

The study tackled the problem of maintaining shared code files across GitHub repositories by proposing meta-maintenance to track file evolution, finding that a majority of active repositories contain at least one shared file and a significant minority have differently maintained variants.

Online collaboration platforms such as GitHub have provided software developers with the ability to easily reuse and share code between repositories. With clone-and-own and forking becoming prevalent, maintaining these shared files is important, especially for keeping the most up-to-date version of reused code. Different to related work, we propose the concept of meta-maintenance -- i.e., tracking how the same files evolve in different repositories with the aim to provide useful maintenance opportunities to those files. We conduct an exploratory study by analyzing repositories from seven different programming languages to explore the potential of meta-maintenance. Our results indicate that a majority of active repositories on GitHub contains at least one file which is also present in another repository, and that a significant minority of these files are maintained differently in the different repositories which contain them. We manually analyzed a representative sample of shared files and their variants to understand which changes might be useful for meta-maintenance. Our findings support the potential of meta-maintenance and open up avenues for future work to capitalize on this potential.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes