← नवीनतम पेपर
💻 computer science

Will It Break in Production? Metric-Driven Prediction of Residual Defects in Python Systems

यह शोध पत्र प्रदर्शित करता है कि प्रोसेस और कोड मेट्रिक्स का उपयोग करने वाले सुपरवाइज्ड मशीन लर्निंग मॉडल उच्च रिकॉल के साथ पायथन सिस्टम में अवशिष्ट दोषों (residual defects) की प्रभावी ढंग से भविष्यवाणी कर सकते हैं, जो एलएलएम (LLMs) और अनसुपरवाइज्ड दृष्टिकोणों से बेहतर प्रदर्शन करते हैं और यह प्रकट करते हैं कि मेट्रिक्स और कोड एम्बेडिंग पूरक जानकारी कैप्चर करते हैं।

मूल लेखक: Giuseppe De Rosa, Pietro Liguori

प्रकाशित 2026-04-30
📖 6 मिनट में पढ़ें🧠 गहराई से पढ़ें

मूल लेखक: Giuseppe De Rosa, Pietro Liguori

मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें

कल्पना कीजिए कि आप एक विशाल खिलौना कारखाने में एक गुणवत्ता निरीक्षक (quality inspector) हैं। आपका काम उन टूटे हुए खिलौनों को ढूंढना है जो गोदाम से बाहर निकलने से पहले ही खराब हो जाते हैं। आपके पास निरीक्षकों की एक टीम (परीक्षण टीम) है जो हर खिलौने की जांच करती है। लेकिन कभी-कभी, एक टूटा हुआ खिलौना आपकी नजरों से बच निकलता है, ग्राहक के पास पहुँच जाता है, और केवल तभी टूटता है जब बच्चा उसके साथ खेलने की कोशिश करता है। सॉफ्टवेयर की दुनिया में, इन्हें रेसिड्यूअल फॉल्ट्स (residual faults) कहा जाता है—ऐसे बग्स जो सभी टेस्टिंग के बावजूद बच निकलते हैं और केवल तब सामने आते हैं जब प्रोग्राम वास्तविक दुनिया में "लाइव" होता है।

यह शोध पत्र एक सरल लेकिन कठिन प्रश्न पूछता है: क्या हम एक ऐसा कंप्यूटर प्रोग्राम बना सकते हैं जो यह भविष्यवाणी कर सके कि कौन से बग्स कारखाने से बच निकलेंगे और वास्तविक दुनिया में टूट जाएंगे?

शोधकर्ताओं ने पायथन (Python) पर ध्यान केंद्रित किया, जो एक लोकप्रिय प्रोग्रामिंग भाषा है जो बहुत लचीली है लेकिन पेचीदा भी हो सकती है क्योंकि यह हमेशा त्रुटियों (errors) को तब तक नहीं पकड़ पाती जब तक कि कोड वास्तव में चल न रहा हो।

यहाँ उनके निष्कर्ष दिए गए हैं, जिन्हें सरल अवधारणाओं में विभाजित किया गया है:

1. "सुपर-इंटेलिजेंट" अनुमान लगाने वाले विफल रहे

शोधकर्ताओं ने सबसे पहले लार्ज लैंग्वेज मॉडल्स (LLMs) का उपयोग करने की कोशिश की। इन्हें सुपर-स्मार्ट एआई रोबोट मान लीजिए जिन्होंने अब तक लिखा गया लगभग हर कोड पढ़ लिया है। उन्होंने इन रोबोटों से कोड का एक टुकड़ा देखने और यह अनुमान लगाने को कहा, "क्या यह बग बाद में दिखाई देगा?"

  • परिणाम: ये एआई रोबोट इस विशिष्ट कार्य के लिए बहुत खराब थे।
    • एक एआई (Gemini) समस्याओं को खोजने के लिए इतना उत्सुक था कि वह लगभग हर चीज़ के लिए "खतरा!" चिल्ला रहा था। उसने लगभग सभी वास्तविक खराब बग्स को तो ढूंढ लिया, लेकिन उसने हजारों अच्छे खिलौनों को भी टूटा हुआ बता दिया। यह एक ऐसे स्मोक अलार्म की तरह था जो ब्रेड टोस्ट करने पर भी बजने लगे।
    • अन्य एआई (Claude, GPT-4) बहुत अधिक सतर्क थे। उन्होंने ज्यादातर कहा, "ठीक लग रहा है," और वास्तविक खतरनाक बग्स को मिस कर दिया।
    • यहाँ तक कि जब उन्होंने इन रोबोटों को विशेष रूप से इस कार्य के लिए "प्रशिक्षित" करने की कोशिश की, तब भी वे पैटर्न को नहीं सीख सके। वे बस यह अंतर नहीं कर सके कि एक ऐसा बग जो छिपा रहेगा और एक जो क्रैश का कारण बनेगा, उनमें क्या अंतर है।

2. "पुराने ज़माने के" सांख्यिकीविद जीत गए

इसके बाद, शोधकर्ताओं ने एक अलग दृष्टिकोण अपनाया। एआई से कोड को इंसान की तरह "पढ़ने" के लिए कहने के बजाय, उन्होंने कंप्यूटर को कोड के बारे में मेट्रिक्स (metrics) (संख्याओं और आंकड़ों) की एक सूची दी।

इसे ऐसे समझें जैसे कोई डॉक्टर मरीज के महसूस करने के तरीके के बजाय उसके महत्वपूर्ण संकेतों (vital signs) की जांच करता है। उन्होंने कोड के बारे में ऐसी चीजें देखीं जैसे:

  • आयु (Age): यह कोड कितना पुराना है?

  • आकार (Size): यह फ़ाइल कितनी बड़ी है?

  • चर्न (Churn): लोग इसे कितनी बार बदल रहे हैं?

  • गतिविधि (Activity): कितने अलग-अलग डेवलपर्स ने इसे छुआ है?

  • परिणाम: यह तरीका बहुत बेहतर काम कर गया।

    • मानक मशीन लर्निंग टूल (जैसे Random Forest और XGBoost) का उपयोग करके, वे प्रोडक्शन में भागने वाले बग्स की उच्च सटीकता के साथ भविष्यवाणी कर सके।
    • उन्होंने भाग जाने वाले बग्स में से लगभग 85% से 90% को पकड़ लिया।
    • महत्वपूर्ण रूप से, उन्होंने एआई रोबोटों की तुलना में "मिस किए गए" बग्स की संख्या को बहुत बड़ी मात्रा में कम कर दिया।

3. खराब बग्स का "सीक्रेट सॉस" (Secret Sauce)

अध्ययन ने ठीक से पता लगाया कि कौन सी चीज़ एक बग को पहचान से बचने की संभावना बनाती है। यह कोड के जटिल तर्क (logic) के बारे में नहीं था; यह फ़ाइल के इतिहास और संरचना के बारे में था।

वे बग्स जो बच निकले, उनके मिलने की संभावना सबसे अधिक थी:

  • पुराने कोड में: वे फ़ाइलें जो लंबे समय से मौजूद हैं।
  • बड़े कोड में: बड़ी फ़ाइलें जिन्हें नेविगेट करना कठिन है।
  • अव्यवस्थित (Messy) कोड में: वे फ़ाइलें जिन्हें कई अलग-अलग लोगों द्वारा लगातार बदला गया है।
  • जटिल कोड में: वे फ़ाइलें जिनके सिस्टम के अन्य हिस्सों के साथ कई संबंध हैं।

यह खोजने जैसा है कि वे खिलौने जिनके बाद में टूटने की सबसे अधिक संभावना है, वे हैं जो वर्षों से गोदाम में रखे हुए हैं, जिनमें बहुत सारे छोटे हिस्से हैं, और जिन्हें अलग-अलग काम करने वालों की बदलती टीम द्वारा असेंबल किया गया है।

4. दो अलग-अलग भाषाएँ

अंत में, शोधकर्ताओं ने पूछा: "क्या एआई की 'समझ' और 'संख्याओं' (मेट्रिक्स) का हमें एक ही बात पता चलता है?"

  • उत्तर: नहीं। वे दो अलग-अलग भाषाओं की तरह हैं।
  • मेट्रिक्स आपको कोड की संरचना और इतिहास (कोड का "आकार") के बारे में बताते हैं।
  • एआई एम्बेडिंग्स (AI embeddings) (एआई की आंतरिक समझ) आपको कोड के अर्थ और सिमेंटिक्स (कोड क्या करने की कोशिश कर रहा है) के बारे में बताती हैं।
  • अध्ययन ने दिखाया कि ये दो प्रकार की जानकारी पूरी तरह से अलग स्थानों पर स्थित हैं। वे पूरक (complementary) हैं, जिसका अर्थ है कि वे ओवरलैप नहीं होते हैं। हालाँकि, जब शोधकर्ताओं ने उन्हें एक सुपर-मॉडल में मिलाने की कोशिश की, तो एआई भ्रमित हो गया और उसका प्रदर्शन खराब हो गया। ऐसा लगता है कि फिलहाल के लिए, सरल संख्याएं इस विशिष्ट कार्य के लिए सबसे विश्वसनीय उपकरण हैं।

मुख्य निष्कर्ष (The Bottom Line)

यदि आप उन बग्स को ढूंढना चाहते हैं जो आपके सॉफ़्टवेयर लॉन्च करने के बाद टूट जाएंगे, तो कोड को "पढ़ने" और अनुमान लगाने के लिए किसी फैंसी एआई पर भरोसा न करें। इसके बजाय, सांख्यिकी (stats) देखें: अपनी फ़ाइलों की आयु, आकार और परिवर्तन के इतिहास की जांच करें।

सबसे अच्छी रणनीति एक सरल, तेज़ कंप्यूटर मॉडल का उपयोग करना है जो "पुराने, बड़े और अव्यवस्थित" फ़ाइलों को अतिरिक्त मानव निरीक्षण के लिए फ्लैग (flag) करे। यह हर एक बग को नहीं पकड़ेगा, लेकिन यह उन खतरनाक बग्स के बड़े हिस्से को पकड़ लेगा जो आमतौर पर बच निकलते हैं।

अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?

आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।

Digest आज़माएँ →