SimilarAPI: Mining Analogical APIs for Library Migration
Establishing API mappings between libraries is a prerequisite step for library migration tasks. Manually establishing API mappings is tedious due to the large number of APIs to be examined, and existing methods based on supervised learning requires unavailable already ported or functionality similar applications. Therefore, we propose an unsupervised deep learning based approach to embed both API usage semantics and API description (name and document) semantics into vector space for inferring likely analogical API mappings between libraries. We implement a proof of concept website SimilarAPI (https:/similarapi.appspot.com) which can recommend analogical APIs for 583,501 APIs of 111 pairs of analogical Java libraries with diverse functionalities. Video: https:/youtu.be/EAwD6l24vLQ
2020 IEEE/ACM 42nd International Conference on Software Engineering: Companion Proceedings (ICSE Companion)