MODULARITY AND FUNCTIONAL CORRECTNESS EVALUATION OF DESIGN PATTERNS

MODULARITY AND FUNCTIONAL CORRECTNESS EVALUATION OF DESIGN PATTERNS. Masters thesis, King Fahd University of Petroleum and Minerals.

[img]
Preview
PDF (Master Thesis)
MODULARITY_AND_FUNCTIONAL_CORRECTNESS_EVALUATION_OF_DESIGN_PATTERNS.pdf - Accepted Version

Download (3MB) | Preview

Arabic Abstract

جودة البرمجيات كانت ومازالت موضوع للبحث المتعمق خلال العقدين الماضيين. أحد فروع هذا المجال هو دراسة العلاقة بين خصائص جودة البرمجيات وأنماط التصميم. بالرغم من أن تاثير هذه الانماط قد تم دراسته على بعض خصائص جودة البرمجيات الا ان هذه الدراسات لم تتطرق الى دراسة تأثير جميع هذه الانماط على جميع خصائص جودة البرمجيات. فبعض الانماط لم يتم دراستها وبعض الخصائص لم يتم دراستها ايضا. بالاضافة الى ذلك, فهذه الدراسات توصلت الى نتائج غير متوافقة مع بعضها البعض. من هنا تنبع اهمية المزيد من الدراسات في هذا المجال. الهدف الرئيسي من هذه الدراسة هو تقييم التبلور(الترابط والتماسك) والصحة الوظيفية (العرضة للخطاء و كثافة الأخطاء) لإنماط التصميم. اضافة الى ذلك سنقوم بتقييم كفاءة بعض المقاييس الخاصة بإنماط التصميم في عملية التنباء بالأخطاء. من خلال النتائج التي حصلنا عليها تبين أن الاصناف التي تنتمي الى انماط التصميم اكثر ترابطا واقل تماسكا - مما يعني انها اقل تبلورا - من الاصناف التي لا تنتمي الى أنماط التصميم على جميع المستويات ( مستوى التصميم, مستوى الفئة, مستوى النمط ومستوى الدور). و فيما يخص العلاقة بين أنماط التصميم والعرضة للخطاء وكثافة الاخطاء, فلم نجد فرق معتبر على مستوى التصميم. ولكننا وجدنا فرق معتبر عند مقارنة الفئات المختلفة مع بعضها البعض. فقد وجدنا أن فئة الانماط البنيوية أقل عرضة للخطاء و أقل كثافة للأخطاء من الفئات الأخرى ومن الاصناف التي لاتنتمي الى أنماط التصميم. وبالنسبة للاصناف التي تنتمي للفئات الاخرى (فئة الانماط الانشائية وفئة الانماط السلوكية), فالنتائج التي حصلنا عليها لم تظهر إي فروق معتبرة بينها وبين الأصناف التي لاتنتمي الى أنماط التصميم. أما فيما يخص تقييم كفاءة بعض مقاييس أنماط التصميم في التنباء بالأخطاء فقد وجدنا ان قيمة المساحة تحت المنحي (AUC) المصاحبة لهذه المقاييس اقل من 0.7 مما يعني ان هذه المقاييس غير عملية في التنباء بالاخطاء. و مما توصلنا اليه في هذه الدراسة, يمكننا ان نستنتج ان انماط التصميم ذات تاثير سلبي على التبلور. ولكن يجدر الاشارة الى أن هذا الانحدار في التبلور ضروري لبنية هذه الأنماط حتى تعمل على الوجه المطلوب. ويمكننا ايضا ان نستنتج أن إستخدام الأنماط البنيوية ذو تأثير إيجابي على العرضة للخطاء وكثافة الأخطاء. بالاضافة الى ماسبق نستنتج ايضا أن مقاييس الانماط غير ذات جدوى في التنباء بالأخطاء.

English Abstract

Software quality has been a subject of extensive research in the last two decades. One special area of research is the study of the impact of design patterns on software quality attributes. The impact of design patterns has been evaluated on many quality attributes in the literature. However, not all the quality attributes have been evaluated. In addition to that, there is no consensus among the different studies on the impact of design patterns on quality attributes. The objective of this thesis is to evaluate the modularity (coupling and cohesion) and functional correctness (fault proneness and fault density) of design patterns and to assess the impact of some design patterns metrics on fault prediction. The obtained results show that the classes that participate in the design patterns are more coupled and less cohesive (less modular) than the non-participant classes on all levels (i.e. design level, category level, pattern level and role level). Also, the obtained results show that there is no significant difference in fault-proneness and fault-density when the classes that participate in the design patterns are evaluated against the non-participant classes. However, the classes that participate in the structural design patterns are of less fault proneness and density than the classes that participate in the other categories and the non-participant classes. For the classes that participate in the creational design patterns, it was found that there is no clear tendency for fault proneness and density compared to the non-participant classes. Also, it was found that there is no significant difference between the classes that participate in the behavioral design patterns and the non-participant classes. The obtained results in evaluating the effectiveness of design patterns metrics with respect to fault prediction show that the AUC (Area Under the Curve) values associated with these metrics are less than 0.7 so they are not practical. It is concluded that the design patterns have a negative impact on modularity. However, this degradation in modularity is necessary for their functions. Also, it is concluded that the use of structural design patterns have a positive impact on functional correctness. Moreover, the evaluated design patterns metrics are found to be useless in fault prediction.

Item Type: Thesis (Masters)
Subjects: Computer
Department: College of Computing and Mathematics > Information and Computer Science
Committee Advisor: Elish, Mahmoud
Committee Members: Hassine, Jameleddine and Aljasser, Khalid
Depositing User: MOHAMMED A MAWAL (g201102570)
Date Deposited: 29 May 2014 11:56
Last Modified: 01 Nov 2019 15:42
URI: http://eprints.kfupm.edu.sa/id/eprint/139198