آیا cURL داره به صفر باگ نزدیک میشه؟
خلاصهٔ کاملتر
دنیل استنبرگ، سازنده و نگهدارندهی اصلی پروژهی cURL، یه مقالهی تأملبرانگیز نوشته دربارهی اینکه آیا روزی میرسه که یه پروژهی نرمافزاری واقعاً به «صفر باگ» برسه یا نه.
موضوع اصلی اینه که ابزارهای آنالیز کد — از استاتیک آنالایزرهای قدیمی گرفته تا ابزارهای مدرن مبتنی بر هوش مصنوعی — داره خیلی بهتر میشه و سریعتر از قبل باگ پیدا میکنه. این یه چالش جدی برای توسعهدهندههاست: سرعت پیدا کردن باگ از سرعت رفعشون بیشتره، و وقتی هم که رفع بشن، رساندن نسخهی جدید به دست کاربرها خودش زمان میبره.
یه نکتهی مهمی که استنبرگ بهش اشاره میکنه اینه که این ابزارها باگ «نمیسازن» — فقط اونهایی که از قبل توی کد بودن رو پیدا میکنن. مثل یه فیلتر قویتر توی استخر: هرچی فیلتر بهتر، آشغال بیشتری بالا میاد. ضمناً هر باگفیکسی که merge میشه خودش ممکنه باگ جدیدی وارد کنه، و اضافه کردن فیچرهای جدید هم همین ریسک رو داره.
حالا سوال اصلی اینه: آیا اصلاً میشه به «صفر باگ» رسید؟ استنبرگ یه روش جالب پیشنهاد میده برای سنجش اینکه چقدر بهش نزدیک شدیم: نگاه کردن به «سن» باگها در لحظهی کشف. اگه ابزارها واقعاً خوب بشن، باید فقط باگهایی رو پیدا کنن که خیلی تازه وارد کد شدن — یعنی میانگین سن باگهای گزارششده باید کاهش پیدا کنه.
برای آسیبپذیریها (بدترین نوع باگ) این داده رو داره. ولی نمودارها نشون میدن که نه میانگین سن آسیبپذیریهای کشفشده داره کم میشه، نه سرعت باگفیکسها. هیچکدوم از این منحنیها هنوز نشانهای از افت نشون نمیدن.
استنبرگ صادقانه اعتراف میکنه که این دادهها فقط از یه پروژه هستن و نمیشه ازشون نتیجهگیری آماری قوی گرفت. ولی این تنها چیزیه که داره. نتیجهاش هم سادهست: «فکر نمیکنم هنوز به صفر باگ نزدیک باشیم. من به رفع باگ ادامه میدم.»
یه سوال باز هم توی مقاله مطرحه: ابزارهای فردا چقدر بهتر میشن؟ ۱۰٪ بهتر؟ ۱۰۰۰٪؟ این بهتر شدن چند سال طول میکشه؟ و اگه روزی به اون نقطه رسیدیم، اصلاً چطور میفهمیم؟
نکات کلیدی:
- ابزارهای آنالیز کد سریعتر از توسعهدهندهها باگ پیدا میکنن، ولی باگ نمیسازن — فقط پیداشون میکنن
- هر باگفیکس یا فیچر جدید میتونه خودش باگ جدیدی وارد کد کنه
- روش پیشنهادی برای سنجش نزدیکی به «صفر باگ»: کاهش میانگین سن باگهای کشفشده
- دادههای واقعی cURL نشون میده که هنوز نه سن آسیبپذیریها کم شده، نه نرخ باگفیکس
- رسیدن به صفر باگ شاید تئوری ممکن باشه، ولی هیچ نشانهای از نزدیک شدن به اون دیده نمیشه




