← नवीनतम पेपर
💬 NLP

FunFuzz: An LLM-Powered Evolutionary Fuzzing Framework

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

मूल लेखक: Mario Rodríguez Béjar, B. Romera-Paredes, Jose L. Hernández-Ramos

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

मूल लेखक: Mario Rodríguez Béjar, B. Romera-Paredes, Jose L. Hernández-Ramos

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

कल्पना कीजिए कि आप एक विशाल, जटिल भूलभुलैया में छिपे हुए जाल खोजने की कोशिश कर रहे हैं। यह भूलभुलैया एक कंपाइलर (compiler) है—वह सॉफ़्टवेयर जो मानव-लिखित कोड को उन निर्देशों में अनुवादित करता है जिन्हें कंप्यूटर वास्तव में चला सकता है। यदि कंपाइलर में कोई बग (bug) है, तो यह क्रैश हो सकता है या गलत उत्तर दे सकता है, जिससे इसके ऊपर बनी हर चीज़ टूट सकती है।

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

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

पेश है FunFuzz।

लेखकों ने इस समस्या को ठीक करने के लिए एक नया सिस्टम बनाया है जिसे FunFuzz कहा जाता है। यह कैसे काम करता है, इसके लिए एक सरल उपमा (analogy) का उपयोग करते हैं:

1. "मल्टी-आइलैंड" (Multi-Island) रणनीति

कल्पना कीजिए कि आपके पास खजाना खोजने वाले शिकारियों की एक टीम है जो एक खोए हुए शहर की तलाश कर रही है।

  • पुराना तरीका (Single AI): आप एक शिकारी को बाहर भेजते हैं। वह चलना शुरू करता है, एक रास्ता ढूंढता है, और उसी रास्ते पर चलता रहता है। अंततः, वह ऊब जाता है या एक लूप में फंस जाता है, और वह नई चीजें खोजना बंद कर देता है।
  • FunFuzz का तरीका: आप पाँच अलग-अलग टीमें (जिन्हें "आइलैंड्स" कहा जाता है) भेजते हैं। प्रत्येक टीम एक पूरी तरह से अलग हिस्से से शुरू करती है जिसमें एक अलग नक्शा और एक अलग लक्ष्य होता है।
    • टीम A को "प्राचीन अवशेषों" की तलाश करने के लिए कहा गया है।
    • टीम B को "छिपी हुई गुफाओं" की तलाश करने के लिए कहा गया है।
    • टीम C को "नदी के पार जाने के रास्तों" की तलाश करने के लिए कहा गया है।

क्योंकि वे अलग-अलग निर्देशों के साथ शुरू करते हैं, वे एक ही रास्ते पर नहीं चलते। वे एक साथ भूलभुलैया के विभिन्न हिस्सों की खोज करते हैं।

2. "माइग्रेशन" (Migration) प्रणाली

हर कुछ घंटों में, टीमें एक कैंपफायर (आग) के पास मिलती हैं।

  • यदि टीम A को कोई बहुत ही शानदार, दुर्लभ कलाकृति (एक प्रोग्राम जो कंपाइलर को क्रैश कर देता है या कुछ अजीब करता है) मिलती है, तो वे इसे अपने पास नहीं रखतीं। वे टीम B और टीम C के साथ इसकी एक कॉपी साझा करती हैं।
  • महत्वपूर्ण बात: वे टीम B को उनके कैंप से बाहर नहीं निकालतीं। वे बस टीम B के संग्रह में वह नया आर्टिफैक्ट जोड़ देती हैं। इस तरह, टीम B अपनी प्रगति को खोए बिना उस नए विचार का उपयोग और गहराई तक जाने के लिए कर सकती है।

यह पूरे समूह को एक ही लूप में फंसने से रोकता है, जबकि सबसे अच्छी खोजों को फैलने का मौका भी देता है।

3. "फिटनेस स्कोर" (Fitness Score) (वे कैसे जानते हैं कि क्या अच्छा है)

AI को कैसे पता चलता है कि कौन सा टेस्ट केस बेहतर है?

  • सिस्टम AI द्वारा लिखे गए कोड को कंपाइल करता है।
  • यह गिनता है कि उस टेस्ट ने कंपाइलर के अपने आंतरिक कोड की कितनी नई लाइनों को छुआ है।
  • यदि कोई टेस्ट केस कंपाइलर को अपने ही किसी ऐसे हिस्से को देखने के लिए मजबूर करता है जिसे उसने पहले नहीं देखा था, तो उस टेस्ट को उच्च स्कोर मिलता है।
  • सिस्टम अगले पीढ़ी के टेस्ट बनाने के लिए उच्चतम स्कोर वाले टेस्ट को चुनता है, जिससे खोज लगातार बेहतर होती रहती है।

उन्होंने क्या पाया?

शोधकर्ताओं ने FunFuzz का परीक्षण दो प्रमुख कंपाइलर्स: GCC और Clang पर अन्य शीर्ष-स्तरीय टूल्स (जैसे Fuzz4All, जो AI का उपयोग करता है लेकिन केवल एक टीम का, और Kitten, जो लाखों रैंडम म्यूटेशन फेंकता है) के विरुद्ध किया।

  • बेहतर कवरेज: FunFuzz ने अन्य टूल्स की तुलना में कंपाइलर्स के अंदर अधिक "नया क्षेत्र" खोजा। इसने अधिक गहराई और विस्तार से खोज की।
  • अधिक बग्स: 24 घंटे के परीक्षणों के दौरान, FunFuzz ने 119 अद्वितीय बग्स खोजे जिनके कारण कंपाइलर क्रैश हो गए या आंतरिक रूप से विफल हो गए।
  • वास्तविक दुनिया का प्रभाव: डेवलपर्स ने इन 80 बग्स की पुष्टि की।
  • दक्षता (Efficiency): भले ही FunFuzz ने सबसे तेज़ टूल्स की तुलना में अधिक कुल प्रोग्राम नहीं बनाए, लेकिन इसने जो प्रोग्राम बनाए वे बहुत उच्च गुणवत्ता के थे। इसने प्रति घंटा अधिक बग्स खोजे।

निचोड़ (The Bottom Line)

FunFuzz एक स्मार्ट खजाने की खोज की तरह है जो एक अकेले धावक के बजाय खोजकर्ताओं की एक टीम का उपयोग करता है। टीमों को अलग रखकर और उन्हें उनकी सबसे अच्छी खोजों को साझा करने देकर, यह उबाऊ लूप में फंसने से बचता है और आधुनिक कंपाइलर्स की जटिल मशीनरी में बहुत गहराई तक खुदाई करता है, जिससे वे बग मिलते हैं जिन्हें अन्य तरीके मिस कर देते हैं।

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

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

Digest आज़माएँ →