マイクロソフト、GitHub CopilotでJavaと.NETのコードを自動的にモダナイズする機能をパブリックプレビュー公開
マイクロソフトは、GitHub Copilotを用いて古いJavaコードや.NETのコードを新しいバージョンへと自動的に変換する機能「GitHub Copilot app modernization for Java」(以下、Copilot modernization for Java)、「GitHub Copilot app modernization - Upgrade for .NET」(以下、Upgrade for .NET)をそれぞれパブリックプレビュー公開しました(Copilot modernization for Javaの発表、Copilot Upgrade for .NETの発表)。
GitHub CopilotでJavaコードをモダナイズ

Copilot modernization for JavaはVisual Studio Codeの拡張機能としてマーケットプレイスから取得可能となっています。
Copilot modernization for Javaの動作はまず、指定されたJavaコードのプロジェクトの内容と依存関係を分析し、アップグレード計画を作成します。
その上でアップグレードとなるコード変換を実行。Javaのアップグレードに伴うコードの変換にはOpenRewriteなどのツールを用います。
また、Javaコードの内容をクラウドのMicrosoft Azure対応にするための変換、例えばローカルファイルアクセスの機能をオブジェクトストレージへのアクセスに置き換える、といった部分では、事前にAIによって専門的な知識を基に定義された変換公式が用いられ、実行されます。
このAIが用いる変換公式は、ユーザーが独自に行った変換をAIに学習させた上で、別のプロジェクトに適用することも可能だと説明されています。
具体的には、過去にGitHub上で行いコミットしたコードの変更内容をAIに学習させる機能を備えています。
modernization for Javaはコードを変換後、ビルドで発生した問題を動的に解決し、エラーが解消されるようにテストによる検証も自動的に実行し、エラーになった原因となるコードの修正も実行します。
コードのアップグレードが終了後、さらにCVE脆弱性のチェック、そしてコードの不整合がないかのチェックなども自動的に行ってくれるとのことです。
Copilot Upgrade for .NET
一方のCopilot Upgrade for .NETは最新のVisual Studio 17.14のCopilot Agent Modeを用い、Visual Studio Marketplaceのマーケットプレイスから「GitHub Copilot app modernization - upgrade for .NET」をインストールして利用します。
Upgrade your .NET apps with confidence! Introducing our newest AI-powered upgrade experience, GitHub Copilot app modernization - Upgrade for .NET.https://t.co/7P4LjGJVyy#dotnet #githubcopilot
— .NET (@dotnet) May 20, 2025
インストール後、Copilot Chat Tool Selector から「Upgrade」ツールを選択。チャットでアップグレードを指示するか、ソリューションエクスプローラーでプロジェクトもしくはソリューションを右クリックし「GitHub Copilotでアップグレード」を選択するとアップグレードが開始されます。
アップグレードのプロセスはJavaのときとほぼ同様に、計画を立てた後で実際にアップグレードを行い、アプリケーションの単体テストを自動的に実行してくれます。