ソースコードモデルのデータ増強アプローチ
あなたの論文を追加したい場合は、私たちにメールしないでください。代わりに、新しいエントリを追加するためにプロトコルを読んで、プルリクエストを送信してください。
コード著者の帰属、クローン検出、欠陥検出と修理、コードの要約、コード検索、コード翻訳、コード翻訳、コード質問、問題分類、メソッド名の予測、およびタイプ予測で論文をグループ化します。
このリポジトリは、私たちの論文、深い学習のためのソースコードデータ増強:調査に基づいています。次のように引用できます。
@article{zhuo2023source,
title={Source Code Data Augmentation for Deep Learning: A Survey},
author={Terry Yue Zhuo and Zhou Yang and Zhensu Sun and Yufei Wang and Li Li and Xiaoning Du and Zhenchang Xing and David Lo},
year={2023},
eprint={2305.19915},
archivePrefix={arXiv},
primaryClass={cs.CL}
}
著者:Terry Yue Zhuo、Zhou Yang、Zhensu Sun、Yufei Wang、Li Li、Xiaoning Du、Zhenchang Xing、David Lo
注:WIP。調査用紙からこのレポジトリにすぐに追加されます。お問い合わせは、[email protected]に送信するか、ここで問題を開くことを行う必要があります。
コード著者の帰属
| 紙 | 評価データセット |
|---|
| コードの事前に訓練されたモデルの自然攻撃(ICSE'22) | GCJ |
| Ropgen:自動コーディングスタイル変換による堅牢なコード著者の帰属に向けて(ICSE'22) | GCJ、Github |
| データ増強によるソースコード学習の向上(arxiv'23) | GCJ |
| コードの違いガイド付き敵の例ディープコードモデルの生成ase'23 | GCJ |
クローン検出
| 紙 | データセット |
|---|
| 対照的なコード表現学習(EMNLP'22) | JavaScript(紙固有) |
| プログラム変換によるデータ増強(JSS'22) | BCB |
| コードの事前に訓練されたモデルの自然攻撃(ICSE'22) | bigclonebench |
| 神経プログラムの埋め込みを強化するためにコンパイラ中間表現の力を解き放つ(ICSE'22) | POJ-104、GCJ |
| HELOC:ソースコード表現の階層対照学習(ICPC'22) | GCJ、ojclone |
| コンボ:対照学習を使用したバイナリコードのトレーニング前表現(arxiv'22) | binarycorp-3m |
| コードクローン検出のためのさまざまなコード表現による対照学習の評価(arxiv'22) | POJ-104、codeforces |
| 学習(DIS) - プログラムのコントラストからのソースコードの類似性(ACL'22) | POJ-104、bigclonebench |
| REACC:検索されたコード完了フレームワーク(ACL'22) | コードネット |
| ソースコード理解のための事前に訓練されたモデルと下流タスクを橋渡しする(ICSE'22) | POJ-104 |
| データ増強によるソースコード学習の向上:実証研究(arxiv'23) | bigclonebench |
| Clawsat:堅牢性と正確なコードモデルの両方に向けて(Saner'22) | --- |
| Contrabert:コントラスト学習を介してコード事前訓練モデルの強化(ICSE'22) | POJ-104 |
| 言語間クローン検出のためのトランスコンピラーベースのデータ増強を活用するための経路(ICPC'23) | clcdsa |
| コードの違いガイド付き敵対的な例のディープコードモデルの生成(ASE'23 | bigclonebench |
| マルチモーダル対照学習に基づくコード表現を強化するためのトレーニング前の方法(JOS'23) | POJ-104、bigclonebench |
| CONCORD:ソースコードのクローン認識対照学習(ISSTA'23) | Codenet(Java)、POJ104 |
| 言語間の中間表現でクローニングするニューロシンボリックゼロショットコード(arxiv'23) | codenet(c、cobol) |
| コード事前トレーニングモデルのマルチターゲットバックドア攻撃(ACL'23) | BCB |
欠陥の検出と修復
| 紙 | データセット |
|---|
| コードモデルの敵対例(OOPSLA'20) | varmisuse |
| 自己教師のバグの検出と修復(Neurips'21) | Randombugs、Pypibugs |
| セマンティックプレゼント敵対的なコードの理解(Coling'22) | 欠陥4J |
| ソフトウェアの脆弱性検出のためのコントラスト学習を介して、パスに敏感なコード埋め込み(ISSTA'22) | D2a、ファン、逸脱 |
| コードの事前に訓練されたモデルの自然攻撃(ICSE'22) | 逸脱します |
| コンボ:対照学習を使用したバイナリコードのトレーニング前表現(arxiv'22) | sysevr |
| 学習(DIS) - プログラムのコントラストからのソースコードの類似性(ACL'22) | 明らかに、Codexglue |
| データ増強によるソースコード学習の向上:実証研究(arxiv'23) | Refactory、codrep1 |
| ミックスコード:混合ベースのデータ増強によるコード分類の強化(Saner'23) | Refactory、codrep1 |
| Contrabert:コントラスト学習を介してコード事前訓練モデルを強化する(ICSE'23) | 逸脱します |
| コードの違いガイド付き敵対的な例ディープコードモデルの生成(ASE'23) | Devign、Codechef |
| Mufin:逆翻訳による神経修復モデルの改善(arxiv'23) | defects4j(紙固有)、quixbugs(紙固有) |
| 説明可能な自動プログラム修復のための因果推論を活用する(IJCNN'22) | defects4j、quixbugs、bugaid |
| DeepDebug:スタックトレース、バック翻訳、およびコードスケルトンを使用してPythonバグを修正(Arxiv'21) | 紙固有 |
| break-it-fix-it:プログラム修理のための教師なし学習(arxiv'21) | 紙固有のディープフィックス |
| コード事前トレーニングモデルのマルチターゲットバックドア攻撃(ACL'23) | 逸脱します。 bug2fix |
| Imperfix:検索プロンプトを介したLLMSによるエンドツーエンドのプログラムの修復(arxiv'23) | 推測bugs |
| RAP-GEN:自動プログラム修理用のCODET5を使用した検索パッチ生成(FSE'23) | tfix、bug2fix、defects4j |
| バグレポートが少なすぎますか?改善された変更のためのデータ増強の調査セットベースのバグローカリゼーション(arxiv'23) | 遺伝子座データ |
コード要約
| 紙 | データセット |
|---|
| データ増強を介したディープコードのコメント生成モデルのトレーニング(インターネットウェア20) | TL-Codesum |
| 検索ベースのニューラルソースコード要約(ICSE'20) | PCSD、JCSD |
| 最適化された難読化を使用した敵対的なコンピュータープログラムの生成(ICLR'21) | Python-150K、code2seqデータ |
| 対照的なコード表現学習(EMNLP'21) | JavaScript(紙固有) |
| ソースコード埋め込みの深いニューラルネットワークのための検索ベースのテストフレームワーク(ICST'21) | 紙固有 |
| ハイブリッドGNNを介したコード要約のための検索された生成(ICLR'21) | CCSD(紙固有) |
| bashexplainer:微調整されたCodebert(ICMSE'22)に基づく検索された補助バッシュコードコメント生成 | bashexplanerデータ |
| プログラム変換によるデータ増強(JSS'22) | ディープコム |
| ディープコードのコメント生成の敵対的な堅牢性(Tosem'22) | CCSD(紙固有) |
| 十分なデータがありませんか?コード要約のための簡単なデータ増強(PAAP'22) | --- |
| ソースコードのモデルの意味的堅牢性(Saner'22) | Python-150K、code2seqデータ |
| コード変換を通じてトランスベースのコードインテリジェンスを詳しく調べる:課題と機会(arxiv'22) | CodeSearchNet(Python、Java) |
| Clawsat:堅牢性と正確なコードモデルの両方に向けて(Saner'23) | --- |
| コード生成タスクのデータ増強の調査(EACL'23) | CodeSearchNet(Codexglue) |
| データ増強とセマンティックアウェアコードバート(arxiv'23)を介したバッシュコメント生成 | bashexplanerデータ |
| Readsum:ソースコードの要約のための検索された高級適応トランス(Access'23) | PCSD |
| TRAM:ソースコード要約のためのトークンレベルの検索メカニズム(ARXIV'23) | PCSD、CCSD、Deepcom |
| 1つの石を持つ2羽の鳥:生成的敵対的ネットワークを介したコード生成とコード検索の向上(OOPSLA'23) | CodeSearchNet(Python、Java) |
| 自己改善によるコードのより良い言語モデル(ACL'23) | CodeSearchNet |
コード検索
| 紙 | データセット |
|---|
| 拡張コード:コード検索モデル(ARXIV'21)における自然言語リソースの効果を調べる | CodeSearchNet |
| cosqa:コード検索と質問の回答のための20、000以上のWebクエリ(ACL'21) | cosqa |
| ソースコード埋め込みの深いニューラルネットワークのための検索ベースのテストフレームワーク(ICST'21) | 紙固有 |
| セマンティックプレゼント敵対的なコードの理解(Coling'22) | CodeSearchNet |
| コード検索のための表現レベルの拡張の探索(emnlp'22) | CodeSearchNet |
| コード検索のためのクロスモーダル対照学習(ICSME'22) | Advtest、cosqa |
| ソースコード理解のための事前に訓練されたモデルと下流タスクを橋渡しする(ICSE'22) | CodeSearchNet |
| コード変換を通じてトランスベースのコードインテリジェンスを詳しく調べる:課題と機会(arxiv'22) | CodeSearchNet(Python、Java) |
| Contrabert:コントラスト学習を介してコード事前訓練モデルを強化する(ICSE'23) | Advtest、WebQueryTest |
| Cocosoda:コード検索の効果的な対照学習(ICSE'23) | CodeSearchNet |
| コード検索およびコード質問の質問のためのキーワードベースのデータ増強による対照学習(EACL'23) | WebQueryTest |
| マルチモーダル対照学習に基づくコード表現を強化するためのトレーニング前の方法(JOS'23) | CodeSearchNet |
| コード検索でネガティブペアを再考する(emnlp'23) | CodeSearchNet |
| 通過するコントラスト学習を通じてより良い多言語コード検索に向けて(インターネットウェア23) | xlcost |
| McOdeAcher:コード検索のマルチビューコントラスト学習(InternetWare'23) | CodeSearchNet(Python、Java)、COSQA、STAQC、WebQuery |
| MULCS:多言語コード検索のための統一された深い表現に向けて(Saner'23) | CodeSearchNet(Python、Java)、紙固有 |
| 1つの石を持つ2羽の鳥:生成的敵対的ネットワークを介したコード生成とコード検索の向上(OOPSLA'23) | CodeSearchNet(Python、Java) |
コードの完了
| 紙 | データセット |
|---|
| グラフを使用した生成コードモデリング(ICLR'19) | Exprgenデータ(紙固有) |
| プログラム合成モデルの敵対的堅牢性(APLANS'21) | algolisp |
| REACC:検索されたコード完了フレームワーク(ACL'22) | Py150(Codexglue)、Githhub Java(Codexglue) |
| 神経コード生成のための機能的に同等のコード変換を伴うテスト駆動型マルチタスク学習(ASE'22) | MBPP |
| 神経コード生成において優れたメソッド名はどれほど重要ですか?モデルの堅牢性の視点(arxiv'22) | 洗練されたconcode、洗練されたpytorrent |
| コード変換を通じてトランスベースのコードインテリジェンスを詳しく調べる:課題と機会(arxiv'22) | CodeSearchNet(Python、Java) |
| レコード:コード生成モデルの堅牢性評価(ACL'23) | Humanval、Mbpp |
| Clawsat:堅牢性と正確なコードモデルの両方に向けて(Saner'23) | --- |
| コード関連の少数の学習のための検索ベースのプロンプト選択(ICSE'23) | アトラス、tfix |
| Rustgen:大規模な言語モデルを使用してまとめ可能なRustコードを生成するための増強アプローチ(DeployableGenerativeai'23) | 紙固有 |
| コード事前トレーニングモデルのマルチターゲットバックドア攻撃(ACL'23) | Githhub Java(Codexglue) |
| 言語モデルと分離されたドメインデータベースを介したドメイン適応コードの完了(ASE'23) | 紙固有 |
| APICOM:迅速な学習と敵対的なトレーニングベースのデータ増強による自動API完了(インターネットウェア23) | 紙固有 |
| 神経コード生成のための機能的に同等のコード変換を伴うテスト駆動型マルチタスク学習(ASE'22) | MBPP |
| 自己改善によるコードのより良い言語モデル(ACL'23) | コンコード |
コード翻訳
| 紙 | データセット |
|---|
| 教師なしコード翻訳のための自動化された単体テストの活用(ICLR'23) | 紙のように |
| コード生成タスクのデータ増強の調査(EACL'23) | CodeTrans(Codexglue) |
| 逆翻訳するために要約して生成:プログラミング言語の監視されていない翻訳(EACL'23) | トランスコダーデータ |
| Contrabert:コントラスト学習を介してコード事前訓練モデルを強化する(ICSE'23) | CodeTrans(Codexglue) |
| コンパイラ表現付きのコード翻訳(ICLR'23) | トランスコダーデータ |
| 比較可能なコーパスと複数の参照によるコード翻訳のデータ増強(emnlp'23) | トランスコダーデータ |
| コード翻訳のための事前訓練されたモデルの構文的な敵対的堅牢性の評価と改善(arxiv'23) | アバター |
| コード事前トレーニングモデルのマルチターゲットバックドア攻撃(ACL'23) | トランスコダーデータ |
コード質問応答
| 紙 | データセット |
|---|
| cosqa:コード検索と質問の回答のための20、000以上のWebクエリ(ACL'21) | cosqa |
| セマンティックプレゼント敵対的なコードの理解(Coling'22) | codeqa |
| コード検索およびコード質問の質問のためのキーワードベースのデータ増強による対照学習(EACL'23) | cosqa |
| McOdeAcher:コード検索のマルチビューコントラスト学習(InternetWare'23) | WebQuery(紙固有) |
コード分類
| 紙 | データセット |
|---|
| ソースコード処理モデルの堅牢性を保持するための敵対例を生成する(AAAI'20) | OJ |
| Qラーニングベースのマルコフ決定プロセス(QRS'21)を介したソースコード分類モデルの敵対例を生成する | OJ |
| HELOC:ソースコード表現の階層対照学習(ICPC'22) | GCJ、OJ |
| コンボ:対照学習を使用したバイナリコードのトレーニング前表現(arxiv'22) | POJ-104(Codexglue) |
| ソースコード理解のための事前に訓練されたモデルと下流タスクを橋渡しする(ICSE'22) | POJ-104 |
| データ増強によるソースコード学習の向上:実証研究(arxiv'23) | Java250、Python800 |
| ミックスコード:混合ベースのデータ増強によるコード分類の強化(Saner'23) | Java250、Python800 |
| コードの違いガイド付き敵対的な例ディープコードモデルの生成(ASE'23) | GCJ |
| マルチクラスコードの読みやすさの分類をサポートするための拡張データ増強アプローチ(SEKE'22) | 紙固有 |
| データ増強アプローチを強化したマルチクラスコードの読みやすさの分類(130)(International Journal of Software Engineering and Knowledge Engineering) | 紙固有 |
メソッド名の予測
| 紙 | データセット |
|---|
| コードモデルの敵対例(OOPSLA'20) | code2vec |
| ソースコード埋め込みの深いニューラルネットワークのための検索ベースのテストフレームワーク(ICST'21) | 紙固有 |
| セマンティックプレゼントプログラム変換に関するニューラルプログラムモデルの一般化可能性(IST'21) | code2seq |
| プログラム変換によるデータ増強(JSS'22) | code2vec |
| コードモデルへの個別の敵対攻撃(PLDI'23) | code2vec |
タイプ予測
| 紙 | データセット |
|---|
| コードの敵対的堅牢性(ICML'21) | Deeptyper |
| 対照的なコード表現学習(EMNLP'21) | Deeptyper |
| 統計型推論のための横断転送学習(ISSTA'22) | Deeptyper、Typilus(Python)、CodeSearchNet(Java) |
了承
Steven Y. Fengなどに感謝します。 data aug4nlpのオープンソースペーパーリスト。