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

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







The Effectiveness of Using A Statistical Debugging in Python Programs

العنوان بلغة أخرى: فعالية استخدام التصحيح المبني على الإحصاء في برامج بايثون
المؤلف الرئيسي: صندوقة، اسحق ناصر أمين (مؤلف)
مؤلفين آخرين: الزغول، فواز أحمد (مشرف), النمر، لؤي مدحت عوني (مشرف)
التاريخ الميلادي: 2016
موقع: عمان
الصفحات: 1 - 65
رقم MD: 1132842
نوع المحتوى: رسائل جامعية
اللغة: الإنجليزية
الدرجة العلمية: رسالة ماجستير
الجامعة: الجامعة الاردنية
الكلية: كلية الدراسات العليا
الدولة: الاردن
قواعد المعلومات: Dissertations
مواضيع:
رابط المحتوى:
صورة الغلاف QR قانون

عدد مرات التحميل

77

حفظ في:
المستخلص: تحديد موقع الخطأ في النظام هو أحد المواضيع الهامة في مجال فحص البرمجيات. حيث أنه يتيح لمطوري البرامج أن يحددوا موقع الخطأ في شيفرة البرامج الخاصة بهم. يمكن تصنيف تقنيات تحديد موقع الخطأ إلى قسمين: التحليل الثابت الذي يعتمد على فحص الشيفرة المصدرية الخاصة بالبرنامج، والتحليل الديناميكي الذي يعتمد على مراقبة سلوك البرنامج أثناء تشغيله. التصحيح الإحصائي هو أحد تقنيات التحليل الديناميكي. يعتمد على استخدام نماذج إحصائية لسلوك النظام ودراسة حالاته من حيث النجاح والفشل بهدف متابعة الأخطاء وتحديد الجزء المرتبط بها من الشيفرة المصدرية. في هذه الرسالة، تم دراسة بعض خوارزميات التصحيح الإحصائي، مع التركيز على الخوارزميات التي يمكن استخدامها في لغات البرمجة الديناميكية. أولا: قمنا بدراسة معمقة لخوارزميات التصحيح الإحصائي وما يتعلق بها. ثانيا قمنا بتجربة خوارزميتين من هذه الخوارزميات على مجموعة من البرامج المكتوبة بلغة البرمجة الديناميكية بايثون. قمنا ببرمجة خمسة برامج باستخدام بايثون، تم تصنيف هذه البرامج حسب تركيبها ودرجة تعقيدها. قمنا بعمل نسختين من كل برنامج، إحداهما صحيحة والأخرى تم حقنها ببعض الأخطاء. وتمت إضافة الفرضيات إلى البرامج لتتبع الأخطاء. قمنا بتجربة خوارزميتي SOBER و Cause Isolationلترتيب الفرضيات وتحديد الفرضيات التي تتعلق بالأخطاء. النتائج أوضحت أنه في البرامج التي تحتوي على خطأ واحد فقط، كلتا الخوارزميتين المذكورتين نجحت في تحديد مكان الخطأ بشكل فعال. في البرامج التي تحتوي على أكثر من خطأ، خوارزمية SOBER واجهت مشاكل تتعلق بالفرضيات المتداخلة، والفرضيات نادرة المشاهدة، والفرضيات المكملة لبعضها البعض. بينما واجهت خوارزمية في Cause Isolation مشاكل تتعلق بترتيب الفرضيات حسب أهميتها وتحديد الأخطاء التي تكون في نفس شرط الفرضية. في البرامج الأكبر حجما، تنخفض دقة الخوارزميتين في تحديد مكان الخطأ لكن نتائجها تبقى مناسبة وإن كانت غير مثالية.

عناصر مشابهة