KFUPM ePrints

Using Reinforcement Learning in Enhancing Software Refactoring Prioritization

l Using Reinforcement Learning in Enhancing Software Refactoring Prioritization. Masters thesis, King Fahd University of Petroleum and Minerals.

[img]PDF - Accepted Version
Restricted to Abstract Only until 10 January 2019.

3284Kb

Arabic Abstract

ملخص الرسالة الإسم الكامل: أرمين كوبيليتسا عنوان السالة: استخدام التعلم بالتعزيز في تحسين تحديد الأولويات في إعادة هيكلة البرمجيات التخصص: علوم الحاسب الآلي تاريخ الدرجة العلمية: ديسمبر 2017 م الخلفية: يمثل وضع تسلسل مهام إعادة هيكلة البرمجيات دورا هاما في تحسين فوائد إعادة الهيكلة في عملية تطوير البرمجيات. تم اقتراح العديد من التقنيات لأتمتة إعادة هيكلة البرمجيات على أساس تفضيلات مختلفة. لكن هذه التقنيات لم تحقق بعد حلول مثلى لهذه المسألة. الهدف: نقترح توظيف تقنيات التعلم بالتعزيز (reinforcement learning) لأتمتة وضع تسلسل مهام إعادة هيكلة البرمجيات. يتم تنفيذ الأتمتة عبر مقاييس الإقتران و والتماسك على مستوى الفئة. الطريقة: يتم تطوير الحلول المقترحة و دمجها كبرنامج مساعد في بيئة التطوير المتكاملة المعروفة بإسم إيكلبس (Eclipse). كما تم التحقق من صحتها من خلال دراسة حالات مع تحليل مفصل ومناقشات. النتائج: يظهر التقييم التجريبي أن الحلول المقترحة تسهم في أتمتة إعادة هيكلة البرمجيات مع تحقيق مقاييس جودة البرمجيات المستهدفة. الخلاصة: أثبتت هذه الرسالة ملائمة تقنيات التعلم بالتعزيز للطبيعة المتغيرة لمسألة وضع تسلسل إعادة هيكلة البرمجيات. حيث أن تقنيات التعلم بالتعزيز المعتمدة على التخطيط و التعلم حققت نتائج فعالة مع وقت التنفيذ مقبول و متطلبات تخزين في الذاكرة بسيطة.

English Abstract

Background: Sequencing refactoring tasks play an important role in maximizing the benefits of refactoring in software development. Several techniques are proposed for the refactoring automation based on different preferences, yet far from reaching the optimal solutions. Objective: We employ reinforcement learning (RL) techniques to automate the refactoring sequencing process. Automation is carried out to optimize coupling and cohesion at the class-level. Method: The proposed solutions are developed and integrated as an Eclipse plugin and validated through case studies with detailed analysis and discussions. Results: Empirical evaluation shows that the proposed methods contribute to automating refactoring while achieving the targeted software quality measures. xivConclusion: RL techniques are shown to be fit to the dynamic nature of the problem of refactoring sequencing. Both planning- and learning-based RL techniques attained efficient results with acceptable execution time and space requirements.



Item Type:Thesis (Masters)
Subjects:Computer
Divisions:College Of Computer Sciences and Engineering > Information and Computer Science Dept
Committee Advisor:Ghouti, Lahouari
Committee Members:Alshayeb, Mohammad and Mahmood, Sajjad
ID Code:140591
Deposited By:ARMIN KOBILICA (g201403920)
Deposited On:16 Jan 2018 12:48
Last Modified:16 Jan 2018 12:48

Repository Staff Only: item control page