Software Evolution Metrics for Object-Oriented Software Changeability Prediction

(2009) Software Evolution Metrics for Object-Oriented Software Changeability Prediction. Masters thesis, King Fahd University of Petroleum and Minerals.

[img]
Preview
PDF
Thesis_final_with_cover_page.pdf

Download (1MB) | Preview

Arabic Abstract

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

English Abstract

Any software is subject to series of changes during its evolution as it moves from one release to the next. The change histories of software systems hold useful information that describes how artifacts evolved. Better understanding of software change history is an important software engineering issue as it allows us to predict changes upfront and thus manage them, target resources more effectively and efficiently, and identify problematic parts of the software. Evolution-based metrics, which are the means to quantify the change history, are potentially good indictors of the changes in the software system. The objective of this research is to derive and validate (theoretically and empirically) a set of evolution-based metrics as potential indicators of the change-proneness and the change size of a class of object-oriented system when moving from one release to the next. Release-by-release statistical prediction models are built in three different ways: using C&K metrics; using the evolution-based metrics; and using a combination of both, as predictors for both the change-proneness and the change size of the next release OO classes. Unlike the previous studies, the uniqueness of the classification and prediction models built in this study is that they do evolution-based prediction, that is, they do release-by-release prediction. The results indicate that the evolution based metrics are measuring different dimensions from those of the C&K metrics. Also, the correlation analysis indicated the relationship between most of the proposed evolution-based metrics and both the change-proneness and the change size of the object oriented class. Additionally, our results showed that more accurate prediction is achieved when the proposed evolution-based metrics are combined with product metrics.

Item Type: Thesis (Masters)
Subjects: Computer
Department: College of Computing and Mathematics > Information and Computer Science
Committee Advisor: Elish, Mahmoud
Committee Members: Alshayeb, Mohammad and Al-Mulhem, Muhammed
Depositing User: MOJEEB ALKHIAT (g200503490)
Date Deposited: 30 Jun 2009 08:09
Last Modified: 01 Nov 2019 14:10
URI: http://eprints.kfupm.edu.sa/id/eprint/136093