توليد اختبارات محفزة للاستثناءات من خلال تحديد دوال الكفاءة المتكيفة

2022-01-12

توليد اختبارات محفزة للاستثناءات من خلال تحديد دوال الكفاءة المتكيفة

 حسين الملا       كريكوري كاي

 

توليد الاختبارات بالاعتماد على طرق البحث تعتمد على دوال التحقق من الكفاءة (Fitness Functions) التي تقوم بتوجيه البحث نحو التحسين عن طريق إعطاء قيم رقمية لتستخدم في الحكم على جودة التنجية الحالية.  اختيار (fitness function) التي تستطيع إعطاء معلومة كافية عن جودة النتيجة الحالية هو امر مهم جداً من اجل الوصول الى الهدف المقصود من توليد الاختبارات. حالياً، اغلب الأهداف (مثل exception) لا تملك صيغة معروفة ل fitness function ليمكن استخدامها في توليد الاختبارات. في هذه الدراسة تم اقتراح خوارزمية تعلم (تهيئة) التي تقوم باختيار fitness function بالاعتماد على المعلومات مستخلصة من الاخيار السابق. هذه الخوارزمية تسعى الى المحافظة على اعلى مستوى للهدف المقصود (مثلا إيجاد أكبر عدد من Exception). من اجل التحقق من فعالية المقترح، تم  استخدام خوارزميتان من "تعزيز التعلم" (reinforcement learning), وتم تطبيقهم في EvoSuite framework - وهو يستخدم من اجل توليد اختبارات باستخدام طرق البحث من برامج كتبت بلغة Java. تم اختبار المقترح على مجموعة من 386 خطأ حقيقي موجود ضمن قاعدة بيانات تسمى Defects4J. وقد وُجِدَ بان تغير ال fitness function باستخدام طرق تعزيز التعلم يخلق فرصة EvoSuiteFIT  لاختيار الجيل القادم من مجموعة الاختبارات 

رابط البحث