Automating UML Models Refactoring using Search-Based Algorithms. PhD thesis, King Fahd University of Petroleum and Minerals.
|
PDF
PhD_Dissertation.pdf Download (2MB) | Preview |
Arabic Abstract
الغرض من اعادة هيكلة البرمجيات هو تطوير جودة البرنامج عن طريق ايجاد الاخطاء الموجودة فيه وتصحيحها. تقلل هذه العملية من تكلفة اصلاح البرنامج والجهد المبذول والذي تقول الاحصائيات انه اكثر فترة مكلفة في مراحل تطوير البرنامج. هناك العديد من الطرق لا عادة هيكلة البرمجيات مثل: الطرق اليدوية، نصف الاتوماتيكية والطرق الاتوماتيكية. تم تنفيذ الكثير من اعادة الهيكلة الاتوماتيكية على الأكواد البرمجية فقط. ولكن هناك نقص واضح في الابحاث المتعلقة بتطبيق اعادة الهيكلة الاتوماتيكية على نماذج لغة النمذجة الموحدة. التصميم عادة يسبق كتابة الأكواد ولذلك فإن تصحيح الاخطاء مبكرا سيوفر الكثير من المال والجهد والوقت في فترة اختبار او صيانة البرنامج. الهدف من هذه الرسالة هو استخدام عدة خوارزميات من خوارزميات الذكاء الاصطناعي لإعادة هيكلة عدة نماذج من لغة النمذجة الموحدة. هذه النماذج تشمل : رسم بياني لحالة الاستخدام ، رسم بياني للتسلسل ، رسم بياني للأصناف. بالإضافة الى ذلك نحن طبقنا خوارزميات الذكاء الاصطناعي على نموذج متعدد الاوجه ومتكامل يشمل جميع الرسوم البيانية السابقة. لضمان ان اعادة الهيكلة ذات قيمة ومعنى فان اعادة الهيكلة لابد ان تحسن من بعض معايير الجودة المتعلقة بالرسم البياني. أظهرت المصادقة العملية ا على اكثر من حالة دراسية الكثير من النتائج المثيرة بالإضافة الى بعض الاشكاليات والتحديات من تطبيق الخوارزميات المعتمدة على البحث على نماذج لغة النمذجة الموحدة. استطاعت خوارزمية التخمير المحاكي من الحصول على أفضل أداء مقارنة بخوارزمية تسلق التل و خوارزمية القبول المتأخر لتسلق التل لإعادة هيكلة نموذج حالة الاستخدام. استطاعت الخوارزمية المدمجة من خوارزمية التخمير المحاكي والخوارزمية التصنيفية ايجاد جميع فرص اعادة الهيكلة في النموذج التسلسلي. استطاعت خوارزمية شعاع الدعم الآلي من تحقيق كفاءة متساوية متنافسة في مرحلتي التدريب والاختبار في ايجاد الروائح الكريهة في نموذج الأصناف. استطاعت خوارزمية التخمير المحاكي مرة أخرى من الحصول على أفضل أداء مقارنة بخوارزمية تسلق التل و خوارزمية القبول المتأخر لتسلق التل. استطاعت هذه الخوارزميات من الحصول على نتائج جيدة من ناحية الدقة والاسترجاع لكثير من الاخطاء المتعلقة في التصميم في مختلف الرسوم البيانية من لغة النمذجة الموحدة.
English Abstract
Refactoring is intended to improve the software quality by detecting defects in the software and correcting it. This process reduces the effort and cost of maintenance which is reported to be the most expenditure activity in the software development process. To refactor, there are different approaches: manual, semi-automated and automated. Automatic refactoring has been approached at the code level of the software. However, there is a scarcity of research of applying automatic refactoring at UML models. Design usually precedes coding activity and as such correcting any defects early will save the time, cost and effort of testing and maintaining the software. The objective of this dissertation is to use different types of algorithms such as: search based and machine learning to compare the refactoring process on different UML diagrams such as: use case diagram, sequence diagram and class diagram. In addition, we implemented search based algorithms on an integrated multiple-view model that composes the three aforementioned diagrams. To validate that our automatic refactoring is meaningful and beneficial, a set of quality metrics must be improved. An empirical validation of these approaches on different case studies reveal many interesting results, issues, challenges of applying AI for UML diagram refactoring. Simulated Annealing (SA) performed the best comparing to Hill Climbing (HC) and Late Acceptance Hill Climbing (LAHC) in refactoring use case diagram. A hybridization of K-means and Simulated Annealing (KSA) was able to find all the refactoring opportunities in sequence diagram. Support Vector Machine (SVM) was able to perform equally competitive in training and validation phase in finding class diagram smells. Again, SA performed very well comparing to HC and LAHC in detecting and refactoring a multiple-view model composing of the three selected models. The algorithms were able to achieve high accuracy and recall of detecting anti-patterns or defective components in different UML diagrams.
Item Type: | Thesis (PhD) |
---|---|
Subjects: | Computer Research > Information Technology |
Department: | College of Computing and Mathematics > Information and Computer Science |
Committee Advisor: | Alshayeb, Mohammad |
Committee Members: | Selim, shokri and Niazi, Mahmoud and Aizzuddin, Farag and Elrabaa, Muhammad |
Depositing User: | BAQAIS ABD AHMED (g201004220) |
Date Deposited: | 28 Sep 2017 07:52 |
Last Modified: | 31 Dec 2020 07:03 |
URI: | http://eprints.kfupm.edu.sa/id/eprint/140206 |