论文标题

Backports:变更类型,挑战和策略

Backports: Change Types, Challenges and Strategies

论文作者

Chakroborti, Debasish, Schneider, Kevin A., Roy, Chanchal K.

论文摘要

源代码存储库使开发人员可以管理软件系统的多个版本(或分支)。拉值用于修改分支,返回运动是一种常规活动,用于将当前开发分支更改为其他版本。在开源软件中,Backports很常见,并且通常需要手工调整,这激发了我们探索Backports和Backportport挑战和策略。在我们从10个GitHub项目中探索68,424个Backports时,我们发现错误,测试,文档和功能更改通常是返回的。我们确定了许多备用挑战,包括与他们的原始拉力要求(49%)不一致的竞争不一致的挑战,返回竞技场的代码不兼容(13%),即回到竞技场未能接受(10%),并且有backport的延误(16天可以创造,5天,5天,5天)。我们确定了一些解决返校问题的一般策略。我们还指出,返回策略取决于项目类型,需要进一步调查以确定其适用性。此外,我们创建了有史以来的第一个Backports数据集,其他研究人员和从业人员可以使用该数据集来调查Backports和Backporting。

Source code repositories allow developers to manage multiple versions (or branches) of a software system. Pull-requests are used to modify a branch, and backporting is a regular activity used to port changes from a current development branch to other versions. In open-source software, backports are common and often need to be adapted by hand, which motivates us to explore backports and backporting challenges and strategies. In our exploration of 68,424 backports from 10 GitHub projects, we found that bug, test, document, and feature changes are commonly backported. We identified a number of backporting challenges, including that backports were inconsistently linked to their original pull-request (49%), that backports had incompatible code (13%), that backports failed to be accepted (10%), and that there were backporting delays (16 days to create, 5 days to merge). We identified some general strategies for addressing backporting issues. We also noted that backporting strategies depend on the project type and that further investigation is needed to determine their suitability. Furthermore, we created the first-ever backports dataset that can be used by other researchers and practitioners for investigating backports and backporting.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源