論文の概要: Code Representation Pre-training with Complements from Program
Executions
- arxiv url: http://arxiv.org/abs/2309.09980v1
- Date: Mon, 4 Sep 2023 01:57:22 GMT
- ステータス: 処理完了
- システム内更新日: 2023-09-24 04:06:45.924310
- Title: Code Representation Pre-training with Complements from Program
Executions
- Title(参考訳): プログラム実行からの補足によるコード表現事前学習
- Authors: Jiabo Huang, Jianyu Zhao, Yuyang Rong, Yiwen Guo, Yifeng He, Hao Chen
- Abstract要約: テストケースで明らかになったプログラムの動的情報を調べ,それを補体としてコードの特徴表現に埋め込むために,FuzzPretrainを提案する。
FuzzyPretrainは、ソースコードやASTのみをトレーニングしたコード検索に対して、6%/9%のmAP改善を実現した。
- 参考スコア(独自算出の注目度): 29.148208436656216
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Large language models (LLMs) for natural language processing have been
grafted onto programming language modeling for advancing code intelligence.
Although it can be represented in the text format, code is syntactically more
rigorous in order to be properly compiled or interpreted to perform a desired
set of behaviors given any inputs. In this case, existing works benefit from
syntactic representations to learn from code less ambiguously in the forms of
abstract syntax tree, control-flow graph, etc. However, programs with the same
purpose can be implemented in various ways showing different syntactic
representations while the ones with similar implementations can have distinct
behaviors. Though trivially demonstrated during executions, such semantics
about functionality are challenging to be learned directly from code,
especially in an unsupervised manner. Hence, in this paper, we propose
FuzzPretrain to explore the dynamic information of programs revealed by their
test cases and embed it into the feature representations of code as
complements. The test cases are obtained with the assistance of a customized
fuzzer and are only required during pre-training. FuzzPretrain yielded more
than 6%/9% mAP improvements on code search over its counterparts trained with
only source code or AST, respectively. Our extensive experimental results show
the benefits of learning discriminative code representations with program
executions.
- Abstract(参考訳): 自然言語処理のための大規模言語モデル(LLM)は、コードインテリジェンスを向上するためのプログラミング言語モデリングに移植されている。
テキスト形式で表現できるが、コードは構文上より厳密で、適切にコンパイルされたり解釈されたりして、任意の入力に対して望ましい振る舞いを実行することができる。
この場合、既存の作品は抽象構文木や制御フローグラフなどの形で曖昧さのないコードから学ぶための構文表現の恩恵を受けます。
しかし、同じ目的のプログラムは、異なる構文表現を示す様々な方法で実装できるが、類似のプログラムは異なる振る舞いを持つことができる。
実行中に簡単に示されるが、機能に関するこのような意味論は、特に教師なしの方法で、コードから直接学ぶことは困難である。
そこで本稿では,テストケースで明らかにされるプログラムの動的情報を探索し,補完としてコードの特徴表現に組み込むため,fuzzpretrainを提案する。
テストケースはカスタマイズされたファザーの助けを借りて入手され、事前トレーニング中にのみ必要となる。
FuzzPretrainは、ソースコードとASTのみをトレーニングしたコード検索に対して、6%/9%以上のmAP改善を実現した。
広範な実験結果から,プログラム実行による識別的コード表現の学習の利点が示された。
関連論文リスト
- Abstract Syntax Tree for Programming Language Understanding and
Representation: How Far Are We? [23.52632194060246]
プログラミング言語の理解と表現(コード表現学習)は、ソフトウェア工学において常にホットで挑戦的なタスクである。
抽象構文木(AST)は、ソースコードの構文情報を表現し、コード表現学習で広く使われている。
コードトークンシーケンス(略してToken)ベースのコード表現とASTベースのコード表現でトレーニングされた3種類のコード関連タスクのパフォーマンスを比較した。
論文 参考訳(メタデータ) (2023-12-01T08:37:27Z) - Understanding Programs by Exploiting (Fuzzing) Test Cases [26.8259045248779]
プログラムのより深い意味理解を実現するために,入力と出力/振る舞いの関係を学習に取り入れることを提案する。
コードの大部分の実行をトリガーするのに十分な入力を得るために,ファズテストを採用し,ファズチューニングを提案する。
提案手法の有効性は,コードクローン検出とコード分類を含む2つのプログラム理解タスクにおいて検証され,最先端技術よりも大きなマージンで優れている。
論文 参考訳(メタデータ) (2023-05-23T01:51:46Z) - Prompting with Pseudo-Code Instructions [12.166296720125187]
我々は、分類、QA、生成言語タスクにまたがる132のタスクに対して、擬似コードプロンプトのデータセットを作成する。
これらのプロンプトと自然言語の対応を利用して, BLOOM と CodeGen の2つの LLM ファミリ上での性能について検討する。
実験の結果, 擬似符号命令を用いることで, 分類作業におけるF1得点の平均7~16ポイント, ROUGE-L得点の12~38%の増加(絶対値)が得られた。
論文 参考訳(メタデータ) (2023-05-19T16:25:01Z) - Code Execution with Pre-trained Language Models [88.04688617516827]
コードインテリジェンスのトレーニング済みモデルのほとんどは実行トレースを無視しており、ソースコードと構文構造のみに依存している。
我々は,大規模かつ現実的なPythonデータセットとコード実行タスクを作成するために,突然変異に基づくデータ拡張手法を開発した。
次に、コード実行事前学習とカリキュラム学習を活用して意味理解を強化するトランスフォーマーモデルであるCodeExecutorを提案する。
論文 参考訳(メタデータ) (2023-05-08T10:00:05Z) - Benchmarking Language Models for Code Syntax Understanding [79.11525961219591]
事前学習された言語モデルは、自然言語処理とプログラム理解の両方において素晴らしい性能を示している。
本研究では,プログラムの構文構造を特定するための,最先端の事前訓練モデルの最初の徹底的なベンチマークを行う。
この結果から,既存のプログラミング言語の事前学習手法の限界が指摘され,構文構造をモデル化することの重要性が示唆された。
論文 参考訳(メタデータ) (2022-10-26T04:47:18Z) - Soft-Labeled Contrastive Pre-training for Function-level Code
Representation [127.71430696347174]
textbfSoft-labeled contrastive pre-training framework with two positive sample construction method。
大規模コードコーパスにおけるコード間の関連性を考慮すると、ソフトラベル付きコントラスト付き事前学習は、きめ細かいソフトラベルを得ることができる。
SCodeRは、7つのデータセットで4つのコード関連タスクに対して、最先端のパフォーマンスを新たに達成する。
論文 参考訳(メタデータ) (2022-10-18T05:17:37Z) - 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) - CLSEBERT: Contrastive Learning for Syntax Enhanced Code Pre-Trained
Model [23.947178895479464]
CLSEBERTは,構文強化符号事前学習モデルのための構築学習フレームワークである。
事前学習段階では、抽象構文木(AST)に含まれるコード構文と階層について検討する。
ひとつは抽象構文木内のノード間のエッジを予測することであり、もう一つはコードトークンの型を予測することである。
論文 参考訳(メタデータ) (2021-08-10T10:08:21Z) - Representing Partial Programs with Blended Abstract Semantics [62.20775388513027]
プログラム合成エンジンにおける部分的なプログラム表現手法について紹介する。
モジュラーニューラルネットワークとして実装された近似実行モデルを学ぶ。
これらのハイブリッドニューロシンボリック表現は、実行誘導型シンセサイザーがより強力な言語構成を使うことができることを示す。
論文 参考訳(メタデータ) (2020-12-23T20:40:18Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。