Assigning Priority Level for Bug Reports Using Neural Networks - سلام، محمد ياسر عبدالفتاح; بني سلامه، هاني أحمد (الزرقاء, 2020)
يعرف خطأ البرنامج (bug) بأنه مجموعة المشاكل التي تحدث خلال مراحل بناء المشروع والتي تؤدي إلى نتيجة غير صحيحة أو غير متوقعة. في عملية اختبار البرمجيات، تعد المرحلة الرئيسية هي التنبؤ بأولوية تقارير الأخطاء. ومع ذلك، يحتاج تصنيف تقارير الأخطاء يدويا إلى وقت وموارد من ذوي الخبرة. مما يؤدي إلى تأخير إصلاح الأخطاء ذات الأولوية العالية. في هذه الأطروحة، تم اقتراح إطارا لتعيين مستوى الأولوية المناسب لتقارير الأخطاء، بإسناد قيمة لأولوية تقرير الخطأ، إما أن تكون أولوية مرتفعة، أو منخفضة، والهدف من هذا الإطار هو تجنب استغراق الوقت المستهلك أثناء تعيين أولويات الأخطاء بشكل يدوي بالإضافة إلى تحسين الدقة والفعالية في التنبؤ بأولوية تقارير الأخطاء. تم التحقق من فعالية هذا الإطار وصحته بتجربته على مجموعات بيانات مستخرجة من JIRA باستخدام لوحة معلومات شركة INTIX DWC من خمسة مشاريع مغلقة المصدر لم يتم استخدامها في أبحاث سابقة، وتحتوي على أكثر من 2000 تقرير خطأ، للحصول على أداء أفضل وتحقيق دقة أعلى. تم إجراء التجارب على مجموعة البيانات الحقيقية من خلال الشبكة العصبية باستخدام ثلاث خوارزميات مختلفة وهم: الذاكرة العصبية طويلة المدى (LSTM)، و(SVM) و(KNN). تشير نتائج تجربتنا إلى أن إطار العمل الخاص بتعيين مستوى الأولوية المناسب لتقارير الأخطاء والذي يستند إلى الشبكة العصبية، بأنه يتنبأ بأولوية تقارير الأخطاء بدقة مرتفعة، حيث أظهرت النتائج نسبة التنبؤ بمستوى الأولية استنادا إلى LSTM تصل إلى: 0.903، أما نسبة التنبؤ بمستوى الأولية استنادا إلى SVM تصل إلى: 0.865، وأيضا نسبة التنبؤ بمستوى الأولية استنادا إلى KNN تصل إلى: 0.741. مما يعني أن خوارزمية LSTM كانت الأكثر دقة في التنبؤ بمستوى الأولوية المناسب لتقارير الأخطاء من بين الثلاث خوارزميات المستخدمة.
Keywords: هندسة البرمجيات -- الشبكات العصبية -- الخوارزميات البيانية