GitHub Copilot
GitHub Copilot app modernization: what it does and where review is mandatory.
An AI agent in your IDE that plans and applies a Java upgrade. Useful for the first pass. Not a substitute for tests or a reviewer.
The short answer
GitHub Copilot app modernization is a Microsoft and GitHub feature that uses an AI agent in the IDE to assess a Java application, plan an upgrade and apply changes, with build and test steps. It speeds the first pass. Its output still needs tests and an engineer's review before merge.
Definition
What is GitHub Copilot app modernization?
It is a Copilot capability aimed at upgrading and migrating existing applications, with a Java version available for Java runtime and framework upgrades, such as moving to a newer JDK or Spring Boot release. It works inside the developer's IDE, proposes a plan, applies changes and tries to build the result.
Features and supported targets change often. Check Microsoft's current documentation for what it supports today. This page describes the approach, not a feature list.
Flow
How does a run usually go?
The approval steps are where an engineer matters. A plan that is wrong at step two produces a large wrong diff at step three.
- The agent inspects the project and produces an assessment of what needs to change.
- You review the proposed plan and approve it, or edit it.
- It applies changes, builds, and tries to fix compile errors it introduces.
- It may run tests and report results.
- You read the diff and decide what to keep.
Our method
How does Ace8 use it?
We treat it as one tool in a sequence. First, deterministic recipes with OpenRewrite for the mechanical changes. Then an AI tool for what is left, which can be Copilot app modernization or AWS Transform, chosen by the codebase and the client's environment. Then tests, then a senior engineer reviews the full diff.
Ace8 is the AI-assisted application modernization practice of AceMQ. We have no commercial relationship with GitHub or Microsoft that affects this advice.
Risk
Where is engineer review mandatory?
- Security configuration, where a frameworks' defaults changed between versions.
- Behavior that lives in configuration files, not Java source.
- Dependency changes, since an agent may pick a version that compiles but is wrong for your runtime.
- Any test the agent edited. A change that makes a failing test pass is not the same as a fix.
- Concurrency, transactions and date or encoding handling, which compile fine and fail in production.
Tests
Why do tests come first?
An AI agent that edits code needs something to check its work against. Without tests, a green build means only that the code compiles. We add tests around the code to be changed before any tool touches it. That is why test before you touch is the first principle of our method. See also the Java upgrade page for the breaking changes a tool cannot see.
Evidence
What did our run show?
We are running Copilot app modernization on the same open-source Java 8, Spring Boot 2 sample as the other tools. The results are pending and are not stated here. Our benchmark page holds the method and will hold the changed files, test results, manual fixes and review time, including failures.
| What we record | Why |
|---|---|
| Files changed and lines changed | Sizes the review |
| Build errors left after the run | Shows what was not handled |
| Tests before and after | Shows whether behavior held |
| Manual fixes we made | Shows the effort after the agent stops |
| Review minutes | The cost the licence price omits |
Choice
Copilot, AWS Transform or OpenRewrite?
If you already use GitHub and Copilot, the IDE route is convenient for a single application. For repeatable change across many repositories, rule-based recipes are easier to audit; see AWS Transform vs OpenRewrite for the same trade-off. For a mixed estate we choose per application, which the assessment decides.
A Copilot capability that uses an AI agent in the IDE to assess, plan and apply upgrades to existing applications, including Java. Check Microsoft's documentation for current scope.
It can do much of the first pass of an upgrade. It cannot prove the result is correct. Tests and engineer review do that.
We have not confirmed how it is built internally, so we do not state it. Check the current Microsoft documentation.
Both are AI-driven. They differ in environment, workflow and pricing. We are measuring both on the same repo; results are pending.
Not without review. Read every diff, run the tests and check security and configuration changes by hand.
Know the cost before anything moves.
A fixed-price assessment gives you the inventory, the risk score and a phased plan. Scope and cost are fixed before the migration starts.
Book a Fixed-Price AssessmentGet in touch
Talk to a modernization engineer
Tell us what you run today. An engineer, not a sales script, replies within one business day.