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

في هذه الدراسة الجديدة، أعضاء من الفريق البحثي قاموا بتحليل 319 خطأً حقيقياً في البرمجيات بلغة بايثون وجافا من مصادر مثل SWE-bench Verified وMulti-SWE-bench. والذي يستهدف الإجابة عن الأسئلة البحثية الأساسية التالية:
- كيف يتوزع انتباه النموذج عبر أقسام تقرير الأخطاء؟
- ما الفرق في أنماط الانتباه ضمن كل قسم بين الإصلاحات الناجحة والفاشلة؟
- كيف تقارن هذه الأنماط بوجهات نظر المطورين حول المعلومات الهامة لإصلاح الأخطاء؟

أظهرت النتائج أن الإصلاحات الناجحة تتميز بانتباه موزع على عدة مكونات تشخيصية مثل أوصاف الأخطاء وأكواد الأخطاء (stack traces) وحالات الاختبار، بينما غالبًا ما تظهر الفشل تركيزًا مفرطًا على البيانات الوصفية مثل معلومات النسخة. كما لوحظ أن تقارب الانتباه بين النموذج والأقسام والعبارات الأساسية التي حددها المطورون مرتبط بنجاح المعرفة بالإصلاحات.

تقدم هذه النتائج دليلاً تجريبيًا أوليًا على أن سوء توزيع الانتباه يعد عاملاً رئيسيًا في فشل أنظمة إصلاح البرمجيات المعتمدة على نماذج اللغات الضخمة، وتقدم رؤى قابلة للتطبيق لتصميم أنظمة إصلاح أكثر قابلية للتفسير وموثوقية في المستقبل.

ما رأيكم في هذا التطور؟ شاركونا في التعليقات.