Semantic Reverse Engineering Legacy Software Applications with ChatGPT, Gemini AI, and Claude AI

本研究論文は、ChatGPT、Gemini、Claude AI を活用してレガシーなデータベースソフトウェアアプリケーションを意味的にリバースエンジニアリングするに関する知見を提示する。

原著者: Christian Mancas, Diana Christina Mancas

公開日 2026-05-07
📖 1 分で読めます☕ さくっと読める

原著者: Christian Mancas, Diana Christina Mancas

原論文は CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) でライセンスされています。 これは以下の論文のAI生成解説です。著者が執筆または承認したものではありません。技術的な正確性については原論文を参照してください。 免責事項の全文を読む

Each language version is independently generated for its own context, not a direct translation.

想像してください。もう誰も話さない言語で書かれた、古びて埃っぽい本の図書館があると。辞書はなく、著者も久しく亡くなっています。あなたの目標は、単にページ上の文字をコピーすること(それは簡単です)ではなく、著者が従おうとしていた物語論理、そして規則を理解することです。

この論文は、3 種類の「超知能ロボット」(ChatGPT、Gemini、Claude)を用いて、これらの古いコンピュータプログラムを読み、それらが実際に何をしているのかを説明しようとする研究者チームの取り組みについて述べています。

以下に、彼らの実験を単純なアナロジーを用いて解説します。

任務:機械の中の「幽霊」の解読

研究者たちは、クラブの門番のように振る舞う古いソフトウェア(「レガシーコード」と呼ばれる)を持っていました。この門番には特定の規則がありました:

  1. 地理の規則:「ある都市が国の首都であるならば、それはその国に属しなければならない。」
  2. 王室の規則:「2 人の王が同時に同じ国を統治することはできない。ただし、彼らが結婚しているか、親子関係にある場合は例外とする。」

問題は、このコードが古いスタイル(VBA)で書かれており、なぜそのような書き方をしたのかを説明するコメントが一切なかったことです。研究者たちは、AI がコードを見て、「ああ、なるほど!このコードは、首都は国と一致しなければならないという規則を強制しているのだ」と言えるかどうかを確認したかったのです。

3 体のロボット(AI ツール)

研究者たちは 3 人の異なる AI「探偵」をテストしました。

1. ChatGPT:思慮深い家庭教師

  • 仕組み:ChatGPT は、正しく理解したいと切望する賢い学生のようなものでした。研究者が最初の単純な規則を与えると、それは完璧に理解しました。
  • 過ち:複雑な「王室の規則」を与えると、ChatGPT は当初、物語を誤解しました。コードは結婚を拒絶していると誤解しましたが、実際には既存の結婚の変更を拒絶していました。
  • 回復:研究者がそれを正すと、ChatGPT は単に「わかりました」と言うだけでなく、「ああ!私の過ちに気づきました。論理の誤った部分を見ていました。おっしゃる通り、結婚の状態そのものではなく、配偶者を変更する移行に関する問題なのです」と言いました。それは修正から学び、なぜ間違っていたのかを説明しました。
  • 判定:深い意味を理解し、ミスを犯したことを認める点で最も優れていました。

2. Claude:優雅な詩人

  • 仕組み:Claude は非常に礼儀正しく、コードの数学的美しさを賞賛しました。単純な規則は即座に理解し、研究者の巧みな論理を称賛しました。
  • 過ち:ChatGPT と同様、複雑な「王室の規則」を最初に誤解しました。「結婚したカップルにとって、同時統治は不可能である」という混乱を招く主張を行い、それは理にかなっていませんでした。
  • 回復:修正されると、誤りを認め、最終的に論理を理解しました。しかし、会話するのが非常に遅く(研究者は質問の間、数時間待たなければなりませんでした)、プロセスは非常に遅く、形式的なティーパーティーのようでした。
  • 判定:理解力は非常に優れていましたが、遅く、やや硬直していました。

3. Gemini:過度に熱心な芸術家

  • 仕組み:Gemini は最も劇的でした。「このコードは都市が国に属するかどうかをチェックする」と言う代わりに、「これは倫理的な断絶を検出するバイオロジック自己修復センサーです」のようなことを言いました。細菌、石灰岩、迷路などの比喩を多用し、古いコードを分析する代わりに、異なる最新のツールを使用するよう研究者を説得しようとしました。
  • 過ち:単純な数学を誤り(単射を全射と呼ぶなど)、修正されると理解したふりをしながらも同じ過ちを繰り返しました。
  • 判定:言葉が華やかで冗長すぎました。自らの比喩に迷い込み、事実を踏まえることができませんでした。

大発見:「状態」と「変化」の違い

この論文から得られた最も重要な教訓は、論理における微妙だが巨大な違いです。

  • 状態:現在の状況は有効か?(例:「この結婚は法的に有効か?」)
  • 移行:状況を変更する行為は有効か?(例:「夫を他の誰かに入れ替えることはできるか?」)

研究者たちは、AI ツールが「状態」(単純な規則)を見つけるのは得意だと発見しました。しかし、複雑な「移行」の規則(王室の規則)になると、すべてが混乱しました。コードは結婚自体を阻止していると誤解し、実際には結婚の変更を阻止していたのです。

最終結論

研究者たちは以下のように結論付けました。

  1. AI は小さなパズルには優れた助手である:AI に小さなコードの断片を与えれば、それを非常に良く説明できます。
  2. AI はまだ専門家の代わりにはならない:コードが少し大きくなったり複雑になったりすると、AI は自信を持って、コードが行っていることと正反対のことを説明する可能性があります。
  3. 数学が重要である:研究者たちは、AI ツールが最も機能したのは、それらを導く人間が数学(集合論や論理など)を知っている場合だと指摘しました。AI は、正しい軌道に保つために「論理」を話す人間を必要とします。

要約すると:これらの AI ツールは非常に優秀なインターンのようなものです。マニュアルを読み、基本を完璧に説明できますが、トリッキーで現実的なシナリオを与えると、自信を持って間違った物語を語るかもしれません。彼らの仕事を二重チェックするために、熟練した人間のエンジニアが必要です。

自分の分野の論文に埋もれていませんか?

研究キーワードに一致する最新の論文のダイジェストを毎日受け取りましょう——技術要約付き、あなたの言語で。

Digest を試す →