← नवीनतम पेपर
🤖 AI

EvoGPT: Leveraging LLM-Driven Seed Diversity to Improve Search-Based Test Suite Generation

EvoGPT एक हाइब्रिड टेस्ट जनरेशन सिस्टम है जो कोड कवरेज और म्यूटेशन स्कोर को बेहतर बनाने के लिए लार्ज लैंग्वेज मॉडल्स को सर्च-बेस्ड सॉफ्टवेयर टेस्टिंग के साथ जोड़ता है, ताकि प्रीमैच्योर कन्वर्जेंस (समयपूर्व अभिसरण) से बचने के लिए इनिशियलाइजेशन और सर्च दोनों चरणों में LLM-संचालित विविधता का लाभ उठाया जा सके।

मूल लेखक: Lior Broide, Roni Stern, Argaman Mordoch

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

मूल लेखक: Lior Broide, Roni Stern, Argaman Mordoch

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

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

यही सॉफ्टवेयर टेस्टिंग (Software Testing) करता है। यह बग्स (bugs) को खोजने के लिए कोड को "तोड़ने" की कोशिश करता है ताकि वास्तविक उपयोगकर्ताओं से पहले उन्हें पकड़ा जा सके।

लंबे समय से, हमारे पास इसे करने के दो मुख्य तरीके रहे हैं:

  1. "इवोल्यूशनरी" तरीका (SBST): कल्पना कीजिए कि आप चींटियों के एक झुंड को बाहर भेज रहे हैं। वे बेतरतीब ढंग से इधर-उधर घूमते हैं, और यदि कोई चींटी एक नया रास्ता खोज लेती है, तो वह एक फेरोमोन (pheromone) का निशान छोड़ देती है। अन्य चींटियाँ उस निशान का पीछा करती हैं, और समय के साथ, पूरा झुंड बेहतर खोजबीन करने में सक्षम हो जाता है। यह जमीन को कवर करने के लिए बहुत अच्छा है, लेकिन कभी-कभी चींटियाँ गुफा के एक छोटे से कोने में फंस जाती हैं और दूसरी जगह देखना बंद कर देती हैं।
  2. "AI" तरीका (LLMs): कल्पना कीजिए कि आप एक बुद्धिमान, विद्वान खोजकर्ता (एक AI) से एक नक्शा बनाने के लिए कहते हैं। AI स्मार्ट है और तुरंत एक बहुत अच्छा नक्शा बना सकता है। लेकिन कभी-कभी, AI आलसी हो जाता है, एक ही पैटर्न को दोहराता है, या ऐसे रास्तों का भ्रम (hallucinate) पैदा करता है जो वास्तव में मौजूद ही नहीं हैं। वह गुफा के अजीब, छिपे हुए कोनों को मिस कर सकता है।

एवोजीपीटी (EvoGPT) से मिलिए: "सुपर-टीम" दृष्टिकोण

यह पेपर EvoGPT को पेश करता है, जो दोनों दुनियाओं के सर्वश्रेष्ठ गुणों को मिलाने वाला एक हाइब्रिड सिस्टम है। इसे एक विविध AI खोजकर्ताओं की टीम को शुरुआती नक्शे बनाने के लिए काम पर रखने और फिर उन नक्शों को रिफाइन और परफेक्ट करने के लिए चींटियों के झुंड को भेजने के रूप में समझें।

यहाँ बताया गया है कि EvoGPT कैसे काम करता है, जिसे सरल चरणों में विभाजित किया गया है:

1. "विविध मंथन" (प्रारंभिक जनसंख्या)

सिर्फ एक नक्शा मांगने के बजाय, EvoGPT AI के पाँच अलग-अलग संस्करणों से नक्शा बनाने के लिए कहता है।

  • ट्रिक: यह प्रत्येक अनुरोध के लिए AI की "पर्सनैलिटी" को बदल देता है।
    • AI एजेंट A को कहा जाता है: "सख्त रहें और हर एक नियम को कवर करें।"
    • AI एजेंट B को कहा जाता है: "रचनात्मक बनें और अजीब इनपुट्स के साथ चीजों को तोड़ने की कोशिश करें।"
    • AI एजेंट C को कहा जाता है: "एज केसेस (edge cases) पर ध्यान दें, जैसे खाली बॉक्स या शून्य मान (zero values)।"
  • परिणाम: पाँचों एक ही नक्शे की पाँच प्रतियां प्राप्त करने के बजाय, उन्हें पाँच पूरी तरह से अलग नक्शे मिलते हैं। यह सुनिश्चित करता है कि वे एक संकीर्ण दृष्टिकोण के बजाय विचारों की एक विस्तृत विविधता के साथ शुरुआत करें।

2. "फिक्स-इट" लूप (सुधार चक्र)

कभी-कभी, AI एक ऐसा नक्शा बनाता है जो सीधे खाई में गिर जाता है (कोड क्रैश हो जाता है)। EvoGPT उस नक्शे को केवल फेंक नहीं देता। यह एक मैकेनिक की तरह काम करता है:

  • यह त्रुटि देखता है (जैसे, "Missing import")।
  • यह इसे स्वचालित रूप से ठीक करने की कोशिश करता है।
  • यदि यह नहीं कर पाता, तो यह AI से पूछता है, "हे, तुमने यहाँ गलती की है, फिर से कोशिश करो।"
    यह कुछ बार तब तक होता है जब तक कि नक्शा उपयोग करने योग्य न हो जाए।

3. "स्वार्म ऑप्टिमाइजेशन" (विकासवादी एल्गोरिदम)

अब, हमारे पास 25 बेहतरीन, विविध नक्शे हैं। EvoGPT इन नक्शों को एक प्रजनन आबादी (breeding population) की तरह मानता है।

  • मिश्रण (Mixing): यह दो अच्छे नक्शों को लेता है और उन्हें आपस में मिलाता है (जैसे दो रेसिपी को मिलाना) यह देखने के लिए कि क्या नया संस्करण और भी बेहतर है।
  • म्यूटेशन (Mutating): यह छोटे रैंडम बदलाव करता है (जैसे किसी नंबर को 5 से बदलकर 6 करना) यह देखने के लिए कि क्या यह एक नया रास्ता खोलता है।
  • चयन (Selection): यह सबसे अच्छे नक्शों को रखता है और खराब वाले को हटा देता है।
    बार-बार, "झुंड" विकसित होता रहता है, और बेहतर होता जाता है।

4. "स्टक डिटेक्टर" (प्लेटो से बचना)

यहाँ सबसे चतुर हिस्सा है। कभी-कभी, झुंड फंस जाता है। वे एक ही क्षेत्र में घूमते रहते हैं। इसे प्लेटो (plateau) कहा जाता है।

  • पुराना तरीका: बस घूमते रहो और बेहतर होने की उम्मीद करो।
  • EvoGPT का तरीका: सिस्टम नोटिस करता है, "हे, हम प्रगति नहीं कर रहे हैं!" इसके बाद यह AI टीम को फिर से जगा देता है। यह विशेष रूप से उनसे कहता है, "हम इस कोने में फंस गए हैं। वे रास्ते खोजो जिन्हें हमने अभी तक नहीं देखा है!"
    क्योंकि AI को फिर से अलग-अलग "पर्सनैलिटी" के साथ पूछा जाता है, यह इस गतिरोध को तोड़ने के लिए ताज़ा, लक्षित विचार उत्पन्न करता है।

परिणाम: यह क्यों मायने रखता है

शोधकर्ताओं ने वास्तविक दुनिया के सॉफ्टवेयर प्रोजेक्ट्स (Defects4J) के एक मानक सेट पर इसका परीक्षण किया।

  • प्रतिस्पर्धा: उन्होंने EvoGPT की तुलना एक शुद्ध AI सिस्टम (TestART) और एक शुद्ध "चींटी झुंड" सिस्टम (EvoSuite) से की।
  • विजेता: EvoGPT ने बड़ी जीत हासिल की। इसने दूसरों की तुलना में लगभग 10% अधिक बग्स खोजे और 10% अधिक कोड कवर किया।
  • सबक: अध्ययन ने साबित किया कि विविधता ही कुंजी है। यदि आप केवल एक बार AI से पूछते हैं, या यदि आप केवल चींटियों को घूमने देते हैं, तो आप चीजें मिस कर देते हैं। लेकिन यदि आप AI को विविध होने के लिए मजबूर करते हैं और फिर चींटियों को उसे रिफाइन करने देते हैं, तो आपको दोनों दुनियाओं का सर्वश्रेष्ठ मिलता है।

चुनौती (लागत और समय)

यहाँ एक ट्रेड-ऑफ (समझौता) है।

  • EvoSuite (चींटियाँ): तेज़ और मुफ्त।
  • TestART (AI): तेज़ और सस्ता।
  • EvoGPT (हाइब्रिड): धीमा है और इसमें थोड़ा अधिक पैसा खर्च होता है (क्योंकि यह कई बार AI को कॉल करता है)।
    हालाँकि, पेपर का तर्क है कि महत्वपूर्ण सॉफ्टवेयर (जैसे बैंकिंग या मेडिकल ऐप्स) के लिए, 10% अधिक बग्स खोजने के लिए थोड़ा अधिक समय और पैसा देना पूरी तरह से सार्थक है।

संक्षेप में: EvoGPT एक विविध, रचनात्मक कलाकारों की टीम को बुलाने जैसा है जो नक्शे का पहला ड्राफ्ट तैयार करते हैं, और फिर सूक्ष्म संपादकों की एक टीम को उन रेखाचित्रों को पॉलिश करने, मिलाने और पूर्ण करने के लिए नियुक्त करना है जब तक कि नक्शा दोषरहित न हो जाए। यह विविधता का उपयोग करके फंसने से बचने और गुणवत्ता सुनिश्चित करने के लिए परिष्करण (refinement) के बारे में है।

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

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

Digest आज़माएँ →