← नवीनतम पेपर
⚛️ quantum physics

KQFuzz: Knowledge-Guided Fuzzing for Quantum Libraries via Large Language Models

KQFuzz एक नवीन नॉलेज-गाइडेड फज़र है जो Qiskit, PennyLane और Cirq जैसी क्वांटम लाइब्रेरीज़ में टेस्ट कवरेज को महत्वपूर्ण रूप से सुधारने और बग्स को खोजने के लिए लार्ज लैंग्वेज मॉडल्स, कोडबेस-अवेयर प्रॉम्प्टिंग और फिटनेस-ड्रिवन म्यूटेशन रणनीतियों का लाभ उठाता है।

मूल लेखक: Fuyuan Xia, Qixin Zhang, Chenhao Ying, Haojin Zhu, Shuai Wang, Yuan Luo, Pingchuan Ma, Yuxuan Du

प्रकाशित 2026-07-29
📖 10 मिनट में पढ़ें🧠 गहराई से पढ़ें

मूल लेखक: Fuyuan Xia, Qixin Zhang, Chenhao Ying, Haojin Zhu, Shuai Wang, Yuan Luo, Pingchuan Ma, Yuxuan Du

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

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

इन डिजिटल इंजनों को सुचारू रूप से चलाने के लिए, टेस्टर "फज़िंग" (fuzzing) नामक एक तकनीक का उपयोग करते हैं। कल्पना कीजिए एक ऐसे रोबोट की जो बेतरतीब ढंग से एक ताले में हजारों अलग-अलग चाबियाँ डाल रहा है, यह देखने के लिए कि क्या कोई ऐसी चाबी है जो उसे तोड़ दे या तंत्र को जाम कर दे। सॉफ्टवेयर टेस्टिंग में, इसका अर्थ है प्रोग्राम को लाखों रैंडम, थोड़े अजीब इनपुट देना ताकि यह देखा जा सके कि क्या वह क्रैश होता है या अजीब व्यवहार करता है। हाल ही में, वैज्ञानिकों ने आर्टिफिशियल इंटेलिजेंस (विशेष रूप से लार्ज लैंग्वेज मॉडल्स, या LLMs) का उपयोग इन रोबोटों के रूप में करना शुरू किया, इस उम्मीद में कि वे एक साधारण रैंडम जनरेटर की तुलना में बेहतर, अधिक रचनात्मक टेस्ट केस लिख सकेंगे। हालाँकि, जब बात क्वांटम कोड की पेचीदा दुनिया की आती है, तो ये AI रोबोट लड़खड़ा रहे हैं, अक्सर ऐसे निर्देश लिख रहे हैं जिनका क्वांटम हार्डवेयर के लिए कोई अर्थ नहीं निकलता।

यहीं पर एक नई शोध टीम एक चतुर समाधान के साथ आती है जिसे KQFuzz कहा जाता है। उन्होंने महसूस किया कि जबकि AI कोड लिखने में बहुत अच्छा है, लेकिन जब नियम तेजी से बदलते हैं, तो यह अक्सर भटक जाता है, जो क्वांटम की तेज़ गति वाली दुनिया में लगातार होता है। इसे ठीक करने के लिए, उन्होंने AI के लिए एक "ज्ञान मार्गदर्शक" (knowledge guide) बनाया। AI को अनुमान लगाने देने के बजाय, KQFuzz उसे लाइब्रेरी के वर्तमान नियमों, संबंधों और इतिहास का एक विस्तृत मानचित्र प्रदान करता है। यह ऐसा है जैसे रोबोट को चाबियाँ फेंकना शुरू करने से पहले एक GPS और एक नियम पुस्तिका देना। इस मानचित्र को अपनी स्मार्ट प्रणाली के साथ जोड़कर, जो यह जाँचती है कि कौन से टेस्ट केस सबसे दिलचस्प हैं और उन्हें और भी अजीब विविधताओं में बदलने (mutate करने) के लिए उन्हें संशोधित करती है, KQFuzz ने तीन प्रमुख क्वांटम लाइब्रेरीज़ (Qiskit, PennyLane, और Cirq) में 13 नए बग्स सफलतापूर्वक खोज निकाले। डेवलपर्स ने उन सभी की पुष्टि की, और 12 को पहले ही ठीक किया जा चुका है

समस्या: जब AI क्वांटम भूलभुलैया में खो जाता है

क्वांटम लाइब्रेरीज़ जीवित, सांस लेते जीवों की तरह हैं जो लगभग रोज़ आकार बदलती हैं। नया हार्डवेयर आता है, और उसे फिट होने के लिए सॉफ्टवेयर को फिर से लिखना पड़ता है। यह मानक परीक्षण उपकरणों के लिए एक दुःस्वप्न पैदा करता है।

सबसे पहले, पुराने ज़माने के "सर्किट-लेवल" फज़र्स हैं। ये उन रोबोटों की तरह हैं जो केवल सरल लेगो (Lego) संरचनाएं बनाना जानते हैं। वे वैध सर्किट बनाने के लिए सख्त, पूर्व-लिखित नियमों का पालन करते हैं। हालांकि वे संरचनात्मक दरारें खोजने में अच्छे हैं, लेकिन वे अविश्वसनीय रूप से कठोर हैं। वे आधुनिक क्वांटम सॉफ्टवेयर की उच्च-स्तरीय विशेषताओं को नहीं संभाल सकते क्योंकि उनकी नियम पुस्तिकाएँ पुरानी हो चुकी हैं। वे उस शेफ की तरह हैं जो केवल टोस्ट बनाना जानता है; भले ही सामग्री सही हो, वे एक शानदार भोजन नहीं बना सकते।

फिर, AI-संचालित फज़र्स आते हैं। ये लार्ज लैंग्वेज मॉडल्स (LLM)—वही तकनीक जो निबंध या कोड लिखती है—का उपयोग करके टेस्ट केस उत्पन्न करते हैं। विचार यह है कि चूंकि इन AI ने लाखों कोड उदाहरण पढ़े हैं, इसलिए उन्हें सटीक क्वांटम प्रोग्राम लिखना आना चाहिए। लेकिन यहाँ एक पेंच है: क्वांटम दुनिया बहुत तेज़ी से चलती है। AI का प्रशिक्षण डेटा अक्सर पुराना होता है। जब किसी लाइब्रेरी के नए संस्करण के लिए कोड लिखने को कहा जाता है, तो AI "हैलुसिनेट" (hallucinate) करने लगता है। वह ऐसे कमांड आविष्कार करता है जो मौजूद नहीं हैं या उन पुराने कमांड का उपयोग करता है जिन्हें हटा दिया गया है। लेखकों के एक अध्ययन में, जब उनसे क्वांटम लाइब्रेरीज़ के लिए कोड लिखने को कहा गया, तो केवल 35% से 46% प्रयास ही वास्तव में सफल रहे। इसकी तुलना क्लासिकल सॉफ्टवेयर (जैसे मानक पायथन लाइब्रेरीज़) से करें, जहाँ AI 64% से 86% बार सही होता है। AI अनिवार्य रूप से अंधेरे में अनुमान लगा रहा है, और उसके अधिकांश अनुमान गलत हैं।

समाधान: KQFuzz, एक जानकार मार्गदर्शक

इस शोध पत्र के लेखकों, फ्यूयान ज़िया (Fuyuan Xia) और उनकी टीम ने अनुमान लगाना बंद करने का निर्णय लिया। उन्होंने KQFuzz बनाया, एक ऐसा सिस्टम जो AI के लिए एक जानकार टूर गाइड के रूप में कार्य करता है। AI को अंधेरे में भटकने देने के बजाय, KQFuzz उसे परीक्षण की जा रही लाइब्रेरी के सोर्स कोड से निकाला गया ज्ञान का एक "कॉर्पस" (corpus) देता है।

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

  1. स्टैटिक मेटाडेटा: लाइब्रेरी के हर टूल (API) के सटीक नाम और स्थान।
  2. संबंध (Relationships): विभिन्न टूल्स एक-दूसरे से कैसे बात करते हैं (जैसे, "टूल A आमतौर पर टूल B के बाद आता है")।
  3. सिमेंटिक मॉडल: प्रत्येक टूल वास्तव में क्या करता है, इसका सारांश, जिसे एक शक्तिशाली AI मॉडल द्वारा लिखा गया है जो कोड को पढ़ता है।
  4. इवोल्यूशन मेट्रिक्स: टूल्स के समय के साथ कैसे बदले हैं इसका इतिहास, जो यह उजागर करता है कि कौन से अस्थिर या बार-बार अपडेट होने वाले हैं।

इस मानचित्र के साथ, KQFuzz फज़िंग AI को ऐसे टेस्ट केस उत्पन्न करने के लिए निर्देशित करता है जो वास्तव में वैध हों। यह केवल AI से "कोड लिखने" के लिए नहीं कहता; यह कहता है, "यहाँ वर्तमान मानचित्र है। इन विशिष्ट टूल्स का उपयोग करें जो कठिन माने जाते हैं, और सुनिश्चित करें कि वे इस तरह से जुड़ते हैं।" इस दृष्टिकोण ने उत्पन्न कोड की वैधता को काफी बढ़ा दिया, जिससे एक विफल होने वाली प्रक्रिया एक विश्वसनीय प्रक्रिया में बदल गई।

रणनीति: दो-स्तरीय म्यूटेशन और फिटनेस चेक

एक बार जब KQFuzz के पास एक वैध शुरुआती बिंदु (एक "सीड" प्रोग्राम) होता है, तो वह केवल वहीं नहीं रुकता। उसे छिपे हुए बग्स को खोजना होता है, जो अक्सर जटिल इंटरैक्शन के गहरे स्तरों में दबे होते हैं। ऐसा करने के लिए, यह दो-चरणीय रणनीति का उपयोग करता है:

1. फिटनेस फंक्शन (द जज):
सभी टेस्ट केस एक समान नहीं होते। कुछ उबाऊ और सरल होते हैं; अन्य जटिल और अराजक होते हैं। KQFuzz प्रत्येक टेस्ट केस को ग्रेड देने के लिए एक "फिटनेस फंक्शन" का उपयोग करता है। यह निम्नलिखित की तलाश करता है:

  • गेट डायवर्सिटी (Gate Diversity): क्या कई अलग-अलग प्रकार के क्वांटम ऑपरेशन्स का उपयोग किया जा रहा है?
  • एंटैंगल्ड क्यूबिट्स (Entangled Qubits): क्या क्वांटम बिट्स जटिल तरीकों से परस्पर क्रिया कर रहे हैं?
  • API डायवर्सिटी: क्या लाइब्रेरी के विभिन्न हिस्सों का एक साथ परीक्षण किया जा रहा है?
  • कॉल डेप्थ (Call Depth): कमांड की श्रृंखला कितने चरणों तक गहरी जाती है?

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

2. दो-स्तरीय म्यूटेशन (द शेपशिफ्टर):
सर्वश्रेष्ठ टेस्ट केस चुनने के बाद, KQFuzz छोटे, स्मार्ट बदलाव करके उन्हें तोड़ने की कोशिश करता है। यह दो तरीकों से करता है:

  • पैरामीटर-लेवल म्यूटेशन: यह नंबरों में हेरफेर करता है। क्वांटम गेट्स अक्सर कोणों (जैसे 0, 1, या π\pi) का उपयोग करते हैं। KQFuzz इन नंबरों को "कॉर्नर केसेस" के साथ बदल देता है—अजीब, चरम मान जो सिस्टम को भ्रमित कर सकते हैं।
  • गेट-लेवल स्ट्रक्चरल म्यूटेशन: यह सर्किट की संरचना को बदल देता है। यह एक प्रकार के क्वांटम गेट को दूसरे से बदल देता जो समान व्यवहार करता है लेकिन जिसका आंतरिक तर्क अलग होता है। यह एक कार के इंजन को दूसरे मॉडल से बदलने जैसा है ताकि यह देखा जा सके कि चेसिस कैसा प्रदर्शन करता है।

परिणाम: बग्स की खोज

टीम ने तीन सबसे लोकप्रिय क्वांटम लाइब्रेरीज़: Qiskit, PennyLane, और Cirq पर KQFuzz का परीक्षण किया। उन्होंने इसकी तुलना मौजूदा सर्वोत्तम उपकरणों, जिनमें अन्य फज़र्स और AI-आधारित टेस्टर भी शामिल हैं, के साथ की।

परिणाम प्रभावशाली थे। KQFuzz ने न केवल अधिक बग्स खोजे; इसने कोड के उन हिस्सों की भी खोज की जिन्हें अन्य टूल्स पूरी तरह से छोड़ देते हैं।

  • Qiskit पर, KQFuzz ने 63.31% कोड कवर किया, जबकि अगले सर्वश्रेष्ठ टूल ने केवल 53.00% कवर किया।
  • PennyLane पर, इसने 45.44% की तुलना में 58.71% कवरेज प्राप्त किया।
  • Cirq पर, इसने 73.79% का विशाल कवरेज हासिल किया, जिससे मुकाबला 55.35% पर पीछे रह गया।

कुल मिलाकर, KQFuzz ने 13 अद्वितीय बग्स खोजे। प्रत्येक की लाइब्रेरी डेवलपर्स द्वारा पुष्टि की गई थी, और 12 को पहले ही ठीक किया जा चुका है। ये केवल मामूली टाइपो नहीं थे; ये गंभीर मुद्दे थे जैसे "बाउंड्री वायलेशन" (जहाँ अत्यधिक इनपुट के साथ सॉफ्टवेयर क्रैश हो जाता है), "स्टेट डाइवर्जेंस" (जहाँ आंतरिक मेमोरी सिंक से बाहर हो जाती है), और "सिमेंटिक वायलेशन" (जहाँ कोड वह करता है जो दस्तावेज़ में नहीं लिखा है)।

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

यह क्यों मायने रखता है

शोध पत्र सुझाव देता है कि क्वांटम कंप्यूटिंग का भविष्य विश्वसनीय सॉफ्टवेयर पर निर्भर करता है। जैसे-जैसे ये लाइब्रेरीज़ तेजी से विकसित हो रही हैं, मैन्युअल टेस्टिंग पर्याप्त नहीं है, और साधारण रैंडम टेस्टिंग बहुत अंधा है। KQFuzz दिखाता है कि AI की रचनात्मक शक्ति को एक सख्त, ज्ञान-आधारित मार्गदर्शक के साथ जोड़कर, हम एक ऐसा परीक्षण सिस्टम बना सकते हैं जो लचीला और सटीक दोनों है। यह साबित करता है कि हमें "स्मार्ट" AI और "सुरक्षित" टेस्टिंग के बीच चयन करने की आवश्यकता नहीं है; हम दोनों पा सकते हैं।

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

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

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

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

Digest आज़माएँ →