دراسة تأثير دقة تمثيل الشيفرة المصدرية على تحديد مواقع الأخطاء البرمجية على مستوى الملف باستخدام نماذج الشيفرة المدربة مسبقًا

نوع المستند : Original Article

المؤلفون

1 موظف حكومي

2 جامعة الموصل كلية علوم الحاسوب و الرياضيات

10.69513/njitcs.2026.174817.1078
المستخلص
يُعد تحديد مواقع الأخطاء البرمجية على مستوى الملف (File-Level Bug Localization) من التقنيات المستخدمة لتحديد وترتيب ملفات الشيفرة المصدرية الأكثر ارتباطًا بتقارير الأخطاء، بهدف تقليل الوقت والجهد اللازمين لعمليات تصحيح البرمجيات. وقد أثبتت النماذج البرمجية المدربة مسبقًا قدرتها على تمثيل العلاقة الدلالية بين تقارير الأخطاء والشيفرة المصدرية بكفاءة. ومع ذلك، لم تحظَ دراسة تأثير مستوى تمثيل الشيفرة المصدرية (Source Code Granularity) على أداء هذه النماذج بالاهتمام الكافي. تهدف هذه الدراسة إلى تقييم تأثير مستويين من تمثيل الشيفرة المصدرية، هما AST Chunk وMethod-Level AST، في أداء النماذج البرمجية المدربة مسبقًا ضمن مهمة تحديد مواقع الأخطاء البرمجية على مستوى الملف. أُجريت التجارب باستخدام مجموعة البيانات Defects4J التي تضم خمسة مشاريع مفتوحة المصدر مكتوبة بلغة Java، وهي: Chart وClosure وLang وMath وTime. كما تم تقييم أربعة نماذج مدربة مسبقًا هي: CodeBERT وGraphCodeBERT وUniXcoder وCodeT5، مع تطبيق مستويي تمثيل الشيفرة المصدرية ضمن إعدادات تجريبية موحدة لضمان عدالة المقارنة. وتم تقييم الأداء باستخدام مقاييس Top@1 وTop@2 وTop@3 وMean Reciprocal Rank (MRR) وNormalized Discounted Cumulative Gain (nDCG). أظهرت النتائج وجود اختلاف في تأثير مستوى تمثيل الشيفرة المصدرية باختلاف المشروع والنموذج المستخدم، مما يشير إلى أن اختيار مستوى التمثيل يُعد عاملًا مؤثرًا في فعالية تحديد مواقع الأخطاء البرمجية. وتسهم نتائج هذه الدراسة في توفير فهم أعمق لتأثير تمثيل الشيفرة المصدرية، كما تقدم إرشادات عملية لاختيار المستوى الأنسب عند استخدام النماذج البرمجية المدربة مسبقًا في مهمة تحديد مواقع الأخطاء البرمجية على مستوى الملف.

الكلمات الرئيسية

الموضوعات الرئيسية


المقالات الجاهزة للنشر، النسخة المصححة
استمارة إلكترونية متاحة 26 September 2026