Legacy Software Modernization with AI

ARTICLE 

 

For Swiss companies, evolving business software means balancing innovation, operational continuity and data protection. Applications developed over the years contain valuable processes and knowledge, but they can become difficult to maintain and integrate with new applications, cloud services and artificial intelligence tools.

Modernization does not necessarily mean rewriting everything from scratch. AI can support code analysis, documentation, refactoring and test preparation, enabling a gradual approach. However, achieving reliable results requires specialist expertise, validation and careful control over the code and data shared with AI tools.

The challenge: when legacy software holds back innovation

Many companies use applications developed over time, often customized to meet specific requirements. These systems continue to support essential processes, but they may have limitations that make it harder for the business to evolve:

  • Complex integration: the absence of web interfaces or APIs makes it harder to connect applications to cloud services, CRM systems, e-commerce platforms and new digital solutions
  • Technologies that are difficult to maintain: unsupported components and data structures that are difficult to access can increase management costs and hinder innovation
  • Dependence on individual expertise: undocumented customizations and changes concentrate system knowledge in a few people, making maintenance and handovers more complex

As these limitations accumulate, introducing new features takes longer, each change becomes more sensitive and application maintenance consumes resources that could otherwise support new projects.

The issue is therefore not the age of the software itself, but its ability to meet the company’s current needs. Modernization means identifying what should be preserved and what needs to evolve, building on existing investments.

How AI can support modernization

AI can assist development teams with various aspects of legacy software modernization. Its outputs require review and validation by developers. The main areas of support include:

  • Documentation creation: it can analyze legacy code and available comments, helping produce function descriptions and technical documentation for review and completion
  • Code cleanup and refactoring: it can help identify duplication and potentially unnecessary code, suggesting changes to improve readability and maintainability
  • Support for rewriting in modern languages: it can suggest translations of code sections, for example from COBOL or Delphi to Java, C# or Python. These suggestions must be checked against the application logic and the behavior of the original system
  • Review of original and rewritten code: it can support comparisons between the two versions, highlighting potential discrepancies, logging gaps or missing exception handling
  • Support for data migration and synchronization: it can help define procedures and scripts for mapping, validating and reconciling data between old and new systems
  • Test preparation: it can generate proposed unit, functional and regression tests based on the code and expected behavior, for review and completion with the development team
  • Support for security analysis: it can flag potential code issues, such as injection risks and insecure practices. This support does not replace security analysis tools, testing or specialist review.

Generative AI in practice: GitHub Copilot and Claude Code

Within Var Group, different technologies are being tested to support customers with application modernization. Tools under evaluation include GitHub Copilot and Anthropic’s Claude Code.

These tools can assist developers with activities such as:

  • Preliminary analysis: examining multiple code files to obtain explanations of functions and support understanding of the application context
  • Refactoring: proposing changes to make code clearer, for example by extracting methods or suggesting more descriptive names
  • Translation between languages: generating an initial conversion proposal, for example from Visual Basic to C#, to be checked against the logic and behavior of the original code
  • Test support: preparing an initial unit test structure for completion and validation
  • Security and good practices: suggesting input and output checks and potential improvements to programming practices

Generated suggestions must be assessed in the context of the project and undergo review and testing before adoption.

Why invest in application modernization

A well-designed modernization initiative can help a company:

  • Reduce technical debt, simplifying maintenance and limiting the complexity accumulated over time
  • Improve agility and integration, through APIs, interfaces and modular components that make applications easier to evolve
  • Strengthen security, addressing vulnerabilities and replacing unsupported components
  • Reduce dependence on individuals, through up-to-date documentation, clearer code and tests that support changes
  • Support development teams, with tools and practices that facilitate collaboration and skills development

Our approach to modernization

Modernizing software means creating the conditions for applications to evolve in line with business needs. AI can support this process, but its use requires a structured approach, expertise and human oversight.

Var Group has developed a modernization methodology that proceeds in stages and includes:

  • Data Discovery: a review of the data
  • Application assessment: an evaluation of existing applications
  • Definition of the modernization context and rules, including:
    • syntax and company development practices;
    • selection of suitable AI models;
    • definition of continuous integration and delivery (CI/CD) processes;
    • definition of security standards
  • User Story Mapping and planning: organization of requirements and work plans
  • Application rewriting
  • Testing and project go-live

Takeaways

  • Too many Italian legacy systems hold back growth, integration and scalability.
  • Documentation and internal expertise are lacking, and the risk of failures is high.
  • Generative AI helps document, clean up, rewrite, test and secure code.
  • There is no perfect LLM: the choice depends on the legacy technologies, the context and the expertise available within the company. This makes expert support essential throughout a process that may look straightforward but is not
  • The market is large and growing rapidly: ignoring it comes at a cost.
  • Modernization drives security, agility, cost efficiency, retention and competitive advantage.