Refactoring Service: AI-Powered AEMaaCS Migrations

This session unveils the revolutionary AEM CS Refactoring Service that seamlessly integrates Repo Modernizer with Gen-AI CS Code Transformer technology, fundamentally transforming how organizations migrate to AEM Cloud Service.

We will explore how this integrated solution delivers unprecedented migration efficiency through AI-powered code analysis and transformation, enabling automatic remediation of common cloud incompatibilities while dramatically reducing manual refactoring efforts.

The talk will showcase the service’s core capabilities, including intelligent repository restructuring. Key demonstrations will illustrate how the service analyses legacy codebases and delivers cloud-ready implementations through generative AI transformations.

Additionally, we will reveal how organizations have achieved up to 36% faster migration timelines and significantly higher success rates by leveraging these integrated technologies. Join us to discover how the CS Refactoring Service is redefining AEM migration, offering developers, architects, and enterprises a clear, accelerated path to fully unlocking AEM Cloud Service benefits.

skalli07

Is there another license needed?

Dinesh Chaudhary

No, It is already GA and part of cloud acceleration manager. Please follow the docs https://experienceleague.adobe.com/en/docs/experience-manager-cloud-service/content/migration-journey/refactoring-tools/getting-started-refactoring-tools

Tad

This is huge for removing some of the upgrade drudgery that isn't the exciting part of any upgrade. What project types does this work well for, and which would you recommend NOT using this tool on?

Dinesh Chaudhary

Code transformer is project agnostic and Repository moderniser work for all the project types - https://experienceleague.adobe.com/en/docs/experience-manager-cloud-service/content/migration-journey/refactoring-tools/repo-modernizer-cam

Mehdi Al.

can we have the same refactoring service for 6.5 LTS ? :D

Jörg

get a sandbox, import your 6.5 code and then run CAM on it :-)

Christian

Does this approach necessitate lots of manual or automated QA? How do you ensure that the "fixed" codebase is not only functional but also behaving in the intended way?

Dinesh Chaudhary

Not every file change is AI-generated. For example, repository modernizer handles project restructuring using heuristics, while AI-driven changes come from the code transformer. For those AI-generated updates, we apply guardrails to ensure they meet the required similarity score threshold.

Angela

Do you also migrate deprecated sling service-user-mappings and move access control setup for service users to principal-based? That would be cool to have instead of trying to leverage cp-converter once it is migrated. And customers would not get alerts through actions center

Dinesh Chaudhary

Not yet , but definitely a good one to consider :+1

Amine

Can you elaborate on how the AI in the code transformer handles ambiguous or undocumented legacy code patterns during migration?

Dinesh Chaudhary

Code Transformer today works for a set for patterns and it works pretty well for the patterns it cover , thanks to the guardrails we have put to achieve threshold similarity

Rogier

So what did you actually do to make this? Which LLM, did you use specific MCP, etc?

Dinesh Chaudhary

We are leveraging azure gpt - 4.1

Henry Kuijpers

Wouldn't it be nice to see on Github the changes? I see all kinds of files added new, but don't you want to see what lines were changed by the refactoring service?

Dinesh Chaudhary

Not entirely true ! A lot of files are showing difference in-place .. It's only in the case where the file was generated by LLM (some files ) like in the case where test cases were not present already and LLM added the new ones.

Amine

How does the service handle custom or proprietary modules that may not fit standard migration patterns?

Dinesh Chaudhary

The patterns covered in Code Transformer very well cover the proprietary modules handling. Could you elaborate more with any specific example ?

Henry Kuijpers

Can you share your prompts and/or input that you're giving the AI? Or did you train the AI or something?

Dinesh Chaudhary

We get the best matching examples for the code in question from the prepared dataset to provide right context to the llm

Robin

This seems to neglect a lot of non functional things (for example my own coding guidelines (I didn't see any constructor injection for example), additional security scans, sonar scans, etc. That means that we still have to refactor all the changes. Isn't there a way to provide additional context to your LLM so it will behave to our own set of rules?

Dinesh Chaudhary

Could be true , currently there is not much context around coding guidelines .. it primarily tries to refactor it according AEMaaCS functional guidelines.

Thomas

Would it be practical to mix automated refactoring like openrewrite with ai approach?

Dinesh Chaudhary

Could be but I can’t guarantee legal compliance of OpenRewrite . But Openrewrite can only help you migration to latest java version but AEM has it's own nuances which could be challenging for it.