Table of Contents
Fetching ...

VAPU: System for Autonomous Legacy Code Modernization

Valtteri Ala-Salmi, Zeeshan Rasheed, Abdul Malik Sami, Muhammad Waseem, Kai-Kristian Kemell, Jussi Rasku, Mika Saari, Pekka Abrahamsson

TL;DR

Many web applications harbor deprecated components, creating security and reliability risks at high cost. The authors propose VAPU, a Verifying Agent Pipeline Updater, a multi-agent system that modularizes code updates into phases executed by LLM-driven agents, with verification and finalization loops to autonomously modernize legacy code. The approach is evaluated across five LLMs and six legacy views, and validated on twenty Python projects, showing that low-temperature operation can match the error rate of zero-shot/one-shot prompts while improving fulfilled requirements (up to 22.6% in Pass@1 for compatible models). The results indicate that autonomous, multi-agent code updating can be cost-effective for legacy modernization, providing a practical foundation and dataset for future research and deployment. This work highlights the trade-offs between LLM size, temperature, and task difficulty, and outlines a path toward scalable, automated maintenance of legacy software.

Abstract

In this study, we present a solution for the modernization of legacy applications, an area of code generation where LLM-based multi-agent systems are proving essential for complex multi-phased tasks. Legacy applications often contain deprecated components that create compatibility, security, and reliability risks, but high resource costs make companies hesitate to update. We take a step forward to integrate an LLM-based multi-agent system as part of a legacy web application update to provide a cost-effective solution to update legacy applications autonomously. We propose a multi-agent system named a Verifying Agent Pipeline Updater (VAPU), which is designed to update code files in phases while simulating different roles in a software development team. In our previous study, we evaluated the system for legacy version updates by using six legacy web application view files by resulting errors and accomplished requirements. This study extends the previous evaluation of a multi-agent pipeline system by extending the evaluation of VAPU from a single LLM to five LLMs and using the temperature parameter in both 0 to 1 settings. Additionally, we tested the system with 20 open-source Python GitHub projects. The results of the evaluation were compared to Zero-Shot Learning (ZSL) and One-Shot Learning (OSL) prompts. The extended evaluation of VAPU showed that particularly in a low-temperature VAPU can get similar level of error count compared to the ZSL/OSL prompts but with a higher level of fulfilled requirements, depending on the LLM. VAPU showed up to 22.5% increase in the succeeding Python file update requirements compared to ZSL/OSL prompts. The study indicates that an LLM-based multi-agent system is a capable solution to update components of a legacy application autonomously.

VAPU: System for Autonomous Legacy Code Modernization

TL;DR

Many web applications harbor deprecated components, creating security and reliability risks at high cost. The authors propose VAPU, a Verifying Agent Pipeline Updater, a multi-agent system that modularizes code updates into phases executed by LLM-driven agents, with verification and finalization loops to autonomously modernize legacy code. The approach is evaluated across five LLMs and six legacy views, and validated on twenty Python projects, showing that low-temperature operation can match the error rate of zero-shot/one-shot prompts while improving fulfilled requirements (up to 22.6% in Pass@1 for compatible models). The results indicate that autonomous, multi-agent code updating can be cost-effective for legacy modernization, providing a practical foundation and dataset for future research and deployment. This work highlights the trade-offs between LLM size, temperature, and task difficulty, and outlines a path toward scalable, automated maintenance of legacy software.

Abstract

In this study, we present a solution for the modernization of legacy applications, an area of code generation where LLM-based multi-agent systems are proving essential for complex multi-phased tasks. Legacy applications often contain deprecated components that create compatibility, security, and reliability risks, but high resource costs make companies hesitate to update. We take a step forward to integrate an LLM-based multi-agent system as part of a legacy web application update to provide a cost-effective solution to update legacy applications autonomously. We propose a multi-agent system named a Verifying Agent Pipeline Updater (VAPU), which is designed to update code files in phases while simulating different roles in a software development team. In our previous study, we evaluated the system for legacy version updates by using six legacy web application view files by resulting errors and accomplished requirements. This study extends the previous evaluation of a multi-agent pipeline system by extending the evaluation of VAPU from a single LLM to five LLMs and using the temperature parameter in both 0 to 1 settings. Additionally, we tested the system with 20 open-source Python GitHub projects. The results of the evaluation were compared to Zero-Shot Learning (ZSL) and One-Shot Learning (OSL) prompts. The extended evaluation of VAPU showed that particularly in a low-temperature VAPU can get similar level of error count compared to the ZSL/OSL prompts but with a higher level of fulfilled requirements, depending on the LLM. VAPU showed up to 22.5% increase in the succeeding Python file update requirements compared to ZSL/OSL prompts. The study indicates that an LLM-based multi-agent system is a capable solution to update components of a legacy application autonomously.
Paper Structure (18 sections, 3 figures, 13 tables)

This paper contains 18 sections, 3 figures, 13 tables.

Figures (3)

  • Figure 1: Proposed system: VAPU for updating existing code adapted from enase25
  • Figure 2: Error types of OSL/ZSL prompts at T=1 and VAPU at T=0
  • Figure 3: Normalized time's impact on VAPU's error rate for Views A-D