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

Tool-Guided Retrieval-Augmented Repair for Securing LLM-Generated C Code

यह शोध पत्र एक टूल-निर्देशित रिट्रीवल-ऑगमेंटेड रिपेयर वर्कफ़्लो प्रस्तावित करता है जो एम्बेडेड सिस्टम के लिए LLM-जनरेटेड C कोड में संकलन विफलताओं (compilation failures) और सुरक्षा कमजोरियों को महत्वपूर्ण रूप से कम करने के लिए संकलन डायग्नोस्टिक्स, स्टैटिक एनालिसिस और सिम्बोलिक एक्जीक्यूशन को पूर्ववर्ती रिपेयर पैटर्न्स के साथ एकीकृत करता है।

मूल लेखक: Vidyut Sriram, Saatvik Pradhan, Suman Saha

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

मूल लेखक: Vidyut Sriram, Saatvik Pradhan, Suman Saha

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

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

लंबे समय तक, लोगों ने उम्मीद की थी कि ये AI जादूगर पहली बार में ही एकदम सटीक कोड लिख देंगे। लेकिन वे अक्सर ऐसा नहीं कर पाते। वे शायद यह चेक करना भूल जाते हैं कि दरवाजा लॉक है या नहीं, या वे एक कप चाय में एक गैलन पानी डालने की कोशिश कर सकते हैं, जिससे सब गड़बड़ हो सकता है। कंप्यूटर की दुनिया में, ये गलतियाँ "वल्नरेबिलिटीज़" या "बग्स" कहलाती हैं। बड़ी समस्या यह है: हम मानव विशेषज्ञों को हर एक लाइन का कोड चेक करने के लिए नियुक्त किए बिना इन गलतियों को कैसे ठीक कर सकते हैं? क्या हम रोबोट को अपने काम को खुद चेक करने, अपनी पिछली गलतियों से सीखने और तब तक दोबारा प्रयास करने के लिए कि वह इसे सही कर ले, उपकरणों का एक सेट दे सकते हैं? यह वह पहेली है जिसे शोधकर्ता हल करने की कोशिश कर रहे हैं ताकि यह सुनिश्चित किया जा सके कि AI अनजाने में उन चीजों को न तोड़ दे जिन पर हम भरोसा करते हैं।


पेपर की कहानी: रोबोट को अपने स्वयं के मंत्रों को ठीक करना सिखाना

यह पेपर एक चतुर नए वर्कफ्लो को पेश करता है जिसे टूल-गाइडेड रिट्रीवल-ऑगमेंटेड रिपेयर (Tool-Guided Retrieval-Augmented Repair) कहा जाता है। इसे एक "सुपर-चेकर" किट और पिछले गलतियों की एक "मेमोरी बुक" (स्मृति पुस्तक) के रूप में समझें, जो AI रोबोट को वास्तविक मशीन तक पहुँचने से पहले अपने स्वयं के कोड को ठीक करने में मदद करती है।

शोधकर्ताओं ने AI को सुरक्षित C कोड (एक प्रकार की प्रोग्रामिंग भाषा जिसका उपयोग निम्न-स्तरीय, महत्वपूर्ण प्रणालियों के लिए किया जाता है) लिखने में मदद करने के लिए एक चार-चरणीय प्रक्रिया स्थापित की है। सबसे पहले, AI एक सरल विवरण के आधार पर कोड लिखने का प्रयास करता है, बिल्कुल वैसे ही जैसे वह आमतौर पर करता है। लेकिन वहीं रुकने के बजाय, सिस्टम तुरंत उस कोड को एक कठोर निरीक्षण प्रक्रिया से गुजारता है।

चरण 1: कंपाइलेशन चेक (Compilation Check)
सबसे पहले, वे कोड को "कंपाइल" करने की कोशिश करते हैं। कल्पना कीजिए कि आप एक लेगो (Lego) सेट बनाने की कोशिश कर रहे हैं। यदि निर्देशों में कोई टुकड़ा गायब है या टुकड़े फिट नहीं बैठते हैं, तो निर्माण विफल हो जाता है। सिस्टम इन त्रुटियों को तुरंत पकड़ लेता है, जैसे एक शिक्षक छात्र के होमवर्क में छूटे हुए चरण को पकड़ लेता है।

चरण 2: सुरक्षा स्कैन (Security Scan)
यदि कोड सफलतापूर्वक बिल्ड हो जाता है, तो यह एक दूसरे निरीक्षक के पास जाता है जिसे CodeQL कहा जाता है। यह एक सुरक्षा गार्ड की तरह है जो इमारत में खुले खिड़कियों या आग के खतरों की तलाश कर रहा हो। यह कोड को खतरनाक पैटर्न के लिए स्कैन करता है, जैसे कि हैकर्स के लिए दरवाजा खुला छोड़ देना या ऐसे असुरक्षित उपकरणों का उपयोग करना जिससे सिस्टम क्रैश हो सकता है।

चरण 3: "मेमोरी बुक" मरम्मत (The "Memory Book" Repair)
यह सबसे रचनात्मक हिस्सा है। यदि कोड में त्रुटियां हैं, तो सिस्टम केवल अनुमान नहीं लगाता कि इसे कैसे ठीक किया जाए। इसके बजाय, यह एक "मेमोरी बुक" (रिपॉजिटरी) खोलता है जो इस बात के उदाहरणों से भरी है कि इसने अतीत में समान समस्याओं को सफलतापूर्वक कैसे ठीक किया था। यह पैटर्न देखता है: "ओह, पिछली बार हमने यह भूल गए थे कि संख्या बहुत बड़ी है, और इसे हमने इस तरह ठीक किया था।" फिर यह AI को उन पिछले सफलताओं के आधार पर विशिष्ट संकेत और नियम देता है, न कि केवल कच्चा कोड दिखाता है। यह AI को केवल उत्तर की नकल करने के बजाय, सुधार के तर्क (logic) को सीखने में मदद करता है।

चरण 4: अंतिम स्ट्रेस टेस्ट (The Final Stress Test)
अंत में, सुधारे गए कोड को KLEE नामक एक "सिम्बोलिक एक्जीक्यूशन" टूल के माध्यम से चलाया जाता है। कल्पना कीजिए कि यह एक स्ट्रेस-टेस्ट सिम्युलेटर है जो कोड को तोड़ने की कोशिश करता है, इसमें हर संभव अजीब इनपुट डालता है, जैसे कि हजार अलग-अलग तरीकों से एक चौकोर टुकड़े को गोल छेद में जबरदस्ती डालने की कोशिश करना। यदि कोड इस परीक्षण में जीवित बच जाता है, तो इसे सुरक्षित माना जाता है।

उन्होंने क्या पाया: रोबोट बहुत बेहतर हो गया

शोधकर्ताओं ने इस पद्धति का परीक्षण 5,000 अलग-अलग कोडिंग कार्यों पर किया। उन्होंने AI के प्रदर्शन की तुलना की जब वह अकेले काम कर रहा था बनाम जब उसने इस नए "सुपर-चेकर" वर्कफ्लो का उपयोग किया।

परिणाम काफी नाटकीय थे, विशेष रूप से छोटे AI मॉडल के लिए।

  • CodeLlama 7B मॉडल के लिए: सुरक्षा दोषों (यानी "खुली खिड़कियों") की संख्या 49% से घटकर 19% रह गई। स्कैनर द्वारा पाए गए कुल सुरक्षा दोष 15,088 से गिरकर 2,463 हो गए, जो कि 83.7% की कमी है।
  • DeepSeek Coder 1.3B मॉडल के लिए: वह कोड जो बिल्ड भी नहीं हो सका (कंपाइलेशन फेल्योर) उसकी दर 42% से गिरकर 22% हो गई। सुरक्षा दोष 35% से घटकर 15% रह गए।

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

इसका क्या अर्थ है (और क्या नहीं)

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

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

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

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

Digest आज़माएँ →