مستودعات برامج التعدين
في مجال هندسة البرمجيات ، يقوم مجال استخراج البيانات من مستودعات البرمجيات [ 1 ] ( MSR ) [ 2 ] بتحليل البيانات الغنية المتاحة في مستودعات البرمجيات، مثل مستودعات التحكم في الإصدار ، وأرشيفات القوائم البريدية ، وأنظمة تتبع الأخطاء ، وأنظمة تتبع المشكلات ، وما إلى ذلك، للكشف عن معلومات مثيرة للاهتمام وقابلة للتنفيذ حول أنظمة البرمجيات والمشاريع وهندسة البرمجيات .
تعريف
يُعرّف هيرزيج وزيلر "استخراج البيانات من أرشيفات البرمجيات" بأنه عملية "للحصول على الكثير من الأدلة الأولية" من خلال استخراج البيانات من مستودعات البرمجيات. كما يُعرّفان "مصادر البيانات" بأنها عناصر قائمة على المنتج مثل شفرة المصدر، ومتطلبات البرمجيات، أو أرشيفات الإصدارات، ويزعمان أن هذه المصادر غير متحيزة، ولكنها غير دقيقة وغير مكتملة. [ 3 ]
التقنيات
تحليل التغيرات المترابطة
تعتمد فكرة تحليل التغييرات المترابطة على قيام المطورين بتغيير كيانات برمجية (مثل الملفات) معًا بشكل متكرر لإصلاح الأخطاء أو إضافة ميزات جديدة. غالبًا ما تكون هذه الروابط بين الكيانات غير موضحة صراحةً في الكود أو الوثائق الأخرى. لا سيما المطورون الجدد في المشروع، فهم لا يعرفون أي الكيانات يجب تغييرها معًا. يهدف تحليل التغييرات المترابطة إلى استخلاص هذه الروابط من نظام التحكم في الإصدارات للمشروع. من خلال عمليات الالتزام وتوقيت التغييرات، يمكننا تحديد الكيانات التي تتغير معًا بشكل متكرر. يمكن بعد ذلك عرض هذه المعلومات على المطورين الذين يوشكون على تغيير أحد الكيانات لدعمهم في تغييراتهم اللاحقة. [ 4 ]
تحليل الالتزامات
توجد أنواع عديدة من عمليات الالتزام في أنظمة التحكم في الإصدارات، مثل عمليات الالتزام لإصلاح الأخطاء، وعمليات الالتزام لإضافة ميزات جديدة، وعمليات الالتزام لتوثيق البرامج، وما إلى ذلك. ولاتخاذ قرارات مبنية على البيانات استنادًا إلى عمليات الالتزام السابقة، يلزم اختيار مجموعات فرعية من عمليات الالتزام التي تستوفي معيارًا محددًا. ويمكن القيام بذلك بناءً على رسالة الالتزام. [ 5 ]
إنشاء الوثائق
من الممكن إنشاء وثائق مفيدة من مستودعات برامج التعدين. على سبيل المثال، يقوم برنامج Jadeite بحساب إحصائيات الاستخدام ويساعد المستخدمين الجدد على تحديد الفئات شائعة الاستخدام بسرعة. [ 6 ]
البيانات والأدوات
تأتي بيانات التنقيب الأساسية من أنظمة التحكم في الإصدارات. أُجريت التجارب المبكرة للتنقيب على مستودعات CVS. [ 7 ] ثم قام الباحثون بتحليل مستودعات SVN على نطاق واسع. [ 8 ] أما الآن، فتُهيمن مستودعات Git. [ 9 ] وبحسب طبيعة البيانات المطلوبة (الحجم، المجال، المعالجة)، يُمكن تنزيل البيانات من أحد هذه المصادر. مع ذلك، غيّرت إدارة البيانات وجمعها بهدف بناء نماذج لغوية ضخمة قواعد اللعبة، وذلك من خلال دمج استخدام برامج زحف الويب للحصول على البيانات من مصادر ومجالات متعددة.
انظر أيضاً
مراجع
- ↑ حسن، أحمد إ. (2008). "الطريق إلى الأمام لاستخراج البيانات من مستودعات البرمجيات" . آفاق صيانة البرمجيات لعام 2008. معهد مهندسي الكهرباء والإلكترونيات. ص 48-57 .
- ↑ مؤتمر العمل حول استخراج البيانات من مستودعات البرمجيات ، وهو المؤتمر الرئيسي لهندسة البرمجيات في هذا المجال
- ↑ KS Herzig و A. Zeller، "استخراج الأدلة الخاصة بك"، في Making Software، ص 517-529، سيباستوبول، كاليفورنيا، الولايات المتحدة الأمريكية: O'Reilly، 2011.
- ↑ غال، هـ.؛ هاجيك، ك.؛ جزائري، م. (1998). "الكشف عن الترابط المنطقي بناءً على تاريخ إصدار المنتج". وقائع المؤتمر الدولي لصيانة البرمجيات (رقم التصنيف 98CB36272) . الصفحات 190-198 . CiteSeerX 10.1.1.199.7754 . doi : 10.1109/icsm.1998.738508 . ISBN 978-0-8186-8779-2.
- ↑ هيندل، أبرام؛ جيرمان، دانيال م.؛ جودفري، مايكل و.؛ هولت، ريتشارد س. (2009). "التصنيف التلقائي للتغييرات الكبيرة ضمن فئات الصيانة". المؤتمر الدولي السابع عشر لمعهد مهندسي الكهرباء والإلكترونيات حول فهم البرامج، 2009. الصفحات 30-39 . doi : 10.1109/ICPC.2009.5090025 . ISBN 978-1-4244-3998-0.
- ↑ ستيلوس، جيفري؛ فولرينغ، أندرو؛ يانغ، زيزوانغ؛ مايرز، براد أ. (2009). "تحسين توثيق واجهة برمجة التطبيقات باستخدام معلومات استخدامها". ندوة IEEE لعام 2009 حول اللغات المرئية والحوسبة المتمحورة حول الإنسان (VL/HCC) . الصفحات 119-126 . doi : 10.1109/VLHCC.2009.5295283 . ISBN 978-1-4244-4876-0.
- ↑ كانفورا، ج.؛ سيرولو، ل. (2005). "تحليل الأثر من خلال استخراج البيانات من مستودعات البرمجيات وطلبات التغيير". المؤتمر الدولي الحادي عشر لمقاييس البرمجيات التابع لمعهد مهندسي الكهرباء والإلكترونيات (METRICS'05) . ص 29. doi : 10.1109/METRICS.2005.28 . ISBN 978-0-7695-2371-2.
- ↑ دامبروس، ماركو؛ غال، هارالد؛ لانزا، ميشيل؛ بينزغر، مارتن (2008). "تحليل مستودعات البرمجيات لفهم تطور البرمجيات". تطور البرمجيات . ص 37-67 . doi : 10.1007/978-3-540-76440-3_3 . ISBN 978-3-540-76439-7.
- ↑ كاليامفاكو، إيريني؛ غوسيوس، جورجيوس؛ بلينكو، كيلي؛ سينغر، ليف؛ جيرمان، دانيال م.؛ داميان، دانييلا (2014). "وعود ومخاطر استخراج البيانات من مستودعات جيت هاب". وقائع المؤتمر الحادي عشر حول استخراج البيانات من مستودعات البرمجيات - MSR 2014. الصفحات 92-101 . doi : 10.1145/2597073.2597074 . ISBN 9781450328630.
- هندسة البرمجيات
