Neuro-symbolic Zero-Shot Code Cloning with Cross-Language Intermediate Representation

要約

タイトル:クロス言語中間表現とネウロシンボリックを用いたゼロショットコードクローニング
要約:
– COBOLという既存のプログラミング言語のコードの類似する複製を見つけるタスクを、トレーニングデータなしでアドレスするための、ニューロシンボリックなアプローチを定義した。
– CとCOBOLのコード共通の抽象構文木(AST)の中間表現(IR)を持つ、メタモデルを定義した。
– SBTを使って、IRを線形化して、順序のある入力を作成した。
– CodeNetデータセット内のCコードペアのSBT IRを使用して、ゼロショットのクロスプログラミング言語コード検索において、最も優れたパフォーマンスを発揮するUnixCoderを、Code Cloningタスクに対して微調整した。
– これにより、CコードのIRのための潜在表現を学習し、それらがCOBOLコードのIRに転移可能であることを示した。
– この微調整されたUnixCoderは、CodeNetデータセットから合成されたCOBOLテストスプリットで、先行学習されたUniXCoderモデルに比べて、12.85 MAP@2のパフォーマンス改善を実現した。
– これは、メタモデルベースのアプローチが、クロスプログラミング言語トランスファーを促進するのに効果的であることを示している。

要約(オリジナル)

In this paper, we define a neuro-symbolic approach to address the task of finding semantically similar clones for the codes of the legacy programming language COBOL, without training data. We define a meta-model that is instantiated to have an Intermediate Representation (IR) in the form of Abstract Syntax Trees (ASTs) common across codes in C and COBOL. We linearize the IRs using Structure Based Traversal (SBT) to create sequential inputs. We further fine-tune UnixCoder, the best-performing model for zero-shot cross-programming language code search, for the Code Cloning task with the SBT IRs of C code-pairs, available in the CodeNet dataset. This allows us to learn latent representations for the IRs of the C codes, which are transferable to the IRs of the COBOL codes. With this fine-tuned UnixCoder, we get a performance improvement of 12.85 MAP@2 over the pre-trained UniXCoder model, in a zero-shot setting, on the COBOL test split synthesized from the CodeNet dataset. This demonstrates the efficacy of our meta-model based approach to facilitate cross-programming language transfer.

arxiv情報

著者 Krishnam Hasija,Shrishti Pradhan,Manasi Patwardhan,Raveendra Kumar Medicherla,Lovekesh Vig,Ravindra Naik
発行日 2023-04-26 07:41:26+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, OpenAI

カテゴリー: cs.AI, cs.SE パーマリンク