Software Bad Smells Prioritization Model

Software Bad Smells Prioritization Model. Masters thesis, King Fahd University of Petroleum and Minerals.

[img]
Preview
PDF
thesis-final-version.pdf - Accepted Version

Download (2MB) | Preview

Arabic Abstract

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

English Abstract

Bad smell are parts of the codes that might have a problem. They are indicators to possible problems in the software. Whether they are trivial or complex, bad smells are shown to be of great impact on the software quality. To improve the maintainability of the software, and to mitigate and resolve bad smells, refactoring methods are used. Refactoring is the process of changing the internal behavior of the system without affecting its external behavior. Although the study of bad smell impact on software quality does exist, maintainers find it hard to refactor all the bad smells in the software because of constraints like time and cost. Hence, research in the area of bad smell prioritizations and ranking is needed. The aim of this research is to present a model to prioritize bad smells based on their impact on software maintainability. In this research, a prioritization model is proposed to rank bad smells based on their impact on software maintainability. The model is validated against five bad smells and five three open-source projects. The validation is performed by comparing the maintainability value before and after the removal of bad smells. In addition, a visualization of the relationships between classes’ maintainability and its bad smells ranking is presented. We conclude that bad smells have different impact on software maintainability. Some classes showed a significant improvement while others show a decrease in quality.

Item Type: Thesis (Masters)
Subjects: Computer
Department: College of Computing and Mathematics > Information and Computer Science
Committee Advisor: Alshayeb, Mohammad
Committee Members: Mahmood, Sajjad and Aljasser, Khalid
Depositing User: TURKI ALSHAMMARI (g200775410)
Date Deposited: 16 Jan 2018 09:44
Last Modified: 30 Dec 2020 12:30
URI: http://eprints.kfupm.edu.sa/id/eprint/140598