論文の概要: CodeSAM: Source Code Representation Learning by Infusing Self-Attention with Multi-Code-View Graphs
- arxiv url: http://arxiv.org/abs/2411.14611v1
- Date: Thu, 21 Nov 2024 22:24:47 GMT
- ステータス: 翻訳完了
- システム内更新日: 2024-11-25 15:04:20.578399
- Title: CodeSAM: Source Code Representation Learning by Infusing Self-Attention with Multi-Code-View Graphs
- Title(参考訳): CodeSAM:マルチコードビューグラフによる自己認識によるソースコード表現学習
- Authors: Alex Mathai, Kranthi Sedamaki, Debeshee Das, Noble Saji Mathews, Srikanth Tamilselvam, Sridhar Chimalakonda, Atul Kumar,
- Abstract要約: 我々は,複数のコードビューをトランスフォーマーベースモデルに注入する新しいフレームワークであるCodeSAMを提案する。
CodeSAMを使って、セマンティックコード検索、コードクローン検出、プログラム分類の下流SEタスクでCodeBERTのような小さな言語モデル(SLM)を微調整します。
- 参考スコア(独自算出の注目度): 8.850533100643547
- License:
- Abstract: Machine Learning (ML) for software engineering (SE) has gained prominence due to its ability to significantly enhance the performance of various SE applications. This progress is largely attributed to the development of generalizable source code representations that effectively capture the syntactic and semantic characteristics of code. In recent years, pre-trained transformer-based models, inspired by natural language processing (NLP), have shown remarkable success in SE tasks. However, source code contains structural and semantic properties embedded within its grammar, which can be extracted from structured code-views like the Abstract Syntax Tree (AST), Data-Flow Graph (DFG), and Control-Flow Graph (CFG). These code-views can complement NLP techniques, further improving SE tasks. Unfortunately, there are no flexible frameworks to infuse arbitrary code-views into existing transformer-based models effectively. Therefore, in this work, we propose CodeSAM, a novel scalable framework to infuse multiple code-views into transformer-based models by creating self-attention masks. We use CodeSAM to fine-tune a small language model (SLM) like CodeBERT on the downstream SE tasks of semantic code search, code clone detection, and program classification. Experimental results show that by using this technique, we improve downstream performance when compared to SLMs like GraphCodeBERT and CodeBERT on all three tasks by utilizing individual code-views or a combination of code-views during fine-tuning. We believe that these results are indicative that techniques like CodeSAM can help create compact yet performant code SLMs that fit in resource constrained settings.
- Abstract(参考訳): ソフトウェア工学(SE)のための機械学習(ML)は、様々なSEアプリケーションの性能を大幅に向上させる能力によって、注目を集めている。
この進歩は、コードの構文的および意味的特性を効果的に捉えた、一般化可能なソースコード表現の開発によるところが大きい。
近年,自然言語処理(NLP)に触発された事前学習型トランスフォーマーモデルが,SEタスクにおいて顕著な成功を収めている。
しかし、ソースコードには文法に埋め込まれた構造的・意味的な性質が含まれており、抽象構文木(AST)、データフローグラフ(DFG)、制御フローグラフ(CFG)といった構造化コードビューから抽出することができる。
これらのコードビューはNLP技術を補完し、SEタスクをさらに改善する。
残念ながら、任意のコードビューを既存のトランスフォーマーベースのモデルに効果的に注入する柔軟なフレームワークはありません。
そこで本研究では,複数のコードビューをトランスフォーマーベースモデルに注入するスケーラブルなフレームワークであるCodeSAMを提案する。
CodeSAMを使って、セマンティックコード検索、コードクローン検出、プログラム分類の下流SEタスクでCodeBERTのような小さな言語モデル(SLM)を微調整します。
実験の結果、この手法を用いることで、個々のコードビューや微調整中のコードビューの組み合わせを利用して、GraphCodeBERTやCodeBERTのような3つのタスクのSLMと比較して、ダウンストリーム性能が向上することが示された。
これらの結果は、CodeSAMのような技術が、リソースの制約された設定に適合するコンパクトで高性能なコードSLMを作成するのに役立ちます。
関連論文リスト
- An Empirical Study on Capability of Large Language Models in Understanding Code Semantics [4.638578225024275]
コードのための大規模言語モデル(コードLLM)は、様々なソフトウェア工学(SE)タスクで顕著なパフォーマンスを示している。
本稿では,コード意味論の理解におけるLLMの能力を評価するためのフレームワークであるEMPICAを紹介する。
論文 参考訳(メタデータ) (2024-07-04T03:40:58Z) - AlchemistCoder: Harmonizing and Eliciting Code Capability by Hindsight Tuning on Multi-source Data [64.69872638349922]
本稿では、マルチソースデータに微調整されたコード生成と一般化機能を備えたコードLLMのシリーズであるAlchemistCoderを紹介する。
本稿では,データ構築過程を微調整データに組み込んで,命令の進化,データフィルタリング,コードレビューなどのコード理解タスクを提案する。
論文 参考訳(メタデータ) (2024-05-29T16:57:33Z) - TransformCode: A Contrastive Learning Framework for Code Embedding via Subtree Transformation [9.477734501499274]
コード埋め込みを対照的な学習方法で学習する新しいフレームワークであるTransformCodeを提案する。
我々のフレームワークはエンコーダに依存しない言語に依存しないので、どんなエンコーダモデルでも活用でき、どんなプログラミング言語でも扱える。
論文 参考訳(メタデータ) (2023-11-10T09:05:23Z) - Bridging Code Semantic and LLMs: Semantic Chain-of-Thought Prompting for
Code Generation [22.219645213202178]
本稿では,SeCoT というコードの意味情報を抽出する "Semantic Chain-of-Thought" 手法を提案する。
本研究では,SeCoTが最先端の性能を実現し,大規模モデルやコード生成の可能性を大幅に向上させることを示す。
論文 参考訳(メタデータ) (2023-10-16T05:09:58Z) - CodeT5+: Open Code Large Language Models for Code Understanding and
Generation [72.1638273937025]
大きな言語モデル (LLM) は膨大なソースコードで事前訓練されており、コードインテリジェンスにおいて顕著な進歩を遂げている。
CodeT5+は、コンポーネントモジュールを柔軟に組み合わせて、幅広い下流のコードタスクに適合させることができるコードのためのエンコーダ-デコーダLLMのファミリーである。
我々は、ゼロショット、微調整、命令調整を含む20以上のコード関連ベンチマークでCodeT5+を広範囲に評価した。
論文 参考訳(メタデータ) (2023-05-13T14:23:07Z) - Enhancing Semantic Code Search with Multimodal Contrastive Learning and
Soft Data Augmentation [50.14232079160476]
コード検索のためのマルチモーダルコントラスト学習とソフトデータ拡張を用いた新しい手法を提案する。
我々は,6つのプログラミング言語を用いた大規模データセットにおけるアプローチの有効性を評価するために,広範囲な実験を行った。
論文 参考訳(メタデータ) (2022-04-07T08:49:27Z) - UniXcoder: Unified Cross-Modal Pre-training for Code Representation [65.6846553962117]
プログラミング言語のためのクロスモーダル事前学習モデルUniXcoderを提案する。
木の構造情報を全て保持するシーケンス構造でASTを変換する1対1のマッピング手法を提案する。
我々は,UniXcoderを9つのデータセット上で5つのコード関連タスクで評価する。
論文 参考訳(メタデータ) (2022-03-08T04:48:07Z) - Contrastive Learning for Source Code with Structural and Functional
Properties [66.10710134948478]
本稿では,ソースコードの特徴に基づいて事前学習に焦点を当てた,新たな自己教師型モデルBOOSTを提案する。
私たちは、機能的に等価なコードを生成する自動化された構造誘導型コード変換アルゴリズムを採用しています。
私たちは、対照的な学習目標を通じて、機能的に等価なコードをより近く、異なるコードに近づける方法で、モデルをトレーニングします。
論文 参考訳(メタデータ) (2021-10-08T02:56:43Z) - GraphCodeBERT: Pre-training Code Representations with Data Flow [97.00641522327699]
本稿では,コード固有の構造を考慮したプログラミング言語の事前学習モデルであるGraphCodeBERTを提案する。
これは変数間の"where-the-value-comes-from"の関係をエンコードするコードのセマンティックレベルの構造です。
コード検索,クローン検出,コード翻訳,コード改良の4つのタスクにおいて,本モデルを評価する。
論文 参考訳(メタデータ) (2020-09-17T15:25:56Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。