ليبييرز

السؤال: ما هو عمر تبعيات المشروع مقارنة بالإصدارات المستقرة الحالية؟

نظرة عامة

تقيس Libyars العمر التراكمي لتبعيات المشروع مقارنة بإصداراتها المستقرة الحالية. يشير "الإصدار المستقر الحالي" للتبعية إلى الإصدار المخصص للاستخدام العام، باستثناء إصدارات ما قبل الإصدار أو المسودة. تساعد Libyars في تحديد الفجوة بين تبعيات المشروع وأحدث إصداراتها المستقرة. يمكن التعبير عن هذا المقياس بأشكال مختلفة، مثل:

  • العمر الاجمالي عبر جميع التبعيات
  • متوسط ​​العمر من التبعيات
  • منتصف العمر من التبعيات (على الرغم من أن الوسيط قد يخفي المشكلات إذا كان هناك ذيل طويل من التبعيات الأقدم)

تساعد أداة Libyars في تحديد التبعيات المعرضة للخطر بسبب الإصدارات القديمة. يمكن أن تؤدي التبعيات القديمة إلى مخاطر تتعلق بالاستقرار والأمان والثغرات الأمنية، حيث قد تكون بها عيوب أمنية معروفة أو تكون أقل دعمًا من قبل صيانتها. توفر أداة Libyars مرشحًا قيمًا لتحديد أولويات التبعيات التي تحتاج إلى الاهتمام بالتحديثات أو الفحص الإضافي.

بشكل عام، تشير قيمة Libyar المنخفضة إلى أن المشروع أكثر حداثة. غالبًا ما تقوم الأدوات التي تنفذ هذا المقياس أيضًا بفرز التبعيات حسب العمر لتحديد الأقدم والأكثر خطورة.

اريد معرفة المزيد؟

انقر هنا لقراءة المزيد حول هذا المقياس.

استراتيجيات جمع البيانات

توفر معظم الأدوات التي تحسب سنوات المكتبة إصدارات التبعيات وتحسب الفجوة بين الإصدارات المستقرة الحالية وإصدارات المشروع. لاحظ أن بعض الأدوات قد تتضمن اختلافات في أرقام الإصدارات (على سبيل المثال، 1.1.1 مقابل 1.2.3)، ولكن نظرًا لاختلاف مخططات ترقيم الإصدارات، فإن هذا المقياس يركز على قياس عمر التبعيات استنادًا إلى تواريخ الإصدار.

  • المعلمات: يتم حساب سنوات المكتبة عادةً في سياق نظام بيئي معين (على سبيل المثال، JavaScript أو Maven). تكون الحسابات عبر الأنظمة البيئية أكثر تعقيدًا وقد تتطلب قائمة شاملة بالمواد البرمجية (SBOM).

يمكن أن يمثل هذا المقياس ما يلي:

  • التبعيات المباشرة فقط، أو تشمل التبعيات متعدية (تبعيات التبعيات). غالبًا ما يؤدي تضمين التبعيات الانتقالية إلى تسليط الضوء على مخاطر إضافية، لكن لا تدعمها جميع الأدوات.
  • الفروع المستقرة الحالية: عادةً ما يتم اعتبار أحدث فرع مستقر للمشروع هو الفرع الحالي. ومع ذلك، قد تكون الفروع الأقدم التي لا تزال مدعومة بنشاط مقبولة أيضًا. من المهم أن يوضح أي تقرير المعايير المستخدمة بوضوح.
  • فترات السماح: افتراضيًا، لا يتم تضمين فترة سماح عند حساب مدى "حداثة" التبعية. ومع ذلك، إذا تم استخدامها، فيجب الإشارة إليها صراحةً في التقارير.

فلاتر

يمكن تصفية حسابات Libyears لتقديم تحليل أكثر تركيزًا:

  • مستوى التبعية: التبعيات المباشرة مقابل تضمين التبعيات الانتقالية كما هو محدد في تبعيات كود المنبع قياس.
  • السنوات الليبية التراكمية: تلخيص عمر جميع التبعيات.
  • متوسط ​​العمر: متوسط ​​عمر جميع التبعيات.
  • متوسط ​​العمر: القيمة المتوسطة لجميع أعمار التبعية (على الرغم من أنها قد تخفي المشكلات بسبب الذيل الطويل).
  • قائمة مرتبة: يتم تصنيف التبعيات حسب العمر، الأكبر سنا أولا، لتحديد الأشخاص الأكثر عرضة للخطر بسرعة.

المرئيات

هذا مثال على Libyear كمقياس تراكمي لـ Libyears للتبعيات المباشرة ، وفي هذه الحالة بقيمة تراكمية تبلغ 103.78 libyears.

تصور LibYear

الشكل 1: سنوات المكتبة التراكمية للتبعيات المباشرة للمشروع.مصدر


مراجع حسابات

  1. كوكس، جيه، بويرز، إي، فان إيكلين، إم، وفيسر، جيه (2015). قياس حداثة التبعية في أنظمة البرمجيات. وقائع المؤتمر الدولي السابع والثلاثين للهندسة البرمجية (ICSE 2015). https://ericbouwers.github.io/papers/icse15.pdf
  2. ليبيار: https://libyear.com/

المساهمين

  • صوفيا فارغاس
  • ديفيد أ. ويلر
  • فينود أهوجا
  • كيت ستيوارت
  • دوان أوبراين
  • شون جوجينز
  • ييغاكبووا ل. صموئيل

معلومات اضافية

قد يؤدي استخدام المقاييس الصحية ونشرها إلى انتهاكات الخصوصية. قد تتعرض المنظمات للمخاطر. قد تتدفق هذه المخاطر من الامتثال للائحة العامة لحماية البيانات في الاتحاد الأوروبي ، أو مع قانون الولاية في الولايات المتحدة ، أو مع قوانين أخرى. قد تكون هناك أيضًا مخاطر تعاقدية ناتجة عن شروط الخدمة لموفري البيانات مثل GitHub و GitLab. يجب فحص استخدام المقاييس بحثًا عن المخاطر ومشكلات أخلاقيات البيانات المحتملة. لطفا أنظر وثيقة أخلاقيات البيانات CHAOSS للحصول على إرشادات إضافية.

الرسوم (تاج):
هل كان المقال مساعدا؟!
كراهية 0