أساليب زيادة البيانات لنماذج الكود المصدر
إذا كنت ترغب في إضافة ورقتك ، فلا ترسلنا بالبريد الإلكتروني. بدلاً من ذلك ، اقرأ البروتوكول لإضافة إدخال جديد وإرسال طلب سحب.
نقوم بتجميع الأوراق حسب رمز الإسناد ، الكشف عن الاستنساخ ، الكشف عن العيوب وإصلاحه ، تلخيص الكود ، البحث عن الكود ، إكمال الكود ، ترجمة الكود ، الإجابة على أسئلة الكود ، تصنيف المشكلات ، التنبؤ بأسماء الطريقة ، ونوع التنبؤ.
يعتمد هذا المستودع على الورقة ، وزيادة بيانات رمز المصدر للتعلم العميق: دراسة استقصائية. يمكنك الاستشهاد بها على النحو التالي:
@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}
}
المؤلفون: تيري يوي تشو ، تشو يانغ ، تشينسو صن ، يوفي وانغ ، لي لي ، شياوينج دو ، تشنغ شينغ ، ديفيد لو
ملاحظة: WIP. سيتم إضافة المزيد من الأوراق من ورقة الاستقصاء الخاصة بنا إلى هذا الريبو قريبًا. يجب توجيه الاستفسارات إلى [email protected] أو عن طريق فتح مشكلة هنا.
كود تأليف إسناد
| ورق | مجموعات بيانات التقييم |
|---|
| الهجوم الطبيعي لنماذج الكود المدربة مسبقًا (ICSE'22) | GCJ |
| Ropgen: نحو إسناد تأليف رمز قوي عبر تحويل نمط الترميز التلقائي (ICSE'22) | GCJ ، جيثب |
| تعزيز تعلم رمز المصدر مع زيادة البيانات (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) | Codenet |
| سد النماذج التي تم تدريبها مسبقًا ومهام المصب لفهم شفرة المصدر (ICSE'22) | POJ-104 |
| تعزيز تعلم الكود المصدر مع زيادة البيانات: دراسة تجريبية (ARXIV'23) | bigcloneBench |
| Clawsat: نحو كل من نماذج الكود القوية والدقيقة (Saner'22) | --- |
| Contrabert: تعزيز النماذج المدربة قبل الكود عبر التعلم التباين (ICSE'22) | POJ-104 |
| مسارات للاستفادة من زيادة البيانات المستندة إلى TransCompiler للكشف عن استنساخ اللغات (ICPC'23) | CLCDSA |
| الفرق الكود الموجهة مثال العدواني الجيل لنماذج الكود العميق (ASE'23 | bigcloneBench |
| طريقة ما قبل التدريب لتمثيل التعليمات البرمجية المعززة على أساس التعلم التباين متعدد الوسائط (JOS'23) | POJ-104 ، BigcloneBench |
| كونكورد: التعلم المتناقض للاستنساخ للرمز المصدر (ISSTA'23) | Codenet (Java) ، POJ104 |
| رمز الصفر الصفر العصبي الاستنساخ مع التمثيل الوسيط بين اللغة (ARXIV'23) | Codenet (C ، COBOL) |
| هجمات الورقة الخلفية متعددة الهدف للنماذج التي تم تدريبها مسبقًا (ACL'23) | BCB |
اكتشاف العيوب وإصلاحه
| ورق | مجموعات البيانات |
|---|
| أمثلة عدوانية لنماذج الكود (OOPSLA'20) | varmisuse |
| الكشف عن الأخطاء وإصلاحها ذاتيا (Neups'21) | Randombugs ، pypibugs |
| فهم رمز الخصومة الدلالي (Coling'22) | العيوب 4J |
| التضمين رمز حساس للمسار عبر التعلم التباين للكشف عن ثغرة البرمجيات (ISSTA'22) | D2A ، مروحة ، المدعى |
| الهجوم الطبيعي لنماذج الكود المدربة مسبقًا (ICSE'22) | المدعى |
| التحرير والسرد: تمثيلات ما قبل التدريب للرمز الثنائي باستخدام التعلم التباين (ARXIV'22) | Sysevr |
| نحو التعلم (DIS)-تشويه رمز المصدر من تباينات البرنامج (ACL'22) | الكشف ، codexglue |
| تعزيز تعلم الكود المصدر مع زيادة البيانات: دراسة تجريبية (ARXIV'23) | المعيدات ، codrep1 |
| MixCode: تعزيز تصنيف التعليمات البرمجية عن طريق زيادة البيانات المستندة إلى الخلط (Saner'23) | المعيدات ، codrep1 |
| Contrabert: تعزيز النماذج المدربة قبل الكود عبر التعلم التباين (ICSE'23) | المدعى |
| الفرق الكود الموجهة مثال العدواني على نماذج الكود العميق (ASE'23) | المدعى ، CodeChef |
| Mufin: تحسين نماذج الإصلاح العصبي مع الترجمة الخلفية (Arxiv'23) | العيوب 4J (خاصة بالورق) ، Quixbugs (خاص بالورق) |
| الاستفادة من الاستدلال السببي لإصلاح البرنامج التلقائي القابل للتفسير (IJCNN'22) | العيوب 4J ، Quixbugs ، bugaid |
| DeepDebug: إصلاح بق الحشرات باستخدام آثار المكدس ، ترجمة الخلفية ، والهياكل العظمية الرمز (ARXIV'21) | ورق محدد |
| Break-It-Fix-It: التعلم غير الخاضع للإشراف لإصلاح البرنامج (Arxiv'21) | ورق محدد ، DeepFix |
| هجمات الورقة الخلفية متعددة الهدف للنماذج التي تم تدريبها مسبقًا (ACL'23) | المدعى. bug2fix |
| inferfix: إصلاح البرنامج الشامل مع LLMs على المطالبات التي تم التغلب عليها (ARXIV'23) | استدلال |
| راب جين: توليد التصحيح المتمثل في الاسترجاع مع CODET5 لإصلاح البرنامج التلقائي (FSE'23) | Tfix ، Bug2Fix ، Defects4J |
| عدد قليل جدا من تقارير الأخطاء؟ استكشاف تكبير البيانات لتحسين توطين الأخطاء القائم على التغييرات (ARXIV'23) | بيانات الموضع |
تلخيص الكود
| ورق | مجموعات البيانات |
|---|
| تدريب نماذج توليد التعليقات على الرمز العميق عبر زيادة البيانات (Internetware'20) | tl-codesum |
| تلخيص رمز المصدر العصبي القائم على الاسترجاع (ICSE'20) | PCSD ، JCSD |
| توليد برامج كمبيوتر عدوية باستخدام التغذية المحسنة (ICLR'21) | Python-150k ، Code2Seq Data |
| تعلم رمز التباين التعلم (EMNLP'21) | JavaScript (ورق خاص) |
| إطار اختبار قائم على البحث للشبكات العصبية العميقة لتضمين رمز المصدر (ICST'21) | ورق محدد |
| جيل من أجل الاسترجاع لتلخيص الكود عبر GNN الهجين (ICLR'21) | CCSD (ورق خاص) |
| Bashexplainer: توليد تعليق رمز Bash-Augmented-Augmented استنادًا إلى Codebert المقيد (ICMSE'22) | بيانات Bashexplaner |
| زيادة البيانات عن طريق تحويل البرنامج (JSS'22) | Deepcom |
| المتانة العدائية لتوليد تعليق الكود العميق (TOSEM'22) | CCSD (ورق خاص) |
| ليس لديك بيانات كافية؟ تكبير البيانات السهل لتلخيص الكود (PAAP'22) | --- |
| المتانة الدلالية لنماذج الكود المصدر (Saner'22) | Python-150k ، Code2Seq Data |
| نظرة فاحصة على ذكاء التعليمات البرمجية القائمة على المحولات من خلال تحويل الكود: التحديات والفرص (ARXIV'22) | CodesearchNet (Python ، Java) |
| Clawsat: نحو كل من نماذج الكود القوية والدقيقة (Saner'23) | --- |
| استكشاف زيادة البيانات لمهام توليد الكود (EACL'23) | codesearchnet (codexglue) |
| باش توليد التعليقات عبر زيادة البيانات ودولة كودبرت الدلالية (ARXIV'23) | بيانات Bashexplaner |
| readsum: محول تكيفي من أجل الاسترجاع لتلخيص رمز المصدر (Access'23) | PCSD |
| الترام: آلية من مستوى الاسترجاع على مستوى الرمز المميز لتلخيص رمز المصدر (ARXIV'23) | PCSD ، CCSD ، DEEPCOM |
| عصفورين مع حجر واحد: توليد رمز التعزيز والبحث عن الكود عبر شبكة عدوانية توليدية (OOPSLA'23) | CodesearchNet (Python ، Java) |
| نماذج لغة أفضل من الكود من خلال التحسين الذاتي (ACL'23) | codesearchnet |
البحث عن الكود
| ورق | مجموعات البيانات |
|---|
| AudrentedCode: فحص آثار موارد اللغة الطبيعية في نماذج استرجاع الكود (ARXIV'21) | codesearchnet |
| COSQA: 20 ، 000+ استفسارات الويب للبحث عن الكود والإجابة على الأسئلة (ACL'21) | كوسكا |
| إطار اختبار قائم على البحث للشبكات العصبية العميقة لتضمين رمز المصدر (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 |
| نحو أفضل البحث عن الكود متعدد اللغات من خلال التعلم التباين عبر اللغات (Internetware'23) | XLCOST |
| McOdesearcher: التعلم متعدد النظائر للبحث عن الكود (Internetware'23) | CodesearchNet (Python ، Java) ، Cosqa ، Staqc ، Webquery |
| Mulcs: نحو تمثيل عميق موحد للبحث عن الكود متعدد اللغات (Saner'23) | CodesearchNet (Python ، Java) ، ورق خاص |
| عصفورين مع حجر واحد: توليد رمز التعزيز والبحث عن الكود عبر شبكة عدوانية توليدية (OOPSLA'23) | CodesearchNet (Python ، Java) |
إكمال رمز
| ورق | مجموعات البيانات |
|---|
| نمذجة رمز توليدي مع الرسوم البيانية (ICLR'19) | بيانات exprgen (خاصة بالورق) |
| المتانة العدائية لنماذج تخليق البرنامج (Aiplans'21) | algolisp |
| REACC: إطار إكمال الكود المتمثل في الاسترداد (ACL'22) | PY150 (Codexglue) ، Githhub Java (CodexGlue) |
| التعلم متعدد المهام الذي يحركه الاختبار مع تحويل التعليمات البرمجية المكافئة وظيفيا لتوليد الكود العصبي (ASE'22) | MBPP |
| ما مدى أهمية أسماء الطرق الجيدة في توليد الكود العصبي؟ منظور متانة نموذج (ARXIV'22) | concode المكررة ، pytorrent المكررة |
| نظرة فاحصة على ذكاء التعليمات البرمجية القائمة على المحولات من خلال تحويل الكود: التحديات والفرص (ARXIV'22) | CodesearchNet (Python ، Java) |
| Recode: تقييم متانة لنماذج توليد الكود (ACL'23) | Humaneval ، MBPP |
| Clawsat: نحو كل من نماذج الكود القوية والدقيقة (Saner'23) | --- |
| اختيار المطالبة المستند إلى الاسترجاع للتعلم القليل من الرمز (ICSE'23) | أطلس ، tfix |
| Rustgen: نهج تكبير لتوليد رمز الصدأ القابل للتجميع مع نماذج لغة كبيرة (قابلة للتنقل generativeai'23) | ورق محدد |
| هجمات الورقة الخلفية متعددة الهدف للنماذج التي تم تدريبها مسبقًا (ACL'23) | Githhub Java (CodexGlue) |
| إكمال الكود التكيفي للمجال عبر نماذج اللغة وقواعد بيانات المجال المنفصلة (ASE'23) | ورق محدد |
| APICOM: إكمال API التلقائي عبر التعلم السريع وزيادة البيانات القائمة على التدريب (Internetware'23) | ورق محدد |
| التعلم متعدد المهام الذي يحركه الاختبار مع تحويل التعليمات البرمجية المكافئة وظيفيا لتوليد الكود العصبي (ASE'22) | MBPP |
| نماذج لغة أفضل من الكود من خلال التحسين الذاتي (ACL'23) | اربط |
ترجمة الكود
| ورق | مجموعات البيانات |
|---|
| الاستفادة من اختبارات الوحدة الآلية لترجمة الكود غير الخاضعة للإشراف (ICLR'23) | الورق |
| استكشاف زيادة البيانات لمهام توليد الكود (EACL'23) | CodetRans (CodexGlue) |
| تلخيص وتوليد إلى النقل الخلفي: ترجمة غير خاضعة للإشراف لغات البرمجة (EACL'23) | بيانات transcoder |
| Contrabert: تعزيز النماذج المدربة قبل الكود عبر التعلم التباين (ICSE'23) | CodetRans (CodexGlue) |
| ترجمة الكود مع تمثيلات البرمجيات (ICLR'23) | بيانات transcoder |
| زيادة البيانات لترجمة التعليمات البرمجية مع Compora المماثلة والمراجع المتعددة (EMNLP'23) | بيانات transcoder |
| تقييم وتحسين المتانة العدائية النحوية للنماذج التي تم تدريبها مسبقًا لترجمة الكود (ARXIV'23) | الصورة الرمزية |
| هجمات الورقة الخلفية متعددة الهدف للنماذج التي تم تدريبها مسبقًا (ACL'23) | بيانات transcoder |
الإجابة على أسئلة الكود
| ورق | مجموعات البيانات |
|---|
| COSQA: 20 ، 000+ استفسارات الويب للبحث عن الكود والإجابة على الأسئلة (ACL'21) | كوسكا |
| فهم رمز الخصومة الدلالي (Coling'22) | Codeqa |
| التعلم التباين مع زيادة البيانات المستندة إلى الكلمات الرئيسية للبحث عن الكود والإجابة على أسئلة الكود (EACL'23) | كوسكا |
| McOdesearcher: التعلم متعدد النظائر للبحث عن الكود (Internetware'23) | Webquery (خاص بالورق) |
تصنيف الكود
| ورق | مجموعات البيانات |
|---|
| توليد أمثلة عدوانية لعقد متانة نماذج معالجة الكود المصدر (AAAI'20) | OJ |
| توليد أمثلة عدوانية لنماذج تصنيف رمز المصدر عبر عملية قرار Markov المستندة إلى Q (QRS'21) | OJ |
| HELOC: التعلم التباين الهرمي لتمثيل رمز المصدر (ICPC'22) | GCJ ، OJ |
| التحرير والسرد: تمثيلات ما قبل التدريب للرمز الثنائي باستخدام التعلم التباين (ARXIV'22) | POJ-104 (CODEXGLUE) |
| سد النماذج التي تم تدريبها مسبقًا ومهام المصب لفهم شفرة المصدر (ICSE'22) | POJ-104 |
| تعزيز تعلم الكود المصدر مع زيادة البيانات: دراسة تجريبية (ARXIV'23) | Java250 ، Python800 |
| MixCode: تعزيز تصنيف التعليمات البرمجية عن طريق زيادة البيانات المستندة إلى الخلط (Saner'23) | Java250 ، Python800 |
| الفرق الكود الموجهة مثال العدواني على نماذج الكود العميق (ASE'23) | GCJ |
| نهج تعزيز البيانات المحسّن لدعم تصنيف قابلية قراءة رمز متعدد الطبقات (SEKE'22) | ورق محدد |
| تحسين تصنيف قابلية قراءة الكود متعدد الطبقات مع نهج تعزيز البيانات المعزز (130) (المجلة الدولية لهندسة البرمجيات وهندسة المعرفة) | ورق محدد |
تنبؤ الأسلوب
| ورق | مجموعات البيانات |
|---|
| أمثلة عدوانية لنماذج الكود (OOPSLA'20) | CODE2VEC |
| إطار اختبار قائم على البحث للشبكات العصبية العميقة لتضمين رمز المصدر (ICST'21) | ورق محدد |
| حول تعميم نماذج البرامج العصبية فيما يتعلق بتحويلات البرامج للحفاظ على الدلالة (IST'21) | Code2Seq |
| زيادة البيانات عن طريق تحويل البرنامج (JSS'22) | CODE2VEC |
| هجوم عدواني منفصل على نماذج الكود (PLDI'23) | CODE2VEC |
اكتب التنبؤ
| ورق | مجموعات البيانات |
|---|
| المتانة العددية للرمز (ICML'21) | عميق |
| تعلم رمز التباين التعلم (EMNLP'21) | عميق |
| تعلم النقل عبر اللغات لاستدلال النوع الإحصائي (ISSTA'22) | Deeptyper ، Typilus (Python) ، CodesearchNet (Java) |
شكر وتقدير
نشكر ستيفن ي. فنغ ، وآخرون. لقائمة الورق المفتوحة المصدر على dataaug4nlp.