You are on page 1of 2

‫دراسة مقارنه للتنبؤ المبكر بعيوب البرمجيات باستخدام نظم االله (التعلم الجماعي)‬

‫في اآلونة األخيرة‪ ،‬جذب التنبؤ المبكر بعيوب البرمجيات باستخدام تقنيات التعلم اآللي مزي ًدا من اهتمام الب!!احثين نظ!!رً ا ألهميت!!ه في إنت!!اج‬
‫برامج ناجحة‪ .‬من ناحية أخرى‪ ،‬فإنه يقلل من تكلفة تطوير البرمجيات ويسهل اإلجراءات ويتنبأ بالنسب المئوية للبرامج المعرضة للعيوب‬
‫في المستقبل‪ .‬ال يوجد دليل قاطع على أنواع معينة من التعلم اآللي ستكون أكثر كفاءة ودقة للتنبؤ بعي!وب ال!برامج‪ .‬وم!ع ذل!ك‪ ،‬ف!إن بعض‬
‫األبحاث السابقة ذات الصلة تقترح تقنيات ‪ Ensemble Learning‬كبديل أكثر دقة‪ .‬يقدم ه!!ذا البحث تقني!!ة ‪ Ensemble Learning‬م!!ع‬
‫ثالثة أنواع من متعلمي المجموعات ‪ ،Boosting، Bagging and Rotation Forest‬باستخدام ثماني!!ة من ‪ ،base learners‬قد تم‬
‫اختبارهم على سبعة أنواع من مجموعات البيانات المعيارية المتوفرة في مستودع ‪ PROMISE .‬وفى ضوء البحث تشير النت!!ائج إلى أن!!ه‬
‫ق!!د تم تحس!!ين الدق!!ة باس!!تخدام تقني!!ات ‪ Ensemble Learning‬أك!!ثر من اس!!تخدام تقني!!ات ‪ single leaners‬خاص! ً‬
‫!ة ب!!التزامن م!!ع‬
‫‪ Rotation Forest‬وكذلك ‪ resample techniques‬وذلك في معظم الخوارزميات المستخدمة في النتائج التجريبية‪.‬‬

‫نتيجة االستثمار الهائل والتكلفة العالية التي يتم إنفاقها في تطوير هندسة البرمجيات في زي!!ادة تكلف!!ة ص!!يانة ه!!ذه األنظم!!ة‪ .‬ح!!ديثا‪ ،‬أص!!بح‬
‫الحجم الضخم للبرنامج المطورة أكثر تعقي ًد ا‪ .‬باإلضافة الى انه لدينا حجم كبير من أكواد البرامج‪ .‬لذلك فق!!د زادت احتمالي!!ة وج!!ود عي!!وب‬
‫في البرامج ولم تعد طرق ضمان الجودة كافية للتغلب على جميع عيوب البرامج في األنظمة الضخمة‪ .‬لذلك‪ ،‬إذا تمكنا من تحديد الوحدات‬
‫النمطية في البرامج التي من المحتمل أن تكون معيب!!ة‪ ،‬فيمكن أن تس!!اعدنا في تقلي!!ل مواردن!!ا المح!!دودة من الم!!برمجين وقت التط!!وير‪ .‬تم‬
‫اقتراح عدد من النماذج التنبؤية في هذا البحث للتنبؤ بالعيوب في وحدات البرامج باستخدام عدة أنواع من اللوغاريتم!!ات مث!!ل ‪Decision‬‬
‫‪ ., Tree ,SVM ANN, Naïve Bayes‬ويجدر اإلحاطة بوجود فئتين من عيوب البرامج‪ :‬برنامج )‪ Fault-Prone (FP‬وبرنامج ‪Non-‬‬
‫)‪ .Prone-Prone (NFP‬واله!!دف من بحثن!!ا ه!!و االس!!تفادة من طريق!!ة ‪ Ensemble Learning‬لتحس!!ين دق!!ة النم!!وذج التنب!!ئي بعي!!وب‬
‫البرمجيات‪ .‬ميزة أخرى في ه!ذا البحث وه!و هي تحس!ين األداء باس!تخدام أن!واع مختلف!ة من ‪ classifiers‬معً! ا ألن ه!ذا يقل!ل من التب!اين‬
‫‪ variance‬بينه!!ا ويحاف!!ظ على مع!!دل خط!!أ التح!!يز دون زي!!ادة‪ .‬يتم اس!!تخدام ثالث!!ة أن!!واع من ‪Ensemble Learning: Bagging,‬‬
‫‪ .Boosting and Rotation Forest techniques‬تعتمد تقنية ‪ technique Bagging‬على أخذ عينات فرعية من مجموعة بيانات‬
‫التدريب عن طريق ‪ replacing samples‬وعمل دمج ‪ combining‬لمجموعات فرعية للتدريب‪ ،‬ثم دمج نتائج ‪ classifiers‬بن!!ا ًء على‬
‫تقنية ‪.Voting technique‬‬

‫يعتمد البحث على استخدام اختبار تصنيف موقع ‪ Wilcoxon‬كاختبار ‪ non-parametric significance test‬الستخدامه للمقارنة بين‬
‫اثنين من ‪ learners‬وباستخدام ‪ .Significance test‬خال ًفا لذلك‪ ،‬إذا احتجنا إلى مقارنة ‪the multiple learners over multiple‬‬
‫‪ ،datasets‬فإن اختبار ‪ Fireman test‬موصى به من خالل اختبار ‪.Nemenyi Post-hoc‬‬
‫في هذه الورقة البحثية‪ ،‬قمنا بتحليل دقة وأداء ثالث طرق من ‪ Ensemble Learning‬وهم ‪Bagging, Boosting and Rotation‬‬
‫‪ Forest‬بنا ًء على ‪ 8‬قواعد ‪ base learners‬للتنبؤ بعيوب البرنامج والنتائج كانت على النحو التالي‪:‬‬

‫أصغر حجمًا في أك!!ثر من ‪ 7‬عين!ات من مجموع!!ات البيان!!ات باس!!تخدام تقني!!ة ‪resample‬‬ ‫‪single leaners‬‬ ‫(‪ )1‬تم تحسين دقة معظم‬
‫‪.technique as preprocessing step‬‬

‫(‪ )2‬نتيجة للبحث‪ ،‬ال ينصح باستخدام ‪ SVM , Logistic , SVM‬كمتعلم واحد ‪ single learner‬مع ‪ resample methods‬لكال من‬
‫‪,Boosting, Bagging , Rotation Forest‬‬

‫(‪ )3‬يتم الحصول على الدقة واألداء باستخدام ‪ Bagging‬مع ‪ base learner‬لكال من ‪ ,MLP PART‬مع ‪ ، Boosting‬يتم اكتساب دقة‬
‫األداء لـ ‪ PART , Random Forest , Naïve Bayes‬بينما يتم اكتساب ‪ Rotation Forest‬مع ‪ base learners 4‬في أداء مثل‬
‫‪.PART , J48 , MLP , Random Forest‬‬

‫(‪ )4‬يتم فقدان دقة نتائج األداء باستخدام ‪ SVM‬مع ثالث طرق تجميع متجانسة‪ ،‬مع ‪ ، Rotation Forest‬ال توجد دق!!ة ‪ ،‬خس!!ائر في‬
‫األداء إال باستخدام ‪ .SVM‬وبالت!!الي‪ ،‬مع ‪ ، Rotation Forest‬ال توج!!د خس!!ائر في الدق!!ة واألداء إال باس!!تخدام ‪ .SVM‬وبالت!!الي‪ ،‬ف!!إن‬
‫‪ Rotation Forest‬هي أفضل طريقة ينصح بها الباحثون لالستخدام ه!!ذه الدراس!!ة البحثي!!ة لميزته!!ا في الق!!درة على ‪generalization‬‬
‫‪ .ability‬في العمل المستقبلي‪ ،‬سنختبر المزيد من خوارزميات المجموع!!ات باس!!تخدام مص!!نف أساس!!ي مختل!!ف على المزي!!د من ال!!برامج‬
‫ومجموعات البيانات وسنختبر أكثر من تقنيه من تقنيات المعالجة المسبقة ‪ preprocessing techniques‬لتحسين النتائج‪.‬‬

You might also like