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.