You start with an existing project and the details of build tools and frameworks, along with a target Java version (for example upgrading from Java 8 to Java 21). The Copilot upgrade assistant analyses your code base and generates a list of the necessary steps to run your upgrade, presenting it as a set of GitHub issues that you can check before running the update.
Once you’re happy with the tasks, the tool takes you to a dashboard where you can watch the update process, including how Copilot rewrites code for you. You can stop and start the process at any time, drilling down into tasks for more information on just how the AI-based code is working. It’s good to have this level of transparency, as you need to be able to trust the AI, especially when it’s working on business-critical software.
As this is an agentic AI process, the service can detect errors and fix them, launching sub-agents that make changes, rebuild, and retest code. Interestingly if a fix doesn’t work, it’ll take another approach, using the shared knowledge of the Java developers whose work has been used to train the Copilot Java model. Like other GitHub Copilots, changes that work are used to fine-tune the model, reducing the risk of errors in future runs. That goes for manual updates and changes too.