IMPACT OF CODE CLONING ON FUNCTIONAL CORRECTNESS OF OBJECT-ORIENTED CLASSES

IMPACT OF CODE CLONING ON FUNCTIONAL CORRECTNESS OF OBJECT-ORIENTED CLASSES. Masters thesis, King Fahd University of Petroleum and Minerals.

[img]
Preview
PDF
Thesis-Eprint-Version.pdf - Published Version

Download (2MB) | Preview

Arabic Abstract

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

English Abstract

Many software developers are incorporating code clones in source code as a natural habit while software is evolving. Several arguments about the code clones if they are harmful or beneficial, several studies in the literature discussed code clones impact on the software from different perspectives on different levels. However, the important question of the impact of code clones on software quality is in need of further studies to identify positive or negative impacts on quality aspects of the software. An important aspect of software quality is functional correctness which is a sub-characteristic of software functional suitability. Exploring code clone metrics to assess functional correctness might discover the impact of code clones on the product quality. The main objective of this research is to study empirically the relationships between software clones and functional correctness in object-oriented classes. This research contains two empirical studies, the first one is to study clones and fault-proneness, and the second is to study code clones and fault-density. The results indicate that there are relationships between code clones and functional correctness. In addition, there are relationships between clone location and fault-proneness. Similarly, we proved the relationships between types of code clones and fault-proneness in addition to fault-density as well. This research revealed 3 clone metrics that are good indicators of fault-proneness, in addition to one clone metric that is a good indicator of fault-density. Our study showed that when combine C&K metrics with clone metrics they perform better in fault-proneness and fault-density prediction. Finally, some recommendations for software developers are presented in this research towards incorporating code clones in the development of the software product.

Item Type: Thesis (Masters)
Subjects: Computer
Department: College of Computing and Mathematics > Information and Computer Science
Committee Advisor: Elish, Mahmoud
Committee Members: El-Attar, Mohamed and Mahmood, Sajjad
Depositing User: AL-GHAMDI SAAD (g199934620)
Date Deposited: 30 Jun 2014 12:10
Last Modified: 01 Nov 2019 15:43
URI: http://eprints.kfupm.edu.sa/id/eprint/139315