Title
|
|
|
|
Analyzing variant forks of software repositories from social coding platforms
| |
Author
|
|
|
|
| |
Abstract
|
|
|
|
With the rise of social coding platforms that rely on distributed version control systems, software reuse is also on the rise. Through the provision of explicit facilities to share code like pull requests, cherry-picking, and traceability links, social coding platforms have popularised forking (also referred to as ``clone-and-own''). Two types of forks exist: (i) social forks that are created for isolated development to fix a bug, feature, refactoring, and then merged back into the original project; and (ii) variant forks that are created by splitting off a new development branch to steer development into a new direction while leveraging the code of the mainline project. The literature has extensively investigated social forks on social coding platforms, but there are limited studies on variant forks. However, a few studies have revealed that variant forking is quite prevalent on social coding platforms. Furthermore, the studies have revealed that with an increasing number of variants of the original project, development becomes redundant, and maintenance efforts rapidly grow. For example, if a bug is discovered and fixed in one variant, it is often unclear which other variants in the same family are affected by the same bug and how they should be fixed in these variants. In this chapter, our focus is on variant forks in the social coding era. First, we discuss studies that have investigated variant forks both before and after the emergence of social coding platforms. Next, we identify challenges with the parallel maintenance of variant forks and research directions that can possibly provide support. |
| |
Language
|
|
|
|
English
| |
Source (book)
|
|
|
|
Software ecosystems : tooling and analytics
| |
Publication
|
|
|
|
Cham
:
Springer
,
2023
| |
ISBN
|
|
|
|
978-3-031-36060-2
978-3-031-36059-6
| |
DOI
|
|
|
|
10.1007/978-3-031-36060-2_6
| |
Volume/pages
|
|
|
|
p. 131-152
| |
Full text (Publisher's DOI)
|
|
|
|
| |
Full text (publisher's version - intranet only)
|
|
|
|
| |
|