Table of Contents
Fetching ...

MigMate: A VS Code Extension for LLM-based Library Migration of Python Projects

Matthias Kebede, May Mahmoud, Mohayeminul Islam, Sarah Nadi

TL;DR

This paper presents an open-source VS Code IDE plugin, MigMate, that builds on MigrateLib by integrating the automated migration process into the developer's existing development environment and provides an interactive experience, allowing developers to view and confirm changes before they are applied.

Abstract

Modern software relies heavily on third-party software libraries to streamline the development process. The act of switching one library for a similar counterpart, called library migration, naturally occurs as libraries become outdated or unsuitable for the project. Manually migrating from one library to another is a time-consuming task. Our previous research developed MigrateLib, a command-line LLM-based migration tool that can automate the complete migration process. In this paper, we present our open-source VS Code IDE plugin, MigMate, that builds on MigrateLib by integrating the automated migration process into the developer's existing development environment. MigMate provides an interactive experience, allowing developers to view and confirm changes before they are applied. A preliminary user study shows that plugin usage consistently reduces the time taken to complete a library migration task, and it scores highly on the System Usability Scale.

MigMate: A VS Code Extension for LLM-based Library Migration of Python Projects

TL;DR

This paper presents an open-source VS Code IDE plugin, MigMate, that builds on MigrateLib by integrating the automated migration process into the developer's existing development environment and provides an interactive experience, allowing developers to view and confirm changes before they are applied.

Abstract

Modern software relies heavily on third-party software libraries to streamline the development process. The act of switching one library for a similar counterpart, called library migration, naturally occurs as libraries become outdated or unsuitable for the project. Manually migrating from one library to another is a time-consuming task. Our previous research developed MigrateLib, a command-line LLM-based migration tool that can automate the complete migration process. In this paper, we present our open-source VS Code IDE plugin, MigMate, that builds on MigrateLib by integrating the automated migration process into the developer's existing development environment. MigMate provides an interactive experience, allowing developers to view and confirm changes before they are applied. A preliminary user study shows that plugin usage consistently reduces the time taken to complete a library migration task, and it scores highly on the System Usability Scale.
Paper Structure (18 sections, 6 figures, 2 tables)

This paper contains 18 sections, 6 figures, 2 tables.

Figures (6)

  • Figure 1: MigMate Workflow
  • Figure 2: Hover Trigger
  • Figure 3: Source Library Selection
  • Figure 4: Migration Preview (Webview) for requests to httpx
  • Figure 5: Migration Test Results
  • ...and 1 more figures