Learning to Recommend Third-Party Library Migration Opportunities at the API Level
Hussein Alrubaye, Mohamed Wiem Mkaouer, Igor Khokhlov, Leon Reznik,, Ali Ouni, Jason Mcgoff

TL;DR
This paper presents RAPIM, a machine learning model that automates the recommendation of method mappings for third-party library migration at the API level, based on learned patterns from previous migrations.
Contribution
It introduces RAPIM, a novel ML approach that leverages features from method signatures and documentation to recommend API mappings, improving migration efficiency.
Findings
Achieves an average accuracy of 87% in recommending API mappings.
Evaluated on 8 migration scenarios from 57,447 Java projects.
Provides a web service to support library migration processes.
Abstract
The manual migration between different third-party libraries represents a challenge for software developers. Developers typically need to explore both libraries Application Programming Interfaces, along with reading their documentation, in order to locate the suitable mappings between replacing and replaced methods. In this paper, we introduce RAPIM, a novel machine learning approach that recommends mappings between methods from two different libraries. Our model learns from previous migrations, manually performed in mined software systems, and extracts a set of features related to the similarity between method signatures and method textual documentation. We evaluate our model using 8 popular migrations, collected from 57,447 open-source Java projects. Results show that RAPIM is able to recommend relevant library API mappings with an average accuracy score of 87%. Finally, we provide…
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.
