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.