Extending Sequence Diagrams for Better Comprehension of Program Control-flow
No Thumbnail Available
Date
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Saudi Digital Library
Abstract
الهندسة العكسية للمخططات التسلسلية من الأنظمية البرمجية هي وسيلة فعّالة لتسهيل فهم البرامج لغرض الصيانة أو التعلم. في بداية هذا العمل، قمنا بعمل مسح أدبي لكل التقنيات في هذا المجال واستكشاف ميزاتها وعيوبها. في الواقع، لاحظنا أن تلك التقنيات ترتكز على تحليل البرامج إما بشكل ساكن أو ديناميكي أو الإثنان معاً وذلك لدعم فهم البرامج. بعد استكشاف الفجوات خلالها، قررنا تطوير طريقة خاصة بنا لفهم البرامج بشكل فعّال تختلف عن تلك الموجودة سابقاً من ناحية الهدف والمضمون. نحن نسعى من خلال تقنيتنا المقترحة إلى تغطية العديد من الفجوات التى لم تُعالج من قبل وذلك بتوفير حلول موسعة ومرنة تتركز على زيادة كفاءة فهم البرامج وذلك من خلال استخدام العديد من الإضافات للمخططات التسلسلية والتي نسعى من خلالها لعرض التفاعلات والأحداث الموجودة داخل البرامج بترميزات معبرة، سهلة الفهم، وغير معقدة. تتكون التقنية المقترحة في هذه الرسالة من ثلاث عمليات رئيسية وهي (1) استخراج المعلومات عن البرامج المراد فهمها من شفرة المصدر الخاصة بها (2) تحليل هذه المعلومات لتتبع كل التفاعلات الموجودة فيها (3) عرض هذه التفاعلات بشكل مرئي على واجهة المستخدم الرسومية. تتبلور حصيلة هذه الرسالة في إنتاج نموذج للتقنية المقترحة ومبنى خصيصاً للتعامل مع البرامج المصصمة بلغة الجافا وتم اختباره والتحقق من دقة عمله بتطبيقه على بعض مشاريع البرمجية المفتوحة المصدر. إضافةً إلى ذلك، تم تقييم المنتج النهائي باستخدام تجربة محكمة تقوم بقياس مدى فهم المستخدمين للبرامج باستخدام الطريقة المقترحة مقارنة بالطريقة القياسية وذلك من خلال العديد من المهام التي صممت لهذا الغرض. بعد تحليل نتائج هذه التجربة تبين أن الإضافات التي قمنا بتوسيع المخططات التسلسلية بها كانت بسيطة وغير معقدة، فقد ساعدت المستخدمين على فهم البرامج والأكواد البرمجية بوقت أسرع وبدقة أكبر مما هي عليه في حالة استخدام المخططات التسلسلية الإعتيادية.