ارسل ملاحظاتك

ارسل ملاحظاتك لنا







Generating Higher Order Mutants Using Genetic Algorithm

العنوان بلغة أخرى: إنتاج نسخ متحولة عليا باستخدام الخوارزمية الجينية
المؤلف الرئيسي: Abu Al Jadayel, Anas (Author)
مؤلفين آخرين: Wedyan, Fadi (Advisor)
التاريخ الميلادي: 2016
موقع: الزرقاء
الصفحات: 1 - 57
رقم MD: 818144
نوع المحتوى: رسائل جامعية
اللغة: الإنجليزية
الدرجة العلمية: رسالة ماجستير
الجامعة: الجامعة الهاشمية
الكلية: كلية الدراسات العليا
الدولة: الاردن
قواعد المعلومات: Dissertations
مواضيع:
رابط المحتوى:
صورة الغلاف QR قانون
حفظ في:
المستخلص: يعتبر اختبار النسخ المتحولة من البرمجيات من طرق فحص البرمجيات التي تعتمد على إدخال خطأ واحد إلى نسخ متعددة البرنامج وتدعى هذه النسخ بالنسخ المتحولة. والهدف من هذه العملية هو تحسين كفاءة عملية فحص البرمجيات وبالتحديد، تحسين كفاءة تركيبة الفحص. من أحد الطرق المستخدمة في اختبار النسخ المتحولة هو اختبار النسخ المتحولة العليا، حيث أن كل نسخة متحولة من البرنامج تحتوي على خطأين أو أكثر. عدة دراسات أشارت إلى أن طريقة اختبار النسخ المتحولة العليا هي طريقة واعدة. نقدم في هذه الرسالة طريقة لإنتاج نسخ متحولة عليا باستخدام الخوارزمية الجينية. والهدف من الطريقة المقترحة هو إنتاج نسخ متحولة عليا تمتاز بصعوبة اكتشاف الأخطاء التي تحتويها، بالإضافة إلى تقليل نسبة نسخ متحولة المكافئة والتي تعطي نتيجة تنفيذ مساوية لنتيجة النسخة الأصلية من البرنامج. نقدم في هذه الرسالة أيضا نسخة معدلة من الخوارزمية الجينية، والتعديل هنا نقصد به عملية الاندماج عن طريق التبديل، وتتمثل هذه العملية باختيار أزواج من النسخ المتحولة ليتم بينها عملية الاندماج بحيث يتم تبديل الأخطاء بين أزواج النسخ المتحولة لإنتاج اثنين من النسخ المتحولة الجديدة، وهذه النسخ الجديدة سوف تحصل على خصائص من الأزواج التي أنتجتها. فمثلا عند اندماج زوج من النسخ المتحولة، يتم تبديل الخطأ الأول في الفرد الأول بالخطأ الأول في الفرد الثاني وبالتالي يتم إنتاج نسختين معدلتين جديدتين بحيث تحتوي النسخ الجديدة على خطأ من الفرد الأول وخطأ من الفرد الثاني. تستمر الخوارزمية بالعمل بهذه الطريقة لعدد محدد مسبقا من أجيال، حيث ينتج كل جيل نسخ متحولة جديدة لكي تحل محل النسخ المتحولة ذات الكفاءة الأقل في الجيل. قمنا بتطوير أداة (HOMJava) باستخدام لغة البرمجة جافا (Java). تقوم هذه الأداة بتنفيذ الطريقة المقترحة في هذه الرسالة. مدخلات الإدة تتضمن نسخة الشيفرة (Source code) للبرنامج الأصلي، ومجموعة النسخ المتحولة العليا، والملف الذي يحتوي على تركيبة الفحص (Test Suite). تبدأ الأداة بتنفيذ الخوارزمية الجينية، وفي كل جيل، تقوم الأداة بعمل الاختبارات على النسخ المتحولة العليا، ويتم تقييم كل نسخة متحولة من حيث الكفاءة. بعد ذلك يتم استبدال النسخ المتحولة الأقل كفاءة بالنسخ المتحولة التي تم إنتاجها من عملية الاندماج بالتبديل. قمنا بأجراء دراسة تجريبية لتقييم فعالية الطريقة المقترحة في هذه الرسالة. تم استخدام برنامج للاختبار اسمه(OrdSet). واستخدمنا أداة تسمى (HOMAJ) لإنتاج النسخ المتحولة، وأداة أخرى لإنتاج تركيبات فحص (Test Suites) تسمى ((Randoop. تم ضبط الخوارزمية الجينية للعمل لمدة 50 جيل. وهدفت الدراسة التجريبية إلى تقييم فعالية النسخ المتحولة العليا التي تم إنتاجها من الخوارزمية الجينية من حيث هل أصبحت ذات كفاءة أفضل وأصبحت نسخ صعب اكتشاف الأخطاء فيها، وما هي النسبة المئوية للنسخ المعدلة المكافئة التي نتجت من الخوارزمية الجينية. أظهرت النتائج أن الطريقة المقترحة في هذه الرسالة كانت فعالة، حيث أن النسخ المتحولة العليا التي تم إنتاجها باستخدام الخوارزمية الجينية أصبحت صعبة الاكتشاف وذات كفاءة اعلى بنسبة 99% مقارنة مع النسخ المتحولة قبل استخدام الخوارزمية الجينية. وكانت نسبة النسخ المتحولة المكافئة ما يقارب 4%.

عناصر مشابهة