To Share, or Not to Share: Exploring Test-Case Reusability in Fork Ecosystems
Mukelabai Mukelabai, Christoph Derks, Jacob Krüger, Thorsten Berger
摘要
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.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
它引用的顶会 Paper4
- An empirical analysis of the costs of clone- and platform-oriented software reuseJacob Krüger, Thorsten BergerFSE 2020 · 被引用 81 次
- FrUITeR: a framework for evaluating UI test reuseYixue Zhao, Justin Chen, Adriana Sejfia, Marcelo Schmitt Laser 等FSE 2020 · 被引用 33 次
- How has forking changed in the last 20 years?: a study of hard forks on GitHubShurui Zhou, Bogdan Vasilescu, Christian KästnerICSE 2020 · 被引用 33 次
- Seamless Variability Management With the Virtual PlatformWardah Mahmood, Daniel Strüber, Thorsten Berger, Ralf Lämmel 等ICSE 2021 · 被引用 23 次
相关 Paper
- Same File, Different Changes: The Potential of Meta-Maintenance on GitHubHideaki Hata, Raula Gaikovina Kula, Takashi Ishio, Christoph TreudeICSE 2021 · 被引用 12 次
- Measuring the Effects of Stack Overflow Code Snippet Evolution on Open-Source Software SecurityAlfusainey Jallow, Michael Schilling, Michael Backes, Sven BugielS&P 2024 · 被引用 6 次
- PaReco: patched clones and missed patches among the divergent variants of a software familyPoedjadevie Kadjel Ramkisoen, John Businge, Brent van Bladel, Alexandre Decan 等FSE 2022 · 被引用 8 次
- MUT: Human-in-the-Loop Unit Test MigrationYi Gao, Xing Hu, Tongtong Xu, Xin Xia 等ICSE 2024 · 被引用 3 次
- Fork Entropy: Assessing the Diversity of Open Source Software Projects' ForksLiang Wang, Zhiwen Zheng, Xiangchen Wu, Baihui Sang 等ASE 2023 · 被引用 8 次
