
Build asılılıqlarının yoxlanması eBPF ilə 54 dəfə sürətləndi
Waseda Universitetinin tədqiqatçıları mkcheck2 alətini hazırlayıb: o, build asılılıqlarını ptrace yerinə eBPF ilə izləyir və qrafikin yalnız dəyişmiş hissəsini təhlil edir. 300 layihədə bir commit üçün orta təhlil vaxtı 1267,49 saniyədən 23,56 saniyəyə düşüb.
Yaponiyadakı tədqiqatçılar proqramların build asılılıqlarını əvvəlki üsullardan qat-qat sürətli yoxlayan alət hazırlayıblar: alət ptrace yerinə eBPF ilə sistem çağırışlarını izləyir və asılılıq qrafikinin yalnız dəyişən hissəsini yenidən təhlil edir. The Register-in məlumatına görə, mkcheck2 yoxlama sürətini 54 dəfəyə qədər artırır.
Build asılılıqları bir fayl dəyişdikdə build sisteminin hansı faylları yenidən qurmalı olduğunu müəyyən edir. Bu təsvir səhvdirsə, build ya uğursuz olur, ya da yanlış nəticə verir.
Yoxlama niyə bu qədər bahadır
ICSE 2026-da təqdim olunan məqalədə Waseda Universitetindən Yuta Saito və Hironori Washizaki, Tokio Onlayn Universitetindən Kazunori Sakamoto ilə birlikdə bildirirlər ki, asılılıqla bağlı xətalar, həm çatışmayan, həm də artıq asılılıqlar, böyük layihələrdə build xətalarının 50%-dən çoxunu təşkil edir.
Ənənəvi yanaşma istifadəçi məkanında işləyən ptrace-ə söykənir, buna görə hər sistem çağırışında proses dayandırılır və kontekst dəyişdirilir. Müəlliflərin ölçmələrinə görə, build vaxtı mkcheck alətində orta hesabla 101,7%, BuildFS-də isə 148,0% artırdı.
eBPF izləmə və inkremental analiz
mkcheck2 bu yükü iki üsulla əvəz edir. Build Tracer modulu eBPF proqramlarını nüvənin içində işlədir və sistem çağırışlarını real vaxtda süzür, ptrace-in tələb etdiyi kontekst dəyişmələri olmadan. Asılılıq qrafiki qurucusu izlənən fayl əməliyyatlarından build-in həqiqətən istifadə etdiyi asılılıqların təsvirini yaradır və tarixçəsini saxlayır. İnkretmental analizator isə müxtəlif build-lərin qrafiklərini müqayisə edir və hər kənarı yoxlamaq yerinə yalnız dəyişmiş hissələrə baxır.
"Bizim yanaşmamız yüngül sistem çağırışı monitorinqi texnologiyası olan eBPF-i inkremental analizlə birləşdirərək yoxlama vaxtını əhəmiyyətli dərəcədə azaldır," deyə Washizaki izah edir.
Nəticələr və məhdudiyyətlər
Qiymətləndirmə BuildFS-in istifadə etdiyi Make korpusu da daxil olmaqla 300 açıq mənbəli layihəni əhatə edib. Layihələr üzrə orta build yükü baza səviyyəsinin 0,3%-nə düşdü; ptrace əsaslı alətlərdə bu göstərici 101,7% və 148,0% idi və müəlliflər bunu 99,7%-ə qədər azalma kimi qiymətləndirir. Bir commit üçün orta təhlil vaxtı 1267,49 saniyədən 23,56 saniyəyə endi; ardıcıl on commit halında alət 75-80% sürətlidir.
Dəqiqlik itməyib: 15 740 çatışmayan asılılıq üçün 100%, 11 720 artıq asılılıq üçün isə 92% aşkarlama göstəricisi bildirilir, yanlış pozitivlər olmadan. Məhdudiyyət ondadır ki, eBPF dəstəyi olan müasir Linux nüvəsi və CAP_SYS_ADMIN kimi imtiyazlar tələb olunur. Washizakinin sözlərinə görə, texnologiya davamlı inteqrasiyada sürətli yoxlamanın kritik olduğu bulud və AI infrastrukturunda mühüm ola bilər.
SiTech — AI ilə gücləndirilmiş veb hazırlanması
Sürətli və müasir saytlar qurur, AI-ı real biznes proseslərinə gətiririk. Layihəniz və ya sualınız var? Kömək etməyə hazırıq.