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

Testing Framework Migration with Large Language Models

यह शोध पत्र वास्तविक दुनिया के उदाहरणों के एक क्यूरेटेड डेटासेट का उपयोग करके, पायथन टेस्ट सूट्स को \texttt{unittest} से \texttt{Pytest} में माइग्रेट करने को स्वचालित करने में लार्ज लैंग्वेज मॉडल्स (GPT-4o और Claude Sonnet 4) की प्रभावशीलता का मूल्यांकन करता है, जिसमें यह पाया गया है कि हालांकि LLMs इस प्रक्रिया को तेज कर सकते हैं, लेकिन लगभग आधे जनरेट किए गए माइग्रेशन विफल हो जाते हैं और मॉडल एवं प्रॉम्पटिंग रणनीति के आधार पर विशिष्ट व्यवहारिक अंतर प्रदर्शित करते हैं।

मूल लेखक: Altino Alves, João Eduardo Montandon, Andre Hora

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

मूल लेखक: Altino Alves, João Eduardo Montandon, Andre Hora

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

कल्पना कीजिए कि आपके पास बहुत सारी किताबों का एक विशाल, पुराना पुस्तकालय है जो एक बहुत ही सख्त, औपचारिक भाषा में लिखी गई है जिसे unittest कहा जाता है। यह पूरी तरह से काम करता है, लेकिन यह बोझिल है, बहुत अधिक जगह घेरता है, और इसे पढ़ना कठिन है। पुस्तकालय के मालिक इसे एक नई, आधुनिक भाषा में ले जाना चाहते हैं जिसे Pytest कहा जाता है, जो अधिक सुव्यवस्थित, पढ़ने में आसान और बेहतर सुविधाओं वाली है।

हालाँकि, हज़ारों किताबों को हाथ से ले जाना एक बुरा सपना है। इसमें सालों लग जाते हैं, और लोग थक जाते हैं। इसलिए, इस शोध पत्र के लेखकों ने एक बहुत ही स्मार्ट सवाल पूछा: "क्या हम इस काम को हमारे लिए करने के लिए एक सुपर-इंटेलिजेंट AI रोबोट (एक लार्ज लैंग्वेज मॉडल) को काम पर रख सकते हैं?"

यहाँ उन्होंने क्या किया और उन्हें क्या मिला, इसका सरल विवरण दिया गया है:

प्रयोग: AI मूवर्स (AI चलाने वाले)

शोधकर्ताओं ने प्रसिद्ध ओपन-सोर्स प्रोजेक्ट्स (जैसे वेब सर्वर और डेटा विश्लेषण के पीछे के टूल्स) से 40 विशिष्ट "किताबें" (टेस्ट केस) चुनीं। उन्होंने दो सबसे स्मार्ट उपलब्ध AI रोबोटों—GPT-4o और Claude Sonnet 4—को उनसे पुराने भाषा से नई भाषा में अनुवाद करने के लिए कहा।

उन्होंने AI से पूछने के अलग-अलग तरीके आजमाए:

  • Zero-shot: बस यह कहना, "इसका अनुवाद करो।"
  • One-shot: यह कहना, "इसका अनुवाद करो, और यहाँ एक उदाहरण है कि मैं इसे कैसे चाहता हूँ।"
  • Chain-of-Thought: यह कहना, "अनुवाद करने से पहले कदम-दर-कदम सोचो।"

उन्होंने यह देखने के लिए भी AI की "रचनात्मकता का डायल" (creativity dial) ऊपर या नीचे किया कि क्या अधिक रैंडम होना मदद करता है।

परिणाम: एक मिला-जुला अनुभव

परिणाम ऐसे थे जैसे आपने सामान ले जाने वाली एक ऐसी टीम को काम पर रखा हो जो अविश्वसनीय रूप से तेज़ तो है, लेकिन कभी-कभी डिब्बे गिरा देती है।

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

रोबोटों के व्यक्तित्व

दोनों AI रोबलों के अपने अलग स्टाइल थे, जैसे दो अलग-अलग आर्किटेक्ट:

  1. Claude Sonnet 4 (रूढ़िवादी नवीनीकरणकर्ता - The Conservative Renovator): यह रोबोट बहुत सावधान था। इसे पुरानी इमारत की संरचना को बनाए रखना पसंद था। यदि मूल टेस्ट एक "क्लास" (एक बड़ा कंटेनर) था, तो Claude ने उसे क्लास के रूप में ही रखा। यह बहुत अधिक बदलाव नहीं करना चाहता था, जिसका अर्थ यह भी था कि इसने कुछ पुराने, बोझिल हिस्सों को बरकरार रखा।
  2. GPT-4o (आधुनिकतावादी - The Modernist): यह रोबोट आधुनिक बनाने के लिए उत्सुक था। इसे बड़े "क्लास" कंटेनरों को गिराकर उन्हें सरल, स्टैंडअलोन फंक्शन्स के रूप में फिर से बनाना पसंद था। यह नई भाषा की विशेषताओं का उपयोग करने में अधिक आक्रामक था, लेकिन यह तब गलतियाँ कर देता था जब इसने बहुत जल्दी बहुत अधिक बदलाव करने की कोशिश की।

आश्चर्यजनक बातें

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

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

यह पेपर निष्कर्ष निकालता है कि AI इस काम के लिए एक शक्तिशाली सहायक है, लेकिन यह एकमात्र बॉस बनने के लिए तैयार नहीं है।

यदि आप अपने टेस्ट को माइग्रेट करने के लिए AI का उपयोग करते हैं, तो यह आधे काम को सही ढंग से और बहुत तेज़ी से कर सकता है। हालाँकि, एक इंसान को दूसरे आधे हिस्से की जाँच करने की आवश्यकता होती है। AI एक बहुत तेज़ अनुवादक की तरह है जो भाषा धाराप्रवाह बोलता है, लेकिन कभी-कभी सांस्कृतिक संदर्भ या उन विशिष्ट उपकरणों को मिस कर देता है जिनकी कहानी को नए परिवेश में काम करने के लिए आवश्यकता होती है।

संक्षेप में: AI पुराने टेस्टिंग फ्रेमवर्क से नए फ्रेमवर्क में जाने की प्रक्रिया को तेज़ कर सकता है, लेकिन आप बस अपना सामान पैक करके छोड़ नहीं सकते; आपको सामान पहुँचने पर बक्सों का निरीक्षण करने की भी आवश्यकता है ताकि यह सुनिश्चित हो सके कि कुछ टूटा नहीं है।

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

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

Digest आज़माएँ →