العودة
أداة mkcheck2 تسرع التحقق من تبعيات البناء 54 مرة باستخدام eBPF
SiTech AI Team2 წთ. საკითხავი

أداة mkcheck2 تسرع التحقق من تبعيات البناء 54 مرة باستخدام eBPF

طوّر باحثون في جامعة واسيدا أداة mkcheck2 التي تتحقق من تبعيات البناء بتقنية eBPF بدلًا من ptrace وتحلل الأجزاء المتغيرة فقط من مخطط التبعيات، فانخفض متوسط زمن التحليل لكل إيداع من 1267.49 إلى 23.56 ثانية في 300 مشروع.

طوّر باحثون في اليابان أداةً تتحقق من تبعيات البناء في البرمجيات بسرعة تفوق الأساليب السابقة بكثير: فهي تتبع نداءات النظام بتقنية eBPF بدلًا من ptrace، وتعيد تحليل الأجزاء التي تغيّرت فقط من مخطط التبعيات. ووفقًا لتقرير The Register، ترفع الأداة mkcheck2 سرعة التحقق حتى 54 مرة.

تحدد تبعيات البناء الملفات التي يجب على نظام البناء إعادة بنائها عند تغيّر ملف آخر. وإذا كان هذا التحديد خاطئًا، فإن عملية البناء إما تفشل وإما تنتج نتيجة غير صحيحة.

لماذا يكون التحقق مكلفًا

في ورقة بحثية قُدمت في مؤتمر ICSE 2026، يذكر يوتا سايتو وهيرونوري واشيزاكي من جامعة واسيدا، إلى جانب كازونوري ساكاموتو من جامعة طوكيو المفتوحة، أن الأخطاء المرتبطة بالتبعيات، سواء كانت ناقصة أو زائدة، تشكل أكثر من 50% من أخطاء البناء في المشاريع البرمجية الكبيرة.

يعتمد الأسلوب السائد على ptrace الذي يعمل في فضاء المستخدم، ولذلك يوقف العملية ويبدّل السياق عند كل نداء نظام. وقاس المؤلفون متوسط الحمل الزائد على زمن البناء فوجدوه 101.7% مع أداة mkcheck السابقة و148.0% مع BuildFS.

تتبع eBPF والتحليل التزايدي

تستبدل mkcheck2 هذا العبء بأسلوبين. فوحدة Build Tracer تشغّل برامج eBPF داخل نواة النظام وتصفّي نداءات النظام في الزمن الحقيقي دون تبديلات السياق التي يتطلبها ptrace. ويحوّل باني مخطط التبعيات عمليات الملفات المتابَعة إلى تمثيل للتبعيات التي استخدمها البناء فعليًا، ويحفظ تاريخها. وأخيرًا يقارن المحلل التزايدي مخططات التبعيات الناتجة عن عمليات بناء مختلفة ويتحقق من الأجزاء المتغيرة فقط بدلًا من فحص كل حافة.

يقول واشيزاكي: "يستخدم أسلوبنا تقنية eBPF، وهي تقنية خفيفة لمراقبة نداءات النظام، إلى جانب التحليل التزايدي، لتقليل زمن التحقق بدرجة كبيرة." ويضيف أن الأساليب القائمة على ptrace دقيقة، لكنها تضيف حملًا كبيرًا لأنها تعمل في فضاء المستخدم وتتطلب إيقاف العملية وتبديل السياق عند كل نداء نظام.

النتائج والقيود

شمل التقييم 300 مشروع مفتوح المصدر، من بينها مجموعة Make التي استخدمها BuildFS. وانخفض متوسط الحمل الزائد على البناء إلى 0.3% من المستوى الأساسي، مقابل 101.7% و148.0% للأدوات القائمة على ptrace، وهي نسبة يصفها المؤلفون بانخفاض يصل إلى 99.7%. وتراجع متوسط زمن التحليل لكل إيداع من 1267.49 ثانية إلى 23.56 ثانية، وعند عشرة إيداعات متتالية تكون الأداة أسرع بنسبة 75-80%.

ولم تتأثر الدقة: يذكر المؤلفون نسبة كشف 100% للتبعيات الناقصة وعددها 15,740، و92% للتبعيات الزائدة وعددها 11,720، من دون نتائج موجبة خاطئة. وتحتاج الأداة إلى نواة Linux حديثة تدعم eBPF وإلى صلاحيات مثل CAP_SYS_ADMIN لتحميل برامج التتبع. ويقول واشيزاكي إن التقنية قد تكون مهمة في البنية السحابية وبنية الذكاء الاصطناعي، حيث يكون التحقق السريع داخل التكامل المستمر أمرًا أساسيًا.

SSiTech

SiTech — تطوير ويب مدعوم بالذكاء الاصطناعي

نبني مواقع سريعة وعصرية وندمج الذكاء الاصطناعي في سير عمل الشركات. لديك مشروع أو سؤال؟ يسعدنا مساعدتك.