本論文では、LLMを活用してコード変更パターン(CPAT)の未知のバリエーションを生成する新しいアプローチを提案している。CPATの自動化は重要であるが、既存のTransformation by Example(TBE)手法には限界がある。それらは入力例と完全に一致するターゲットコードしか変換できず、構文、データフロー、制御フローが異なるバリエーションを扱うことができない。
提案手法では、LLMを活用してCPATの未知のバリエーションを生成する。ただし、生成されたバリエーションの中には、文法エラーや意味的な等価性の欠如など、問題のあるものも多数含まれている。そのため、正しさ(意味的等価性)、有用性(開発者が通常書くようなもの)、適用性(元のCPATの構造的意図に合致)の3つの基準に基づいて、生成されたバリエーションを慎重に選別する。
この選別プロセスを経て、PyCraftツールは変換ルールを推論し、未知のバリエーションを含む変更を自動化することができる。評価の結果、PyCraftは既存手法に比べて平均14倍の変換インスタンスを生成できることが分かった。また、高評価プロジェクトへのパッチ提出では83%が受け入れられ、提案手法の有用性が確認された。
To Another Language
from source content
arxiv.org
Key Insights Distilled From
by Malinda Dilh... at arxiv.org 05-07-2024
https://arxiv.org/pdf/2402.07138.pdfDeeper Inquiries