Repairllama: تمثيلات فعالة ومحولات صعبة لإصلاح البرنامج
إذا كنت تستخدم Repairllama في الأبحاث الأكاديمية ، فيرجى الاستشهاد بـ "Repairllama: تمثيلات فعالة ومحولات صعبة لإصلاح البرنامج" ، التقرير الفني ، Arxiv 2312.15698 ، 2023.
@techreport { repairllama2023 ,
title = { RepairLLaMA: Efficient Representations and Fine-Tuned Adapters for Program Repair } ,
author = { Silva, Andr{'e} and Fang, Sen and Monperrus, Martin } ,
url = { http://arxiv.org/abs/2312.15698 } ,
number = { 2312.15698 } ,
institution = { arXiv } ,
} يحتوي هذا المستودع على الكود والنموذج والنتائج لتكرار الورقة "Repairllama: تمثيلات فعالة ومحولات صريحة لإصلاح البرنامج"
منظم على النحو التالي:
- يحتوي Repairlamama-Lora على التكيف المنخفض للمرور في Codellama-7B ، يسمى "محول الإصلاح"
- النتائج تحتوي على جميع البقع التي تم إنشاؤها للعيوب 4J و Humaneval-java من قبل جميع النماذج (بما في ذلك تمثيلات كاملة ، Lora ، والرمز)
- يحتوي SRC على البرامج النصية للتدريب والاستدلال ، والبرامج النصية لإنشاء مجموعات بيانات لتمثيلات المدخلات والمخرجات المختلفة (IRXOR)
- يحتوي المثال على مثال على دفتر ملاحظات يشرح كيفية تحميل نموذج الإصلاح والمطالبة به
- تحتوي المعايير على مجموعات البيانات الخاصة بتمثيلات المدخلات والمخرجات المختلفة (IRXOR)
النماذج
تتوفر جميع النماذج التي يتم ضبطها على Luggingface ، وهنا روابط محددة:
- ir1xor1: https://huggingface.co/Assert-kth/repairllama-ir1-or1
- ir1xor3: https://huggingface.co/Assert-Kth/repairllama-ir1-or3
- ir1xor3: https://huggingface.co/Assert-Kth/repairllama-ir1-or4
- ir2xor2: https://huggingface.co/Assert-kth/repairllama-ir2-or2
- ir3xor2: https://huggingface.co/Assert-kth/repairllama-ir3-or2
مجموعات البيانات
يتم توفير مجموعات البيانات المعالجة الدقيقة على Luggingface على https://huggingface.co/datasets/assert-kth/repairllama-datasets. أنه يحتوي على مجموعات البيانات المستخدمة لتدريب نماذج الإصلاح ، مجموعة فرعية واحدة لكل زوج تمثيل الإدخال/الإخراج. للحصول على مجموعات بيانات 30K..50K ، قمنا بتصفية مزيد من التصفية بناءً على طول رمز الإدخال + أزواج الإخراج أقل من 1024 رمز.
إذا كان الأمر يثير اهتمامك ، فيمكنك أيضًا العثور على هذه على urg luggingface:
- Megadiff (مجموعة البيانات الأصلية ، في تنسيق HF): https://huggingface.co/Datasets/Assert-kth/megadiff
- megadiff وظيفة واحدة (اختلاف الوظائف الفردية فقط ، مع عربات التي تجرها الدواب والوظائف الثابتة المستخرجة منه): https://huggingface.co/Datasets/Assert-kth/megadiff-single-function
المعايير
معايير التقييم هي العيوب 4J V2 ، Humaneval-Java ، و Gitbug-java.
نحن نركز على الأخطاء ذات الوظيفة الواحدة (أي الأخطاء التي يغير تصحيح المطور بشكل حصري وظيفة واحدة):
- يحتوي العيوب 48 على 488 حشرات الوظائف الفردية: Defects4J_SF.TXT
- Humaneval-java يحتوي على 162 حشرات الوظائف الواحدة: Humanevaljava_sf.txt
- يحتوي Gitbug-java على 90 أخطاء فردية: gitbugjava_sf.txt
لاحظ أن Humaneval-java الأصلي يحتوي على خطأ مكرر.