# Learning to Recommend Third-Party Library Migration Opportunities at the   API Level

**Authors:** Hussein Alrubaye, Mohamed Wiem Mkaouer, Igor Khokhlov, Leon Reznik,, Ali Ouni, Jason Mcgoff

arXiv: 1906.02882 · 2019-06-10

## 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.

## Key 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 the community with an API recommendation web service that could be used to support the migration process.

---
Source: https://tomesphere.com/paper/1906.02882