論文の概要: Are Code Pre-trained Models Powerful to Learn Code Syntax and Semantics?
- arxiv url: http://arxiv.org/abs/2212.10017v2
- Date: Mon, 8 May 2023 10:34:30 GMT
- ステータス: 処理完了
- システム内更新日: 2023-05-09 23:39:59.152078
- Title: Are Code Pre-trained Models Powerful to Learn Code Syntax and Semantics?
- Title(参考訳): コード事前学習モデルは、コード構文とセマンティックスを学ぶのに強力か?
- Authors: Wei Ma, Mengjie Zhao, Xiaofei Xie, Qiang Hu, Shangqing Liu, Jie Zhang,
Wenhan Wang, Yang Liu
- Abstract要約: 既訓練モデル(CodeBERTとGraphCodeBERT)の学習プログラムセマンティクスについて検討する。
具体的には、学習プログラムの構文を理解するためにASTを操作するための2つの探索タスク(構文ペアノード予測とトークンタグ付け予測)を設計する。
一方、学習プログラム意味解析のための2つのタスク(意味関係予測と意味予測(inGraph))を設計する。
- 参考スコア(独自算出の注目度): 30.95076848981704
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Analysis of pre-trained code models also has revealed that they can
effectively learn program syntax. However, these works are limited in analyzing
code syntax and their distance-based approaches are not accurate due to the
curse of high dimensionality. Furthermore, the study of the learnt program
semantics of these models is rarely discussed. To further understand the code
features learnt by these models, in this paper, we target two well-known
representative code pre-trained models (i.e., CodeBERT and GraphCodeBERT) and
devise a set of probing tasks for the syntax and semantics analysis.
Specifically, on one hand, we design two probing tasks (i.e., syntax pair node
prediction and token tagging prediction) to manipulate AST for the
understanding of learnt program syntax. On the other hand, we design two tasks
(i.e., semantic relationship prediction and semantic propagation
prediction(inGraph) ) on the constructed control flow graph (CFG), data
dependency graph (DDG) and control dependency graph (CDG) for the learnt
program semantic analysis. In addition, to understand which kind of program
semantics these pre-trained models can comprehend well, we conduct the
statistical analysis for attention weights learnt by different heads and
layers. Through extensive analysis in terms of program syntax and semantics, we
have the following findings: 1) Both CodeBERT and GraphCodeBERT can learn the
program syntax well. 2) Both CodeBERT and GraphCodeBERT can learn program
semantics to different extents. GraphCodeBERT is superior to CodeBERT in
learning program control flow and data dependency information but has a similar
capability to CodeBERT in learning control dependency information. 3) Both
CodeBERT and GraphCodeBERT can capture program semantics in the final layer of
representation, but different attention heads and layers exhibit different
roles in learning program semantics.
- Abstract(参考訳): 事前訓練されたコードモデルの解析も、プログラムの構文を効果的に学習できることを明らかにしている。
しかし、これらの研究はコード構文の分析に限られており、その距離に基づくアプローチは高次元の呪いのため正確ではない。
さらに、これらのモデルの学習プログラム意味論の研究はほとんど議論されない。
本稿では、これらのモデルによって学習されたコード機能をさらに理解するため、2つのよく知られたコード事前訓練モデル(CodeBERTとGraphCodeBERT)をターゲットにし、構文解析と意味解析のための一連の探索タスクを考案する。
具体的には、学習プログラムの構文を理解するためにASTを操作するための2つの探索タスク(構文ペアノード予測とトークンタグ付け予測)を設計する。
一方、構築された制御フローグラフ(CFG)、データ依存グラフ(DDG)、制御依存グラフ(CDG)の2つのタスク(セマンティック関係予測とセマンティック予測(inGraph))を学習プログラムの意味解析のために設計する。
また,これらの事前学習モデルがどのようなプログラム意味をよく理解できるかを理解するために,頭や層によって学習される注意重みの統計的分析を行う。
プログラムの構文と意味論に関する広範な分析を通じて、以下の知見を得た。
1) CodeBERT と GraphCodeBERT はプログラム構文をうまく学習することができる。
2) CodeBERT と GraphCodeBERT はプログラムセマンティクスを異なる範囲で学習することができる。
GraphCodeBERTは、プログラム制御フローとデータ依存情報を学習する際のCodeBERTよりも優れているが、制御依存情報を学習する際のCodeBERTと同様の機能を持つ。
3) CodeBERT と GraphCodeBERT はプログラムセマンティクスを最終層でキャプチャできるが,プログラムセマンティクスの学習において,異なるアテンションヘッドとレイヤが異なる役割を担っている。
関連論文リスト
- Building A Coding Assistant via the Retrieval-Augmented Language Model [24.654428111628242]
本研究では,コーディング中の人間の知識探索行動を模倣してコードアシスタントを構築するための検索補助言語モデル(CONAN)を提案する。
コード構造対応検索器(CONAN-R)とデュアルビューコード表現に基づく検索拡張生成モデル(CONAN-G)で構成される。
論文 参考訳(メタデータ) (2024-10-21T17:34:39Z) - Code Execution with Pre-trained Language Models [88.04688617516827]
コードインテリジェンスのトレーニング済みモデルのほとんどは実行トレースを無視しており、ソースコードと構文構造のみに依存している。
我々は,大規模かつ現実的なPythonデータセットとコード実行タスクを作成するために,突然変異に基づくデータ拡張手法を開発した。
次に、コード実行事前学習とカリキュラム学習を活用して意味理解を強化するトランスフォーマーモデルであるCodeExecutorを提案する。
論文 参考訳(メタデータ) (2023-05-08T10:00:05Z) - Enhancing Semantic Code Search with Multimodal Contrastive Learning and
Soft Data Augmentation [50.14232079160476]
コード検索のためのマルチモーダルコントラスト学習とソフトデータ拡張を用いた新しい手法を提案する。
我々は,6つのプログラミング言語を用いた大規模データセットにおけるアプローチの有効性を評価するために,広範囲な実験を行った。
論文 参考訳(メタデータ) (2022-04-07T08:49:27Z) - ReACC: A Retrieval-Augmented Code Completion Framework [53.49707123661763]
本稿では,語彙のコピーと類似したセマンティクスを持つコード参照の両方を検索により活用する検索拡張コード補完フレームワークを提案する。
我々は,Python および Java プログラミング言語のコード補完タスクにおけるアプローチを評価し,CodeXGLUE ベンチマークで最先端のパフォーマンスを実現する。
論文 参考訳(メタデータ) (2022-03-15T08:25:08Z) - What Do They Capture? -- A Structural Analysis of Pre-Trained Language
Models for Source Code [32.345301158791045]
ソースコードの事前訓練された言語モデルは、コードのコンテキストをモデル化するために提案されている。
これらのモデルは、マスク付き事前トレーニングとトランスフォーマーを利用する。
これらのモデルがなぜ機能するのか、どのような特徴相関を捉えることができるのかは不明だ。
論文 参考訳(メタデータ) (2022-02-14T16:22:10Z) - CodeRetriever: Unimodal and Bimodal Contrastive Learning [128.06072658302165]
関数レベルのコードセマンティック表現を訓練するために,一様および二様のコントラスト学習を組み合わせたCodeRetrieverモデルを提案する。
ノンモーダルなコントラスト学習のために、文書と関数名に基づいてポジティブなコードペアを構築するためのセマンティックガイド付き手法を設計する。
バイモーダルなコントラスト学習では、コードのドキュメンテーションとインラインコメントを活用して、テキストコードペアを構築します。
論文 参考訳(メタデータ) (2022-01-26T10:54:30Z) - Contrastive Learning for Source Code with Structural and Functional
Properties [66.10710134948478]
本稿では,ソースコードの特徴に基づいて事前学習に焦点を当てた,新たな自己教師型モデルBOOSTを提案する。
私たちは、機能的に等価なコードを生成する自動化された構造誘導型コード変換アルゴリズムを採用しています。
私たちは、対照的な学習目標を通じて、機能的に等価なコードをより近く、異なるコードに近づける方法で、モデルをトレーニングします。
論文 参考訳(メタデータ) (2021-10-08T02:56:43Z) - CLSEBERT: Contrastive Learning for Syntax Enhanced Code Pre-Trained
Model [23.947178895479464]
CLSEBERTは,構文強化符号事前学習モデルのための構築学習フレームワークである。
事前学習段階では、抽象構文木(AST)に含まれるコード構文と階層について検討する。
ひとつは抽象構文木内のノード間のエッジを予測することであり、もう一つはコードトークンの型を予測することである。
論文 参考訳(メタデータ) (2021-08-10T10:08:21Z) - GraphCodeBERT: Pre-training Code Representations with Data Flow [97.00641522327699]
本稿では,コード固有の構造を考慮したプログラミング言語の事前学習モデルであるGraphCodeBERTを提案する。
これは変数間の"where-the-value-comes-from"の関係をエンコードするコードのセマンティックレベルの構造です。
コード検索,クローン検出,コード翻訳,コード改良の4つのタスクにおいて,本モデルを評価する。
論文 参考訳(メタデータ) (2020-09-17T15:25:56Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。