論文の概要: 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 はプログラムセマンティクスを最終層でキャプチャできるが,プログラムセマンティクスの学習において,異なるアテンションヘッドとレイヤが異なる役割を担っている。
関連論文リスト
- What Do They Capture? -- A Structural Analysis of Pre-Trained Language
Models for Source Code [32.345301158791045]
ソースコードの事前訓練された言語モデルは、コードのコンテキストをモデル化するために提案されている。
これらのモデルは、マスク付き事前トレーニングとトランスフォーマーを利用する。
これらのモデルがなぜ機能するのか、どのような特徴相関を捉えることができるのかは不明だ。
論文 参考訳(メタデータ) (2022-02-14T16:22:10Z) - Programming Knowledge Tracing: A Comprehensive Dataset and A New Model [26.63441910982382]
本稿では,学生の行動予測の精度を高めるために,拡張された文脈を利用する新しいモデルPDKTを提案する。
プログラミング問題埋め込みのための二部グラフを構築し,コード埋め込みのための事前学習モデルPLCodeBERTを改良した。
新しいデータセットBePKTの実験結果から,提案モデルがプログラミング知識の追跡において最先端の性能を確立することを示す。
論文 参考訳(メタデータ) (2021-12-11T02:13:11Z) - Contrastive Learning for Source Code with Structural and Functional
Properties [66.10710134948478]
本稿では,ソースコードの特徴に基づいて事前学習に焦点を当てた,新たな自己教師型モデルBOOSTを提案する。
私たちは、機能的に等価なコードを生成する自動化された構造誘導型コード変換アルゴリズムを採用しています。
私たちは、対照的な学習目標を通じて、機能的に等価なコードをより近く、異なるコードに近づける方法で、モデルをトレーニングします。
論文 参考訳(メタデータ) (2021-10-08T02:56:43Z) - Software Vulnerability Detection via Deep Learning over Disaggregated
Code Graph Representation [57.92972327649165]
この研究は、コードコーパスから安全でないパターンを自動的に学習するためのディープラーニングアプローチを探求する。
コードには解析を伴うグラフ構造が自然に認められるため,プログラムの意味的文脈と構造的規則性の両方を利用する新しいグラフニューラルネットワーク(GNN)を開発する。
論文 参考訳(メタデータ) (2021-09-07T21:24:36Z) - CLSEBERT: Contrastive Learning for Syntax Enhanced Code Pre-Trained
Model [23.947178895479464]
CLSEBERTは,構文強化符号事前学習モデルのための構築学習フレームワークである。
事前学習段階では、抽象構文木(AST)に含まれるコード構文と階層について検討する。
ひとつは抽象構文木内のノード間のエッジを予測することであり、もう一つはコードトークンの型を予測することである。
論文 参考訳(メタデータ) (2021-08-10T10:08:21Z) - How could Neural Networks understand Programs? [67.4217527949013]
ソースコードにnlpプリトレーニング技術を直接適用するか、あるいはtheshelfによってモデルに機能を追加するかで、プログラムをより理解するためのモデルを構築するのは難しい。
本研究では,(1)操作セマンティクスの基本操作とよく一致する表現と(2)環境遷移の情報からなる情報から,モデルが学ぶべき新しいプログラムセマンティクス学習パラダイムを提案する。
論文 参考訳(メタデータ) (2021-05-10T12:21:42Z) - Deep Graph Matching and Searching for Semantic Code Retrieval [76.51445515611469]
本稿では,グラフニューラルネットワークに基づくエンドツーエンドのディープグラフマッチングと探索モデルを提案する。
まず、自然言語クエリテキストとプログラミング言語のコードスニペットをグラフ構造化データで表現する。
特に、DGMSは、個々のクエリテキストやコードスニペットのより構造的な情報をキャプチャするだけでなく、それらの微妙な類似性も学習する。
論文 参考訳(メタデータ) (2020-10-24T14:16:50Z) - GraphCodeBERT: Pre-training Code Representations with Data Flow [97.00641522327699]
本稿では,コード固有の構造を考慮したプログラミング言語の事前学習モデルであるGraphCodeBERTを提案する。
これは変数間の"where-the-value-comes-from"の関係をエンコードするコードのセマンティックレベルの構造です。
コード検索,クローン検出,コード翻訳,コード改良の4つのタスクにおいて,本モデルを評価する。
論文 参考訳(メタデータ) (2020-09-17T15:25:56Z) - Evaluating Logical Generalization in Graph Neural Networks [59.70452462833374]
グラフニューラルネットワーク(GNN)を用いた論理一般化の課題について検討する。
ベンチマークスイートであるGraphLogでは、学習アルゴリズムが異なる合成論理でルール誘導を実行する必要がある。
モデルが一般化し適応する能力は、トレーニング中に遭遇する論理規則の多様性によって強く決定される。
論文 参考訳(メタデータ) (2020-03-14T05:45:55Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。