Technical experiment
AI-assisted modernization of legacy Java systems
The starting point
Many business-critical systems still work well, but have become expensive and risky to change. Documentation may be limited, test coverage uneven and parts of the architecture hard to survey.
I wanted to explore whether modern AI-based development tools can help understand and incrementally improve legacy Java systems.
The experiments
The experiments included analysis and refactoring of existing code. The goal was not to let AI rewrite the entire system, but to explore whether the technology could contribute to a safer modernization process:
- mapping the code's structure and dependencies
- identifying duplication and technical debt
- explaining older implementations
- suggesting bounded refactorings
- improving structure and readability
- preserving existing behavior
- creating or extending tests
The results
The results were promising. AI could speed up understanding of the codebase and contribute useful suggestions for bounded improvements. At the same time, the experiments showed that quality depends on clear boundaries, working tests and human review.
This was a self-initiated technical experiment, not a client engagement or a completed production migration. The results should therefore be read as practical indications, not as proof that a full modernization can be automated.
The conclusion
AI seems most valuable as support for understanding, testing and incrementally improving legacy systems — not as a button for rewriting them.
The experiment ties together three parts of my profile: long experience of older IT environments, hands-on AI use and architectural judgment.