Providing Upgrade Plans for Third-party Libraries: A Recommender System using Migration Graphs
Riccardo Rubei, Davide Di Ruscio, Claudio Di Sipio, Juri Di Rocco,, Phuong T. Nguyen

TL;DR
EvoPlan is a recommender system that suggests optimal upgrade paths for third-party libraries by analyzing migration graphs, aiming to minimize migration efforts and reduce errors during library upgrades.
Contribution
The paper introduces EvoPlan, a novel approach that leverages migration graphs to recommend efficient upgrade plans for third-party libraries, improving upon existing methods.
Findings
EvoPlan achieves high precision and recall in predicting effective upgrade paths.
The system considers migration path popularity and GitHub issues for better recommendations.
Experimental results show improved migration effort reduction.
Abstract
During the development of a software project, developers often need to upgrade third-party libraries (TPLs), aiming to keep their code up-to-date with the newest functionalities offered by the used libraries. In most cases, upgrading used TPLs is a complex and error-prone activity that must be carefully carried out to limit the ripple effects on the software project that depends on the libraries being upgraded. In this paper, we propose EvoPlan as a novel approach to the recommendation of different upgrade plans given a pair of library-version as input. In particular, among the different paths that can be possibly followed to upgrade the current library version to the desired updated one, EvoPlan is able to suggest the plan that can potentially minimize the efforts being needed to migrate the code of the clients from the library's current release to the target one. The approach has been…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Software Engineering Techniques and Practices · Software System Performance and Reliability
