マイクロソフト、GitHub CopilotでJavaと.NETのコードを自動的にモダナイズする機能をパブリックプレビュー公開

2025年5月29日

マイクロソフトは、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コードをモダナイズ

fig

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」をインストールして利用します。

インストール後、Copilot Chat Tool Selector から「Upgrade」ツールを選択。チャットでアップグレードを指示するか、ソリューションエクスプローラーでプロジェクトもしくはソリューションを右クリックし「GitHub Copilotでアップグレード」を選択するとアップグレードが開始されます。

アップグレードのプロセスはJavaのときとほぼ同様に、計画を立てた後で実際にアップグレードを行い、アプリケーションの単体テストを自動的に実行してくれます。

あわせて読みたい

.NET Java プログラミング言語 機械学習・AI 開発ツール GitHub Microsoft




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本