論文の概要: Boosting Source Code Learning with Data Augmentation: An Empirical Study
- arxiv url: http://arxiv.org/abs/2303.06808v1
- Date: Mon, 13 Mar 2023 01:47:05 GMT
- ステータス: 処理完了
- システム内更新日: 2023-03-14 16:50:04.548079
- Title: Boosting Source Code Learning with Data Augmentation: An Empirical Study
- Title(参考訳): データ拡張によるソースコード学習の促進:実証的研究
- Authors: Zeming Dong, Qiang Hu, Yuejun Guo, Zhenya Zhang, Maxime Cordy, Mike
Papadakis, Yves Le Traon, Jianjun Zhao
- Abstract要約: 本研究では,もともとテキストやグラフに用いたデータ拡張手法が,ソースコード学習のトレーニング品質向上に有効かどうかを検討する。
この結果から,より正確でロバストなソースコード学習モデルを生成するデータ拡張手法が同定された。
- 参考スコア(独自算出の注目度): 16.49710700412084
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: The next era of program understanding is being propelled by the use of
machine learning to solve software problems. Recent studies have shown
surprising results of source code learning, which applies deep neural networks
(DNNs) to various critical software tasks, e.g., bug detection and clone
detection. This success can be greatly attributed to the utilization of massive
high-quality training data, and in practice, data augmentation, which is a
technique used to produce additional training data, has been widely adopted in
various domains, such as computer vision. However, in source code learning,
data augmentation has not been extensively studied, and existing practice is
limited to simple syntax-preserved methods, such as code refactoring.
Essentially, source code is often represented in two ways, namely, sequentially
as text data and structurally as graph data, when it is used as training data
in source code learning. Inspired by these analogy relations, we take an early
step to investigate whether data augmentation methods that are originally used
for text and graphs are effective in improving the training quality of source
code learning. To that end, we first collect and categorize data augmentation
methods in the literature. Second, we conduct a comprehensive empirical study
on four critical tasks and 11 DNN architectures to explore the effectiveness of
12 data augmentation methods (including code refactoring and 11 other methods
for text and graph data). Our results identify the data augmentation methods
that can produce more accurate and robust models for source code learning,
including those based on mixup (e.g., SenMixup for texts and Manifold-Mixup for
graphs), and those that slightly break the syntax of source code (e.g., random
swap and random deletion for texts).
- Abstract(参考訳): プログラム理解の次の時代は、ソフトウェア問題を解決するために機械学習を使用することによって推進されている。
近年の研究では、ディープニューラルネットワーク(DNN)を様々な重要なソフトウェアタスク、例えばバグ検出やクローン検出に適用するソースコード学習の驚くべき結果が示されている。
この成功は、大量の高品質なトレーニングデータの利用に大きく影響しており、実際には、追加のトレーニングデータを生成する技術であるデータ拡張は、コンピュータビジョンのような様々な領域で広く採用されている。
しかし、ソースコード学習においては、データ拡張は広く研究されておらず、既存のプラクティスはコードリファクタリングのような単純な構文保存メソッドに限られている。
基本的に、ソースコードは、ソースコード学習でトレーニングデータとして使用される場合、テキストデータとして順次、グラフデータとして構造的に2つの方法で表現されることが多い。
このようなアナロジー関係に触発されて,テキストやグラフにもともと使用されるデータ拡張手法が,ソースコード学習のトレーニング品質向上に有効であるかどうかを早期に検討する。
そこで我々はまず,文献におけるデータ拡張手法の収集と分類を行った。
次に、4つの重要なタスクと11のDNNアーキテクチャに関する総合的な実証的研究を行い、12のデータ拡張手法(コードリファクタリングや11のテキストおよびグラフデータを含む)の有効性について検討する。
この結果から、ミックスアップ(テキストのSenMixupやグラフのManifold-Mixupなど)や、ソースコードの構文(テキストのランダムスワップやランダム削除など)をわずかに損なうものなど、ソースコード学習のためのより正確で堅牢なモデルを生成することのできるデータ拡張手法を特定した。
関連論文リスト
- SIaM: Self-Improving Code-Assisted Mathematical Reasoning of Large Language Models [54.78329741186446]
本稿では,コードに基づく批判モデルを用いて,質問コードデータ構築,品質管理,補完的評価などのステップをガイドする新しいパラダイムを提案する。
英語と中国語におけるドメイン内ベンチマークとドメイン外ベンチマークの両方の実験は、提案したパラダイムの有効性を実証している。
論文 参考訳(メタデータ) (2024-08-28T06:33:03Z) - CodeGRAG: Bridging the Gap between Natural Language and Programming Language via Graphical Retrieval Augmented Generation [58.84212778960507]
我々は,LLMの性能を高めるため,グラフィカル検索拡張コード生成フレームワークであるCodeGRAGを提案する。
CodeGRAGは、制御フローとデータフローに基づいて、コードブロックのグラフィカルなビューを構築し、プログラミング言語と自然言語のギャップを埋める。
ハードメタグラフプロンプト、ソフトプロンプト技術、事前訓練されたGNN専門家の目的の有効性を検証するために、C++言語とピソン言語の両方を含む4つのデータセットで様々な実験と改善が行われた。
論文 参考訳(メタデータ) (2024-05-03T02:48:55Z) - Enhancing Source Code Representations for Deep Learning with Static
Analysis [10.222207222039048]
本稿では,静的解析とバグレポートやデザインパターンなどのコンテキストを,ディープラーニングモデルのためのソースコード表現に統合する方法について検討する。
我々はASTNN(Abstract Syntax Tree-based Neural Network)法を用いて,バグレポートやデザインパターンから得られたコンテキスト情報を追加して拡張する。
提案手法はソースコードの表現と処理を改善し,タスク性能を向上させる。
論文 参考訳(メタデータ) (2024-02-14T20:17:04Z) - Source Code Data Augmentation for Deep Learning: A Survey [32.035973285175075]
ソースコードに対するデータ拡張に関する包括的調査を行う。
DAの品質を最適化するための一般的な戦略とテクニックを強調します。
今後の研究の課題と可能性について概説する。
論文 参考訳(メタデータ) (2023-05-31T14:47:44Z) - Exploring Representation-Level Augmentation for Code Search [50.94201167562845]
我々は、データ処理やトレーニングを必要としない表現レベルでデータ(コードとクエリの両方)を増強する拡張手法について検討する。
大規模公開データセット上で,最先端のコード検索モデルを用いた表現レベル向上手法を実験的に評価した。
論文 参考訳(メタデータ) (2022-10-21T22:47:37Z) - Adding Context to Source Code Representations for Deep Learning [13.676416860721877]
我々は、ディープラーニングモデルが分析対象のコードに関する追加のコンテキスト情報にアクセスできることは有益であると主張している。
本稿では,コード自体の情報とともに,コール階層からコンテキストを符号化することで,最先端のディープラーニングモデルの性能を向上できることを示す。
論文 参考訳(メタデータ) (2022-07-30T12:47:32Z) - Enhancing Semantic Code Search with Multimodal Contrastive Learning and
Soft Data Augmentation [50.14232079160476]
コード検索のためのマルチモーダルコントラスト学習とソフトデータ拡張を用いた新しい手法を提案する。
我々は,6つのプログラミング言語を用いた大規模データセットにおけるアプローチの有効性を評価するために,広範囲な実験を行った。
論文 参考訳(メタデータ) (2022-04-07T08:49:27Z) - Reinforced Iterative Knowledge Distillation for Cross-Lingual Named
Entity Recognition [54.92161571089808]
言語間NERは、知識をリッチリソース言語から低リソース言語に転送する。
既存の言語間NERメソッドは、ターゲット言語でリッチなラベル付けされていないデータをうまく利用しない。
半教師付き学習と強化学習のアイデアに基づく新しいアプローチを開発する。
論文 参考訳(メタデータ) (2021-06-01T05:46:22Z) - Improved Code Summarization via a Graph Neural Network [96.03715569092523]
一般に、ソースコード要約技術はソースコードを入力として使用し、自然言語記述を出力する。
これらの要約を生成するために、ASTのデフォルト構造によくマッチするグラフベースのニューラルアーキテクチャを使用するアプローチを提案する。
論文 参考訳(メタデータ) (2020-04-06T17:36:42Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。