LLMを用いたCからRustへの移植の自動化:驚くほど効果的な戦略
この記事では、著者が大規模言語モデル(LLM)を使用してCコードをRustコードに自動移植した経験について詳述しています。いくつかのアプローチを試した結果、トポロジカルソートとファジングテストに基づく戦略が非常に効果的であることがわかりました。Cコードのシンボルはトポロジカルにソートされ、LLMは各シンボルのRustバージョンとファジングテストケースを生成しました。出力の比較により、移植の正しさが検証されました。この方法により、Zopfli圧縮ライブラリをCからRustに正常に移植し、結果はCバージョンと完全に一致しました。完全に自動化されたものではありませんが、移植のコストと労力を大幅に削減し、大規模コードベースのメンテナンスとアップグレードに対する新しいアプローチを提供します。
続きを読む