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

LLM4C2Rust: Large Language Models for Automated Memory-Safe Code Transpilation

यह शोध पत्र LLM4C2Rust को प्रस्तुत करता है, जो एक रिट्रीवल-ऑगमेंटेड जनरेशन (Retrieval-Augmented Generation) फ्रेमवर्क है जो लीगेसी C/C++ कोड को स्वचालित रूप से मेमोरी-सेफ Rust में ट्रांसपाइल करने के लिए लार्ज लैंग्वेज मॉडल्स का लाभ उठाता है, जिससे कोड की शुद्धता में काफी सुधार होता है और रॉ पॉइंटर डिरिफरेंसिंग (raw pointer dereferences) और टाइप कास्ट्स (type casts) जैसे असुरक्षित ऑपरेशन्स को समाप्त किया जाता है।

मूल लेखक: Sarah Bedell, Nazanin Siavash, Armin Moin

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

मूल लेखक: Sarah Bedell, Nazanin Siavash, Armin Moin

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

बड़ी समस्या: "पुराना घर" बनाम "किला"

कल्पना कीजिए कि आपके पास एक विशाल, ऐतिहासिक हवेली है जो 50 साल पहले बनाई गई थी। यह C/C++ प्रोग्रामिंग भाषा है। यह अविश्वसनीय रूप से मजबूत, तेज़ है, और दशकों से इंटरनेट और ऑपरेटिंग सिस्टमों की नींव रही है। लेकिन, इसे एक खतरनाक खामी के साथ बनाया गया था: मालिक (प्रोग्रामर) को हर एक दरवाजा और खिड़की मैन्युअल रूप से लॉक करनी पड़ती है। यदि वे एक भी लॉक करना भूल जाते हैं, तो एक चोर (हैकर) अंदर घुस सकता है, डेटा चुरा सकता है, या पूरे घर को क्रैश कर सकता है। इसे मेमोरी सेफ्टी वल्नरेबिलिटी (memory safety vulnerability) कहा जाता है।

अब, एक नए प्रकार की निर्माण सामग्री की कल्पना करें जिसे Rust कहा जाता है। Rust एक आधुनिक किले की तरह है। इसमें इन-बिल्ट सुरक्षा गार्ड हैं जो स्वचालित रूप से हर दरवाजा और खिड़की को लॉक कर देते हैं। आप कोई दरवाजा खुला नहीं छोड़ सकते; बिल्डिंग इंस्पेक्टर (कंपाइलर) तब तक निर्माण पूरा करने की अनुमति नहीं देगा जब तक कि सब कुछ सुरक्षित न हो जाए।

चुनौती: हमारे पास उस पुराने, खतरनाक हवेली में कोड की लाखों लाइनें हैं। हम सभी को नए Rust किले में ले जाना चाहते हैं। लेकिन फर्नीचर को हाथ से ले जाना धीमा, महंगा और गलतियों से भरा है। हमें यह काम करने के लिए एक रोबोट की आवश्यकता है।

समाधान: एक लाइब्रेरी वाला "स्मार्ट रोबोट"

यहाँ LLMs (लार्ज लैंग्वेज मॉडल्स) आते हैं। इन्हें ऐसे अविश्वसनीय रूप से स्मार्ट रोबोट के रूप में सोचें जिन्होंने दुनिया की लगभग हर किताब और मैनुअल को पढ़ा है। वे भाषाओं का अनुवाद करने में माहिर हैं। यदि आप उनसे पूछते हैं, "इस C कोड को Rust में अनुवाद करें," तो वे ऐसा कर सकते हैं।

लेकिन एक पेंच है: ये रोबोट कभी-कभी हैलुसिनेट (hallucinate) करते हैं। वे आत्मविश्वास से कह सकते हैं, "मैंने पिछला दरवाजा लॉक कर दिया है!" जबकि वास्तव में उन्होंने उसे खुला छोड़ दिया हो। कोड की दुनिया में, इसका मतलब है कि वे ऐसा Rust कोड लिख सकते हैं जो दिखने में सुरक्षित लगता है लेकिन वास्तव में अभी भी उन खतरनाक खुले दरवाजों (unsafe pointers) के साथ है।

पेपर का नवाचार: "RAG" सहायक

इस पेपर के लेखकों ने महसूस किया कि केवल रोबोट से अनुवाद करने के लिए कहना काफी नहीं है। उन्हें रोबोट को ईमानदार रखने के लिए एक रेफरेंस गाइड (संदर्भ मार्गदर्शिका) देने की आवश्यकता थी। उन्होंने RAG (रिट्रीवल-ऑगमेंटेड जनरेशन) नामक एक सिस्टम बनाया।

यहाँ उनका सिस्टम कैसे काम करता है, स्टेप-बाय-स्टेप:

  1. चंकिंग स्ट्रैटेजी (केक काटना): पुरानी हवेली एक बार में ले जाने के लिए बहुत बड़ी है। सिस्टम C कोड को छोटे, प्रबंधनीय टुकड़ों (chunks) में काटता है, यह सुनिश्चित करते हुए कि वह किसी फंक्शन को बीच में से न काटे। यह एक विशाल केक को एकदम सही, छोटे टुकड़ों में काटने जैसा है ताकि रोबोट अभिभूत (overwhelmed) न हो जाए।

  2. दो चरणों वाला स्थानांतरण:

    • चरण 1 (रफ ड्राफ्ट): रोबोट कोड को Rust में अनुवाद करता है। इस स्तर पर, उसे यह सुनिश्चित करने के लिए कि फर्नीचर फिट बैठता है, "unsafe" टूल्स का उपयोग करने की अनुमति है। यह थोड़ा अस्त-व्यस्त हो सकता है।
    • चरण 2 (सुरक्षा जांच): यहीं पर जादू होता है। रोबोट अपना काम फाइनल करने से पहले रुकता है और Rust सुरक्षा मैनुअल (RAG वाला हिस्सा) को देखता है। वह पूछता है, "हे, आधिकारिक नियमों के अनुसार मैं इस विशिष्ट दरवाजे को कैसे लॉक करूँ?" फिर वह खतरनाक टूल्स को हटाने और उन्हें सुरक्षित, ऑटोमैटिक लॉक के साथ बदलने के लिए कोड को फिर से लिखता है।
  3. डबल-चेक (इंस्पेक्टर): रोबोट सोचता है कि उसने बहुत अच्छा काम किया है और कहता है, "मैंने 100 असुरक्षित दरवाजे हटा दिए!" लेकिन लेखकों ने केवल रोबोट की बात पर भरोसा नहीं किया। उन्होंने नए कोड को Rust कंपाइलर (एक सख्त बिल्डिंग इंस्पेक्टर) के माध्यम से चलाया। इंस्पेक्टर खुले दरवाजों की गिनती करता है। यदि रोबोट कहता है "0" लेकिन इंस्पेक्टर को "5" मिलते हैं, तो वे जानते हैं कि रोबोट हैलुसिनेट कर रहा था।

परिणाम: किसने सबसे अच्छा काम किया?

शोधकर्ताओं ने तीन अलग-अलग "रोबोट्स" (AI मॉडल्स) का परीक्षण किया:

  • GPT-4o और GPT-4-Turbo: ये बड़े, शक्तिशाली रोबोट हैं। रेफरेंस गाइड (RAG) की मदद से, उन्होंने अद्भुत काम किया। वे सफलतापूर्वक अधिकांश फर्नीचर को किले में ले आए और लगभग सभी दरवाजे लॉक कर दिए। वे इंस्पेक्टर की गिनती के बहुत करीब थे, जिसका अर्थ है कि उन्होंने अपने काम के बारे में बहुत अधिक झूठ नहीं बोला।
  • o3-mini: यह एक छोटा, तेज़ रोबोट है। यह Rust भाषा की शैली (style) का पालन करने में अच्छा था, लेकिन यह थोड़ा अति-आत्मविश्वासी था। इसने दावा किया कि इसने सभी दरवाजे लॉक कर दिए हैं, लेकिन इंस्पेक्टर को कई दरवाजे अभी भी खुले मिले। इसने "प्रवेश निषेध" (safety directives) के संकेत लगाने की कोशिश की लेकिन वास्तव में टूटे हुए तालों को ठीक नहीं किया।

मुख्य निष्कर्ष

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

  • मैनुअल के बिना: रोबोट अनुमान लगाता है और गलतियाँ करता है।
  • मैनुअल के साथ (RAG): रोबोट एक विश्वसनीय अनुवादक बन जाता है जो वास्तव में सुरक्षा में सुधार करता है।

संक्षेप में: हमने एक तरीका खोजा है जिससे हम अपने डिजिटल इंफ्रास्ट्रक्चर को "खुद लॉक करने वाले" सिस्टम से बदलकर एक "स्वयं-लॉक होने वाले" किले में अपग्रेड कर सकते हैं, जिससे इंटरनेट सभी के लिए सुरक्षित हो जाता है।

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

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

Digest आज़माएँ →