المستخلص: |
يركز التنبؤ بأخطاء البرمجيات على فحص واختبار الملفات والوحدات البرمجية لإظهار احتمال وجود أخطاء موجودة أم لا، ذلك يؤدي إلى بناء نموذج للتنبؤ يعتمد على مقاييس الجودة باستخدام السمات الداخلية والبيانات الخاطئة. بعد التنبؤ بالوحدة البرمجية الخاطئة، يمكن استخدام عملية التصحيح لفحص واختبار الوحدة البرمجية. وعندما يركز الجهد على الوحدات البرمجية التي تحتوي على أخطاء، ذلك يمكن أن يساعد في الاستفادة من موارد البرامج وإدارتها بشكل فعال، مما سيعزز مرحلة الصيانة لتكون سهلة. في هذه الأطروحة، يتم استخدام خمسة خوارزميات تعلم الآلة للتنبؤ بالوحدات البرمجية الخاطئة وهي Naïve Bays وRandom Forest, J48, Decision Table, SVM . هذه الخوارزميات تم تطبيقها على قواعد بيانات جافا (المقاييس الكبيرة والصغيرة) التي تم معالجتها مسبقا للحصول على نتائج أفضل. المقارنات التي تمت بين مجموعات البيانات غير المعالجة والمعالجة تبعا لخوارزميات التعلم الآلي تشير إلى أن هناك اختلاف في النتائج. بعد مقارنة النتيجة في منهجنا المطور مع (Hata, et al, 2012) اعتمادا على معدل الخطأ، من الواضح أن النتيجة في نهجنا المتطور كانت أفضل من نتائجهم باستخدام .Random Forest استنادا إلى المقارنة بين مجموعات البيانات التي سبق معالجتها وغير المعالجة لمجموعة البيانات كبيرة الحجم، كانت البيانات المعالجة أفضل قليلا من البيانات غير المعالجة. وبالاستناد إلى المقارنة بين البيانات المعالجة وغير المعالجة لمجموعات البيانات صغيرة الحجم، فمن الواضح أنه لا يوجد أي تأثير للمعالجة المسبقة لمجموعة البيانات للحصول على نتائج أفضل. بناء على نتائج مقاييس التقييم توضح أن أفضل خوارزمية للدقة ومعدل الخطأ هي Random Forest والترتيب التنازلي للخوارزميات هو J48, SVM, Random Forest, Decision Table والأخير هو Naïve Bay.
|