Software Bad Smells Prediction Using Advanced Machine Learning Techniques

Software Bad Smells Prediction Using Advanced Machine Learning Techniques. Masters thesis, King Fahd University of Petroleum and Minerals.

[img] PDF
Software Bad Smells Prediction Using Advanced Machine Learning Technique.pdf
Restricted to Repository staff only until 18 March 2021.

Download (1MB)

Arabic Abstract

هي عبارة عن المؤشرات للمشاكل المحتملة في البرنامج. قد تحدث لعدة اسباب, مثلاً تجاهل مبادئ تطوير البرمجيات ، كتابة التعليمات البرمجية بطريقة معقدة، الإضافات الخاظيئة للوحدات النمطية الجديدة في النظام. هذه المشاكل تميل الٕى ان يكون لها تأثير سلبي على جودة البرمجيات. في السابق تم اجٕراء عملية الكشف عن رائحة الكود بطريقة يدوية, لكنها كانت طريقة مجهده وتحتاج الكثير من الوقت وفي نفس الوقت مٌكلفة . لايزال تطبيق خوارزميات التعلم الآلي للكشف عن روائح الكود في النظم في مراحله الأولى ويحتاج الٕى مزيد من البحث لتسهيل استخدام خوارزميات التعلم الآلي في اكتشاف روائح الكود. في هذا البحث، قمنا بمراجعة وتحليل المنهجيات القائمة على التعلم الآلي للكشف عن روائح الأكواد. توفر مراجعة الأدبيات المنهجية التي اجٔريت المعرفه حول التقنيات المستخدمة وتحدد الفجوات التي يجب دراستها ومعالجتها. ونتيجة لذلك، اجٔريت دراسة تجريبية لملء هذه الفجوات وللتحقق من مزايا تقنيات التعلم الآلي المتقدمة (التعلم الجماعي) على تقنيات التعلم الآلي المستقلة في الكشف عن مشكلة رائحة الكود البرمجي. تم في هذه الرساله اجٕراء الدراسة التجريبية على عدد 20 مجموعة بيانات مجمعة من دراسات سابقة. تم تطبيق ثمان تقنيات من تقنيات التعليم الآلي المستقلة للكشف عن روائح الكود ومن ثم تقييمها. بعد ذلك، قمنا باقتراح استخدام نماذج تصنيف التعليم الجماعي في كلتا الحالتين متجانسة وغيرمتجانسة . هذه النماذج تعتمد على حساب المتوسط للقيمه الإحتمالية للمصنفات لكشف عن رائحة الكود. تشير النتائج انه في معظم الحالات ، تفوق النماذج المقتحرة للكشف والتنبؤ عن الروائح الكريهة في البرامج على بقية النماذج الأخرى في معظم حالات مجموعة البيانات المستخدمة, حيث حققت النماذج المحسنة على نتائج ودقة متميزة بنسبة 100% على مجموعات البيانات المستخدمة

English Abstract

Code smells are indicators of potential problems in software. They occur for many reasons, such as ignoring software development principles, writing code in a complex way, and incorrect integration of new modules into the system. They tend to have a negative impact on software quality. The main objectives of this thesis are to systematically review and analyze machine learning techniques used to detect code smells to provide interested research community with knowledge about the adopted techniques and practices for code smells detection, and to perform an empirical study to investigate the advantages of ensemble prediction models over standalone machine learning techniques in code smell prediction. In this thesis, we systematically review and analyze machine learning-based methods to predict software smells. The conducted SLR provides knowledge about the adopted techniques and identifies the gaps to be addressed. Consequently, an empirical study is conducted to fill these gaps and to investigate the advantages of advanced machine learning approaches (ensemble learning) over standalone machine learning approaches in code smell prediction. The empirical study is carried out on 20 collected datasets. Eight single learning approaches are applied to predict the code smells and are evaluated. Then, we proposed heterogeneous and homogeneous average probability-based ensemble classification models to predict code smells. The results indicate that, the application of machine learning techniques to predict code smells in systems is still in its infancy and needs more research to facilitate the employment of machine learning approaches in predicting code smells. It also indicate that, the proposed technique APE outperformed other single classifiers in most cases. The highest results of 100% in terms of AUC is reported on most used datasets.

Item Type: Thesis (Masters)
Subjects: Computer
Divisions: College Of Computer Sciences and Engineering > Information and Computer Science Dept
Committee Advisor: Aljamaan, Hamoud
Committee Members: Alshayeb, Mohammad and Mahmood, Sajjad
Depositing User: AHMED AL-SHAABY (g201408620)
Date Deposited: 03 Jun 2020 15:21
Last Modified: 03 Jun 2020 15:21
URI: http://eprints.kfupm.edu.sa/id/eprint/141473