كلية تكنولوجيا المعلومات تناقش أطروحة "Proposing Hybrid Code Smell Detection"

نشر بواسطة : ضحى فاضل عباس
تاريخ الخبر : 17/5/2024
عدد المشاهدات : 622

كلية تكنولوجيا المعلومات تناقش أطروحة دكتوراه " Proposing a Hybrid Code Smell Detection Algorithm Based on Deep Learning Technique "

ناقش قسم البرمجيات في كلية تكنولوجيا المعلومات أطروحة دكتوراه بعنوان ( Proposing a Hybrid Code Smell Detection Algorithm Based on Deep Learning Techniques )، للباحث كاظم غافل رهيف و بأشراف الاستاذ الدكتور ( احمد سليم الصفار ) .

هدفت الأطروحة إلى التعرف انه مع النمو الحاصل في اعمال البرمجيات , المشكلات المرتبطة بتطوير البرمجيات هي أيضا تنمو كذلك . احداى القضايا الأساسية في تطوير البرمجيات هي قدرة البرنامج على التطور استجابة للطلب المتزايد , والتحسينات او التحديثات وكذلك زيادة الميزات التي تحتاجها تلك البرمجيات. تطور البرمجيات صعب للغاية او مستحيل نظرا لان قاعدة التعليمات البرمجية الخاصة بها غير قابلة للتطوير او الإدارة او الصيانه او الاختبار وغيرها من الفاليات التي تحتاجها تلك البرمجيات في حالة وجود مشكلات مثل روائح الكود (code smells ) . غالبا ماينظر الى قاعدة التعليمات البرمجية هذه على انها تعليمات برمجية منخفظة الجودة , مصطلح رائحة الكود (code smell ) يشير الى وجود مشكلة تتعلق بجودة الكود المصدري . تم اجراء العديد من الاعمال المتعلقة لاكتشاف الميزات الرديئة في كود المصدر . ركزت الدراسات الأولى على استخدام الأساليب القائمة على المقاييس والطرق القائمة على الكشف عن الروائح . في السنوات الاخيره مع تطور تقنيات التعلم الالي ( machine learning ) والتعلم العميق ( deep learning ) ركزت الدراسات على استخدام تلك التقنيات في اكتشاف روائح الكود ( code smells ) ومع ذلك لازالت الخوارزميات الحالية تعتبر في مراحل مبكره من التطوير . وبالنظر الى الصعوبات المرتبطة بتحديد روائح الكود باستخدام أساليب التعلم العميق ( DL ) حاول الاكاديميون ومطوروا البرمجيات معالجة هذه العقبات .
في هذا البحث , تم تحقيق العديد من جوانب اكتشاف روائح الكود , أولا , قمنا بدراسة مفهوم رائحة الكود وقمنا بالقاء نظره عامة على التقنيات التي تم استخدامها للكشف عن رائحة الكود مع مراجعة بعض الاعمال المتعلقة الحديثة التي تم إنجازها في هذا المجال . وثانيا , قمنا بتطوير نموذجين جديدين للكشف عن روائح الكود . النموذج الأول , هو استخدام أداة التشفير التلقائي المكدسة مع نقل التعلم With transfer learning) (3-SAE والنموذج الثاني ( 2-SAE ) هو نموذج تحسين للموديل الأول الذي يأخذ في الاعتبار تقليل التعقيد الى جانب تقليل وقت المعالجة ودقه الاكتشاف . تم جمع البيانات اللازمة لتدريب النموذجين من خلال اربعة مجموعات بيانات التي تحتوي على كود المصدر المفتوح ومن ثم تدريب النموذجين والتحقق من صحتهما واختبارهما . الأنواع الأربعة هي فئات رائحة الكود التي تم اخذها في هذه الدراسة كالتالي ( God Class , Data Class, Long Method and Feature Envy Datasets ) .
النتائج التجريبية لها جانبان , حيث الجانب الأول هو تحليل ومعالجة البيانات لاختيار افضل الميزات التي ينبغي استخدامها في تدريب واختبار الموديلين او النوذجين . اما الجانب الثاني فهو تدريب واختبار النماذج المقترحة لغرض الكشف عن الروائح البرمجية للانواع الأربعة . بالاضافه الى ذلك أجرينا مقارنة لاداء الكشف عن روائح الكود الأربعة بين النوذجين المقترحين وخوارزميات التعلم الالي وكذلك مع تقنيات التعلم العميق الأساسية الأخرى .
تم استخدام ستة تقنيات من التعلم الالي لاجل مقارنة النتائج مع الموديلات المقترحة وهي (KNN) و (SVM) و (DT) و (SGD) و (LR) و (XGBoost) اما بالنسبة لنماذج التعلم العميق المستخدمة لمقارنة النتائج مع الموديلات المقترحة هي نموذج ال (CNN) ونموذج ال (LSTM) وأخيرا قمنا أيضا بمقارنة نتائج الموديلات المقترحة مع الاعمال ذات الصله .
تظهر النتائج ان النماذج المقترحة تفوقت في الاداء على نماذج التعلم الالي ( ML ) وكذلك على نماذج التعلم العميق الأساسية الأخرى ( DL ) وأيضا أداء اعلى مقارنة بالاعمال المتعلقة الاخيره .

الصور:

اخبار الفروع العلمية
احداث علمية قادمة