Publication Type
Conference Proceeding Article
Version
acceptedVersion
Publication Date
10-2021
Abstract
Machine learning (ML) libraries are gaining vast popularity, especially in the Python programming language. Using the latest version of such libraries is recommended to ensure the best performance and security. When migrating to the latest version of a machine learning library, usages of deprecated APIs need to be updated, which is a time-consuming process. In this paper, we propose MLCatchUp, an automated API usage update tool for deprecated APIs of popular ML libraries written in Python. MLCatchUp automatically infers the required transformation to migrate usages of deprecated API through the differences between the deprecated and updated API signatures. MLCatchUp offers a readable transformation rule in the form of a domain specific language (DSL). We evaluate MLCatchUp using a dataset of 267 real-world Python code containing 551 usages of 68 distinct deprecated APIs, where MLCatchUp achieves 90.7% accuracy. A video demonstration of MLCatchUp is available at https://youtu.be/5NjOPNt5iaA.
Discipline
Artificial Intelligence and Robotics
Research Areas
Software and Cyber-Physical Systems
Publication
IEEE International Conference on Software Maintenance and Evolution (ICSME)
Identifier
10.1109/ICSME52107.2021.00061
Publisher
IEEE
City or Country
Virtual Event, Luxembourg
Citation
AGUS HARYONO, Stefanus; Ferdian, Thung; LO, David; LAWALL, Julia; and JIANG, Lingxiao.
MLCatchUp: Automated update of deprecated machine-learning APIs in Python. (2021). IEEE International Conference on Software Maintenance and Evolution (ICSME).
Available at: https://ink.library.smu.edu.sg/sis_research/6662
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-No Derivative Works 4.0 International License.
Additional URL
https://doi.org/10.1109/ICSME52107.2021.00061