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

On the Flakiness of LLM-Generated Tests for Industrial and Open-Source Database Management Systems

यह अध्ययन चार डेटाबेस प्रबंधन प्रणालियों के लिए LLM-जनरेटेड परीक्षणों की अस्थिरता (flakiness) की जांच करता है, जो यह प्रकट करता है कि ऐसे परीक्षणों में मौजूदा परीक्षणों की तुलना में अस्थिरता की दर थोड़ी अधिक है, जिसका मुख्य कारण गैर-गारंटीकृत निष्पादन क्रमों (non-guaranteed execution orders) पर निर्भरता है, और यह भी कि LLM अक्सर अपने प्रॉम्प्ट से मौजूदा अस्थिरता पैटर्न को प्रसारित करते हैं, विशेष रूप से क्लोज्ड-सोर्स वातावरण में।

मूल लेखक: Alexander Berndt, Thomas Bach, Rainer Gemulla, Marcus Kessel, Sebastian Baltes

प्रकाशित 2026-01-15
📖 5 मिनट में पढ़ें🧠 गहराई से पढ़ें

मूल लेखक: Alexander Berndt, Thomas Bach, Rainer Gemulla, Marcus Kessel, Sebastian Baltes

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

कल्पना कीजिए कि आप एक बहुत ही प्रतिभाशाली, सुशिक्षित रोबोट सहायक को काम पर रख रहे हैं ताकि वह एक जटिल मशीन, जैसे कि एक डेटाबेस जो आपकी कंपनी की सारी महत्वपूर्ण जानकारी संग्रहीत करता है, के लिए सुरक्षा जांच (safety checks) लिखने में आपकी मदद कर सके। आप रोबोट को अपने द्वारा लिखे गए कुछ उदाहरण देते हैं और वह सैकड़ों नए चेक बनाना शुरू कर देता है।

यह पेपर इस बात की रिपोर्ट कार्ड की तरह है कि रोबोट द्वारा लिखे गए उन चेक्स की विश्वसनीयता वास्तव में कितनी है। शोधकर्ता यह जानना चाहते थे: क्या रोबोट द्वारा लिखे गए टेस्ट लगातार काम करते हैं, या वे "फ्लैकी" (flaky) होते हैं?

एक "फ्लैकी" (Flaky) टेस्ट क्या है?

एक "फ्लैकी" टेस्ट को एक सिक्के के उछाल की तरह समझें जिससे आप हर बार 'हेड्स' आने की उम्मीद करते हैं।

  • एक सामान्य टेस्ट: आप इसे चलाते हैं, और यह कहता है "पास"। आप इसे फिर से चलाते हैं, और यह कहता है "पास"। यह विश्वसनीय है।
  • एक फ्लैकी टेस्ट: आप इसे चलाते हैं, और यह कहता है "पास"। आप इसे फिर से चलाते हैं, और यह कहता है "फेल"। आप तीसरी बार इसे चलाते हैं, और यह फिर से "पास" कहता है।

यह इंजीनियरों के लिए एक बुरा सपना है। यदि कोई टेस्ट बेतरतीब ढंग से फेल हो जाता है, तो वे यह नहीं बता सकते कि मशीन वास्तव में खराब है या टेस्ट का बस एक बुरा दिन था। यह समय बर्बाद करता है और लोगों का सुरक्षा जांचों पर से भरोसा कम करता है।

प्रयोग: रोबोट बनाम वास्तविक दुनिया

शोधकर्ताओं ने चार अलग-अलग "मशीनों" (डेटाबेस) के साथ एक प्रयोग किया:

  1. SAP HANA: एक विशाल, जटिल, क्लोज्ड-सोर्स औद्योगिक डेटाबेस (जैसे कि एक गुप्त, हाई-टेक तिजोरी)।
  2. MySQL, SQLite, और DuckDB: लोकप्रिय ओपन-सोर्स डेटाबेस (जैसे कि प्रसिद्ध, सार्वजनिक ब्लूप्रिंट)।

उन्होंने दो अलग-अलग "रोबोट दिमागों" (लार्ज लैंग्वेज मॉडल्स, या LLMs) का उपयोग किया: GPT-4o और Mistral। उन्होंने इन रोबोटों को मौजूदा टेस्ट देखने के लिए कहा और नए टेस्ट लिखने के लिए कहा ताकि वे अधिक परिदृश्यों को कवर कर सकें (इस प्रक्रिया को "टेस्ट एम्प्लीफिकेशन" कहा जाता है)।

मुख्य निष्कर्ष

1. रोबोट इंसानों की तुलना में थोड़ा अधिक "चंचल" (jittery) है।
शोधकर्ताओं ने पाया कि रोबोट द्वारा लिखे गए टेस्ट, इंसानों द्वारा लिखे गए टेस्ट की तुलना में थोड़े अधिक "फ्लैकी" होने की संभावना रखते थे। जहाँ मानव-लिखित टेस्ट ज्यादातर ठोस थे, वहीं रोबोट के टेस्ट के बेतरतीब ढंग से विफल होने की संभावना अधिक थी।

2. "क्रम" का भ्रम (मुख्य कारण)।
रोबोट के टेस्ट फ्लैकी होने का सबसे बड़ा कारण क्या था? क्रम (order) के बारे में भ्रम।
कल्पना कीजिए कि आप एक रोबोट को एक कक्षा में शीर्ष 3 छात्रों की सूची बनाने के लिए कहते हैं। यदि आप उसे यह नहीं बताते कि उन्हें कैसे क्रमबद्ध करना है (ग्रेड के आधार पर, नाम के आधार पर, या ऊंचाई के आधार पर), तो वह हर बार चलाने पर एक अलग सूची दे सकता है।

  • मानवीय गलती: रोबोट ने ऐसे टेस्ट लिखे जो यह मान लेते थे कि डेटाबेस हमेशा परिणामों को एक विशिष्ट क्रम में (जैसे A-Z क्रम में) लौटाएगा।
  • वास्तविकता: डेटाबेस अक्सर परिणामों को एक यादृच्छिक (random) क्रम में लौटाते हैं जब तक कि आप उन्हें स्पष्ट रूप से सॉर्ट करने के लिए न कहें।
  • परिणाम: टेस्ट एक बार पास हो गया (क्योंकि यादृच्छिक क्रम रोबोट के अनुमान से मेल खा गया) और अगली बार फेल हो गया (क्योंकि क्रम बदल गया)। ऐसा रोबोट के 63% फ्लैकी टेस्ट में हुआ।

3. "नकल करने वाला प्रभाव" (Flakiness Transfer)।
यह सबसे दिलचस्प हिस्सा है। शोधकर्ताओं ने एक चाल चली। उन्होंने एक मौजूदा टेस्ट लिया जो पहले से ही फ्लैकी था (एक बुरा उदाहरण) और उस टेस्ट को रोबोट को उदाहरण के रूप में दिया कि टेस्ट कैसे लिखा जाए।

  • परिणाम: रोबोट ने केवल कोड की नकल नहीं की; उसने बुरी आदत की भी नकल की। उसने उसी तरह के फ्लैकी टेस्ट लिखना शुरू कर दिया जैसे मूल टेस्ट था।
  • अंतर: रोबोट ने यह SAP HANA (गुप्त औद्योगिक डेटाबेस) के साथ बहुत अधिक किया, ओपन-सोर्स डेटाबेस की तुलना में। क्यों? क्योंकि रोबोट ने अपने प्रशिक्षण में SAP HANA का कोड पहले कभी नहीं देखा था। वह आपके द्वारा दिए गए उदाहरणों पर बहुत अधिक निर्भर था, भले ही वे उदाहरण टूटे हुए थे। ओपन-सोर्स डेटाबेस के साथ, रोबोट ने समान कोड पहले देखा था, इसलिए वह थोड़ा स्वतंत्र था।

4. कंपाइलेशन का संघर्ष।
जटिल, क्लोज्ड-सोर्स SAP HANA के लिए, रोबोट आधे समय के आसपास ऐसा कोड लिखने में संघर्ष करता था जो कंपाइल (एक प्रोग्राम के रूप में काम) भी हो सके। यह ऐसा ही है जैसे रोबोट कार के इंजन के निर्देश लिखने की कोशिश कर रहा हो जिसे उसने पहले कभी नहीं देखा, और इसके लिए केवल आपके द्वारा दिए गए कुछ रेखाचित्रों का उपयोग कर रहा हो। वह भ्रमित हो गया और सिंटैक्स त्रुटियां (syntax errors) करने लगा।

निष्कर्ष (Takeaway)

पेपर यह निष्कर्ष निकालता है कि जबकि AI प्राकृतिक और मानव-तुल्य दिखने वाला कोड लिखने में बहुत अच्छा है, इसमें एक अंधा मोड़ (blind spot) है: यह हमेशा उस सिस्टम के छिपे हुए नियमों को नहीं समझ पाता जिसका यह परीक्षण कर रहा है।

  • "क्रम" का जाल: यह अक्सर भूल जाता है कि डेटाबेस परिणामों का क्रम तब तक सुनिश्चित नहीं करते जब तक उन्हें बताया न जाए।
  • "बुरा उदाहरण" का जाल: यदि आप AI को एक फ्लैकी टेस्ट दिखाते हैं, तो वह संभवतः उसी तरह की फ्लैकीनेस की नकल करेगा, खासकर यदि वह सिस्टम को अच्छी तरह से नहीं जानता हो।

सलाह: इससे पहले कि आप AI को अपने सुरक्षा चेक लिखने दें, आपको यह सुनिश्चित करना होगा कि आपके मौजूदा चेक पूरी तरह से ठोस हों। यदि आप AI को बुरे उदाहरण देते हैं, तो वह बुरी आदतें सीख जाएगा। साथ ही, आपको उसे सिस्टम के काम करने के तरीके के बारे में बहुत विशिष्ट निर्देश देने होंगे, क्योंकि वह अपने आप छिपे हुए नियमों का अनुमान नहीं लगा सकता।

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

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

Digest आज़माएँ →