Introduction
Hi, my name is Nolan, and I’m the creator of L2M (Legacy2Modern). A few months ago, while searching for a meaningful direction for my thesis research, I stumbled upon a challenge that quietly burdens many companies: legacy codebases. These systems, often decades old, are messy, poorly maintained, and rarely documented. Yet they continue to power critical parts of our world.
As I dug deeper, I became curious: Is anyone using AI to meaningfully tackle the legacy code problem? To my surprise, the space felt wide open. That’s when I decided to commit to this topic and build L2M.
Why Legacy Code Still Matters
Throughout human history, translation has played a crucial role in bridging cultures and enabling communication. With hundreds of languages, we rely on translation to preserve knowledge and collaborate across borders.
In the world of software, code translation serves the same purpose—helping us move from one language, paradigm, or architecture to another. As technology evolves, the ability to translate and modernize old systems becomes increasingly important. Many organizations still rely on COBOL, Fortran, and other aging technologies that are difficult to maintain and even harder to extend.
The Limitations of Traditional Approaches
Before AI, code translation was mostly performed using rule-based, AST-driven systems. While structured and deterministic, these approaches suffer from several limitations:
- They are brittle and hard to scale
- They require extensive manual engineering
- Enterprises struggle to adopt them because of their rigidity
More recently, research efforts such as TransCoder and CodeGen from Facebook AI Research (FAIR) explored unsupervised machine-learning approaches to code translation. These models demonstrated promising accuracy and flexibility, but they faced a major constraint: they require large datasets of functionally equivalent code. As a result, they mainly support popular modern languages like Python, Java, Rust, Go, and C++, leaving out the legacy languages that need modernization the most.
Enter L2M
With L2M, I set out to build something different. Instead of relying solely on classical translation methods or limiting the scope to modern languages, L2M harnesses the power of large language models (LLMs).
Our goal is to create an AI coding agent, similar to tools like Claude Code, but uniquely specialized in legacy code modernization.
This includes:
- Support for languages such as COBOL, Fortran, and others underserved by modern AI tools
- Integration of specialized AST parsers
- Curated legacy-focused datasets
- Additional tools tailored to legacy system analysis and refactoring
By combining LLMs with domain-specific components, L2M aims to bring modern AI capabilities to the world of legacy systems, an area that has historically been overlooked.
Conclusion
Legacy software may feel outdated, but it remains the backbone of countless businesses and institutions. Modernizing these systems isn’t just a technical challenge; it’s an opportunity to preserve decades of knowledge while bringing stability and innovation to critical infrastructure.
With L2M, I hope to make that transition smoother, smarter, and more accessible. This project is still evolving, but the mission is clear: bridge the gap between the systems of yesterday and the technologies of tomorrow.
If you're interested in legacy modernization, AI-driven code translation, or collaborating on this research, please feel free to reach out to me. We're welcome to any open-source contributors.
Star our repository to support us:
www.github.com/astrio-ai/l2m
Top comments (0)