An Analysis of Library Rollbacks: A Case Study of Java Libraries

H. Suwa, Akinori Ihara, R. Kula, Daiki Fujibayashi, Ken-ichi Matsumoto
{"title":"An Analysis of Library Rollbacks: A Case Study of Java Libraries","authors":"H. Suwa, Akinori Ihara, R. Kula, Daiki Fujibayashi, Ken-ichi Matsumoto","doi":"10.1109/APSECW.2017.25","DOIUrl":null,"url":null,"abstract":"To take full advantage of third-party library functionality, developers of a software are encouraged to constantly migrate their library dependencies. When developers migrate a library, a library rollback may occur during a migration. The library rollback is a process of restoring the software to the previously defined library state, typically to recover because a library that could not integrate with that software based on any reasons. To ensure a quick successful migration of a new library or version, developers should avoid the time and resource costs of such rollbacks. In this paper, we investigate factors leading to a rollback during library migration. We propose an empirical method to detect rollbacks and apply it to 9,357 projects from GitHub that have been adopted by around 50 Maven libraries. The results indicate that dependencies with shorter release cycles are more likely to have a rollback.Furthermore, a project that responds more quickly to a newer library is more likely to have a rollback. We recommend that developers consider project version type, latency time and the release cycle of a library during library migration.","PeriodicalId":172357,"journal":{"name":"2017 24th Asia-Pacific Software Engineering Conference Workshops (APSECW)","volume":"14 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2017-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2017 24th Asia-Pacific Software Engineering Conference Workshops (APSECW)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/APSECW.2017.25","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 2

Abstract

To take full advantage of third-party library functionality, developers of a software are encouraged to constantly migrate their library dependencies. When developers migrate a library, a library rollback may occur during a migration. The library rollback is a process of restoring the software to the previously defined library state, typically to recover because a library that could not integrate with that software based on any reasons. To ensure a quick successful migration of a new library or version, developers should avoid the time and resource costs of such rollbacks. In this paper, we investigate factors leading to a rollback during library migration. We propose an empirical method to detect rollbacks and apply it to 9,357 projects from GitHub that have been adopted by around 50 Maven libraries. The results indicate that dependencies with shorter release cycles are more likely to have a rollback.Furthermore, a project that responds more quickly to a newer library is more likely to have a rollback. We recommend that developers consider project version type, latency time and the release cycle of a library during library migration.
库回滚分析:以Java库为例
为了充分利用第三方库的功能,鼓励软件开发人员不断迁移他们的库依赖项。当开发人员迁移一个库时,在迁移过程中可能会发生库回滚。库回滚是将软件恢复到先前定义的库状态的过程,通常是为了恢复由于任何原因无法与该软件集成的库。为了确保快速成功地迁移新库或新版本,开发人员应该避免此类回滚的时间和资源成本。在本文中,我们研究了在库迁移过程中导致回滚的因素。我们提出了一种经验方法来检测回滚,并将其应用于来自GitHub的9,357个项目,这些项目被大约50个Maven库采用。结果表明,具有较短发布周期的依赖项更有可能有回滚。此外,对较新的库响应更快的项目更有可能进行回滚。我们建议开发人员在库迁移期间考虑项目版本类型、延迟时间和库的发布周期。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信