PyMigBench: A Benchmark for Python Library Migration

Mohayeminul Islam, Ajay Kumar Jha, Sarah Nadi, Ildar Akhmetov

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Developers heavily rely on Application Programming Interfaces (APIs) from libraries to build their projects. However, libraries might become obsolete, or new libraries with better APIs might become available. In such cases, developers replace the used libraries with alternative libraries, a process known as library migration. Since manually migrating between libraries is tedious and error prone, there has been a lot of effort towards automated library migration. However, most of the current research on automated library migration focuses on Java libraries, and even more so on version migrations of the same library. Despite the increasing popularity of Python, limited research has investigated migration between Python libraries. To provide the necessary data for advancing the development of Python library migration tools, this paper contributes PyMigBench, a benchmark of real Python library migrations.PyMigBench contains 59 analogous library pairs and 75 real migrations with migration-related code changes in 161 Python files across 57 client repositories.

Original languageEnglish (US)
Title of host publicationProceedings - 2023 IEEE/ACM 20th International Conference on Mining Software Repositories, MSR 2023
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages511-515
Number of pages5
ISBN (Electronic)9798350311846
DOIs
StatePublished - 2023
Event20th IEEE/ACM International Conference on Mining Software Repositories, MSR 2023 - Melbourne, Australia
Duration: May 15 2023May 16 2023

Publication series

NameProceedings - 2023 IEEE/ACM 20th International Conference on Mining Software Repositories, MSR 2023

Conference

Conference20th IEEE/ACM International Conference on Mining Software Repositories, MSR 2023
Country/TerritoryAustralia
CityMelbourne
Period5/15/235/16/23

Keywords

  • Python
  • benchmark
  • library migration
  • migration-related code changes

ASJC Scopus subject areas

  • Software
  • Safety, Risk, Reliability and Quality

Fingerprint

Dive into the research topics of 'PyMigBench: A Benchmark for Python Library Migration'. Together they form a unique fingerprint.

Cite this