Modernizing Java applications with AWS Q Developer: A journey from legacy to AI-powered development

Learn how AI-driven development tools like AWS Q Developer are transforming legacy Java systems into modern, efficient and future-ready applications
 
5 min read
Rohit Kumar Verma

Author

Rohit Kumar Verma
Lead Consultant, Digital Business, HCLTech
5 min read
Share
Modernizing Java applications with AWS Q Developer: A journey from legacy to AI-powered development

Modernizing legacy applications has long been one of the most challenging aspects of enterprise software development, especially when dealing with outdated frameworks, deprecated APIs and complex architectures. At HCLTech, the modernization process has traditionally relied on rule-based tools such as ATMA and Advantage Solutions. While these tools have been effective, they often require extensive manual effort.

With the emergence of GenAI tools like AWS Q Developer, GitHub Copilot, Gemini Code Assist and HCLTech’s AI Force, the modernization landscape is undergoing dramatic changes. These technologies have made application development and transformation faster, more intuitive and far more efficient.

As part of a recent proof of concept (PoC), AWS Q Developer was used to assess its capabilities in real-world modernization scenarios. The experience provided valuable insights into how AI can streamline upgrades, generate documentation and accelerate testing, making modernization significantly smoother and more efficient.

The use case: Real applications, real impact

The PoC focused on two real-world enterprise applications:

  1. KomiBank – A Spring Boot MVC application with a MySQL backend.
  2. Plasma – A multi-tier payment processing system running on WebLogic and Oracle.

The modernization goals included:

  • Upgrading Java versions (from Java 8/11 to Java 21)
  • Migrating from WebLogic to Embedded Tomcat
  • Replacing Oracle DB with H2
  • Refactoring legacy code and dependencies
  • Generating documentation and automated test cases

Implementation with AWS Q Developer

  1. Project analysis and context setup

    Since documentation for the selected applications was unavailable, the team began by prompting AWS Q Developer to generate the foundational materials, including technical documentation, functional overviews, deployment guides and API documentation. These auto-generated artifacts provided a comprehensive understanding of each application’s architecture before beginning modernization work.

  2. Language, framework upgrade and code migration

    Once the project context was established, the next step was to upgrade the Java versions, the Spring Boot framework and relevant dependencies. The /transform command in AWS Q Developer was used to automate much of this process, while agentic chat mode allowed for more granular, guided migrations through prompt-based instructions.

  3. Test case development and coverage

    To strengthen test coverage, AWS Q Developer was prompted to create a test coverage plan, followed by the automatic generation of test cases aligned with the plan. This approach helped the team move toward comprehensive coverage—achieving nearly complete automation of unit and integration tests.

  4. Deployment and validation

    After completing the upgrade and migration, the applications were manually deployed on the target servers. Since no test data existed, the team created it manually and verified key workflows to ensure functional integrity.

 

Key strengths of AWS Q Developer

  • Natural language coding: Prompt-based commands translated developer intent directly into actionable code.
  • /transform command and chat interface: Enabled structured and guided modernization workflows.
  • Agentic mode: Offered contextual, multi-step assistance using Claude Sonnet models.
  • Automated documentation: Generated functional, technical and API documentation with minimal effort.
  • Test automation: Analyzed codebases and produced test cases effectively, improving coverage and reliability.

Measured results (Tool runtime only):

  • Java upgrade duration: ~3.7 hours (KomiBank); ~12 hours (Plasma, due to manual fallback)
  • Test case generation: ~1 day for 162+ test cases (KomiBank)
  • Documentation: JavaDocs and deployment guides generated in ~4 hours (KomiBank)

Challenges and limitations

Despite its strengths, AWS Q Developer was not without challenges:

  • Partial automation: Manual validation and restructuring were frequently required.
  • Prompt sensitivity: The quality of outputs was highly dependent on precise prompt engineering.
  • Transformation errors: The /transform command occasionally failed in complex projects like Plasma.
  • Hallucinations: Auto-generated documentation sometimes included fictional or incorrect details.
  • Chat stability: Long sessions occasionally caused chat freezes or loss of context.

Observations and learnings

It was observed that an iterative, human-guided approach was most effective when using AWS Q Developer. While AI could automate much of the heavy lifting, developer oversight remained crucial to ensure accuracy, maintain code integrity and guide the process effectively.

Key takeaways included:

  • Iterative workflows yield better accuracy than one-click transformations.
  • AI acts as an assistant, not a replacement for human expertise.
  • Prompt precision directly impacts output quality.

Conclusion

The experience with AWS Q Developer demonstrated how AI-assisted tools are transforming the application modernization process. While it’s not a complete replacement for human developers, the tool acts as a powerful collaborator—accelerating development cycles, improving code quality and simplifying documentation and testing.

Recommendations for modernization teams:

  • Begin with smaller modules to build familiarity.
  • Use agentic mode for complex refactoring tasks.
  • Embrace iterative upgrades rather than expecting instant results.
  • Learn the basics of prompt engineering for best outcomes.
  • Always perform manual review and verification before deployment.

Organizations exploring GenAI for software development should consider trying AWS Q Developer. Although still evolving, its potential to transform modernization projects is already evident, making it a valuable addition to any developer’s toolkit.

Share On
_ Cancel

Contact Us

Want more information? Let’s connect