في عالم تطوير البرمجيات، تُعَد مراجعة الشيفرات واحدة من أكثر الممارسات ضرورة، لكن التعقيد والطبيعة التفاعلية لهذا الإجراء يمكن أن تجعل العملية مكلفة وتستغرق وقتاً طويلاً. في السنوات الأخيرة، تم تسليط الضوء على نماذج لغوية واسعة (Large Language Models) كأدوات بديلة لمراجعة الشيفرات بشكل تلقائي. ومع ذلك، فإن معظم هذه الأساليب تفرط في تبسيط مراجعة الشيفرات إلى عملية قرار ثابت لمرة واحدة، مما يفتقر إلى التفاعل المتعدد والعمليَّة المعقدة لحل المشكلات التي تحدث خلال مراجعات الشيفرات في الواقع.

لجسر هذه الفجوة، تم تقديم MCR-Bench، وهو أول مرجع مدروس يراعي حالات العيوب ومخصص لمراجعة الشيفرات متعددة الجولات. يغطي MCR-Bench خمس لغات برمجة شائعة، ويشتمل على 2279 مهمة لمراجعة الشيفرات من الواقع تم تصنيفها بمعلومات دقيقة عن العيوب وتسميات للحالات عبر الجولات.

تتميز كل مهمة في MCR-Bench ببيانات دقيقة عن العيوب، مثل الوصف والنوع والشدة، إلى جانب تسميات للحالات الديناميكية، مما يلتقط المسار التطوري الكامل للعيب خلال العملية متعددة الجولات.

من خلال تجارب مكثفة على MCR-Bench مع نماذج لغوية رئيسية، تم التوصل إلى عدة استنتاجات:
1. **قدرة محدودة**: تكشف التجارب أن نماذجنا الرئيسية تعاني من أداء محدود في اكتشاف العيوب وتتبع حالات دورة حياة العيب، حيث ينخفض الأداء بشكل كبير مع زيادة عدد جولات التفاعل.
2. **أداء حساس للعيوب**: يختلف أداء النماذج بشكل كبير بحسب أنواع العيوب ومستويات الشدة، حيث تُفوت العيوب المعقدة أو ذات الأهمية المنخفضة بسهولة أكبر.
3. **آليات الفشل الأساسية**: يكشف تحليل الأخطاء الدقيق عن العوامل المميزة للإيجابيات الكاذبة والسلبيات الكاذبة، مُظهراً نقاط ضعف حرجة مثل عدم التنسيق الزمني عبر الجولات والذاكرة طويلة الأمد غير الكافية.

إذا كنت من محترفي تطوير البرمجيات أو مهتمًا بالتحسين المستمر للجودة، فقد يكون MCR-Bench الأداة التي تبحث عنها لتطوير مهاراتك ومعرفتك. فما رأيكم في هذا التطور؟ شاركونا في التعليقات!