Search In this Thesis
   Search In this Thesis  
العنوان
Refactoring techniques for code clone detection /
المؤلف
Al-Saffar, Zyad Dhafer Mousa,
هيئة الاعداد
باحث / زياد ظافر موسى الصفار
مشرف / سمير الدسوقى الموجى
مشرف / شاهندة صلاح الدين سرحان
مناقش / أماني فوزى الجمل
الموضوع
Data encryption (Computer science) Telecommunication systems - Security measures - Data processing.
تاريخ النشر
2016.
عدد الصفحات
71 p. :
اللغة
الإنجليزية
الدرجة
ماجستير
التخصص
Computer Science Applications
تاريخ الإجازة
01/01/2016
مكان الإجازة
جامعة المنصورة - كلية الحاسبات والمعلومات - Computer Science Department
الفهرس
Only 14 pages are availabe for public view

from 88

from 88

Abstract

يستخدم المبرمجون في كثير من الاحيان مبدأ نسخ ولصق الكود البرمجي من اجل استخدامه مرة ثانية. ان عملية نسخ ولصق الكود البرمجي تنتج ما يسمى بالكود المكرر (تماثل الكود البرمجي) في الكود المصدري، والتي تحتاج إلى الإبقاء بشكل صحيح مع مرور الوقت. بعد فترة زمنية، من الممكن نسيان المعلومات الخاصة بالاكواد المكررة وكذلك علاقات الارتباط فيما بينها وهذا يؤدي الى انشاء مشاكل في مرحلة صيانة البرمجيات لاحقا. وعلاوة على ذلك، عمليات الاضافة والتعديل على البرنامج سوف تخلق اخطاء برمجية تسبب في ضعف نوعية البرنامج. ان عملية نسخ ولصق الكود البرمجي هو نوع من انواع الاكواد المكررة التي يجب التعامل معها، و هنالك العديد من التطبيقات العملية مثل كشف الانتحال في البرمجيات وكذلك التعدي على حقوق المؤلفين.مبدأ إعادة الهيكلة(Refactoring) هو وسيلة قوية لتحسين الكود البرمجي. حيث يقوم فقط بتغيير الهيكل الداخلي للكود المصدري بدون تغيير اي من وظائفه. ان إعادة هيكلة الانظمة الكبيرة بصورة يدوية تستهلك كميات كبيرة من الوقت والمال وكذلك تكون غير دقيقة بصورة كبيرة. ونتيجة لذلك، يتم مناقشة مبدأ إعادة الهيكلة السريع والسهل مع اجزاء تلقائية على نطاق واسع في مجال البرمجيات.
في هذه الرسالة، نقدم نهج ليستخدم في تصميم وتطوير نظام إعادة هيكلة تلقائي للكشف عن الكود المكرر رمز وإزالته من مشاريع مفتوحة المصدرمكتوبة بلغة الجافا. استخدمنا في هذه الرسالة كل من (أداة JCCD ، تقنية معتمدة على AST، و JavaParser) لإنشاء النهج المقترح حيث كانت هي الأدوات الرئيسية والتقنيات المستخدمة. النهج المقترح اعتمد على ترتيب الدوال على أساس عدد استدعاء كل دالة، حيث يتم الحفاظ على الدالة الأكثر استدعاءا ويتم إزالة الدوال المكررة الاخرى. تم استخدام أربعة مشاريع جافا مفتوحة المصدر لاختبار النهج المقترح وقد أظهرت النتائج أن النظام المقترح يقوم بحذف الاكواد المكررة مع إمكانية توفير المزيد من الامان للحفاظ على نفس سلوك مشاريع الجافا مفتوحة المصدر وكذلك تبين ان النهج المقترح يزيد من قابلية الصيانة والجودة لانظمة البرمجيات على اساس بعض المقاييس مثل مجموع سطور الكود، عدد الاسطر الفارغة، مجموع الدوال وعدد تعقيد الـ(Cyclomatic Complexity).