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

PhantomRun: Auto Repair of Compilation Errors in Embedded Open Source Software

यह शोध पत्र PhantomRun प्रस्तुत करता है, जो एक स्वचालित ढांचा है जो विविध बिल्ड इंफ्रास्ट्रक्चर के अनुकूल होने और बिल्ड लॉग्स, सोर्स कोड एवं ऐतिहासिक डेटा से सुधारों को संश्लेषित करने के माध्यम से एम्बेडेड ओपन-सोर्स सॉफ्टवेयर में 45% तक होने वाली कंपाइलेशन विफलताओं को सफलतापूर्वक ठीक करने के लिए लार्ज लैंग्वेज मॉडल्स का लाभ उठाता है।

मूल लेखक: Han Fu, Andreas Ermedahl, Sigrid Eldh, Kristian Wiklund, Philipp Haller, Cyrille Artho

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

मूल लेखक: Han Fu, Andreas Ermedahl, Sigrid Eldh, Kristian Wiklund, Philipp Haller, Cyrille Artho

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

कल्पना कीजिए कि आप कस्टम रोबोटों का एक बेड़ा (fleet) बनाने वाली एक विशाल, वैश्विक टीम का हिस्सा हैं। हर बार जब कोई नया पुर्जा जोड़ता है या ब्लूप्रिंट में बदलाव करता है, तो एक विशाल, स्वचालित कारखाना (जिसे CI पाइपलाइन कहा जाता है) रोबोट को जोड़ने की कोशिश करता है ताकि यह देखा जा सके कि वह काम करता है या नहीं।

अक्सर, कारखाना रुक जाता है और चिल्लाता है, "त्रुटि (ERROR)! मैं इसे नहीं बना सकता!"

सॉफ्टवेयर की दुनिया में, विशेष रूप से रोबोट और एम्बेडेड डिवाइस के लिए, ये त्रुटियां एक दुःस्वप्न की तरह होती हैं। ऐसा इसलिए होता है क्योंकि सॉफ्टवेयर किसी विशिष्ट हार्डवेयर (जैसे कि एक विशिष्ट ब्रेन चिप या सेंसर) से बात करने की कोशिश कर रहा है जो या तो गायब है या मौजूद नहीं है, या क्योंकि कोड में एक छोटी सी टाइपिंग की गलती ने पूरी असेंबली लाइन को तोड़ दिया है। डेवलपर्स यह पता लगाने में घंटों, दिनों या हफ्तों बिता देते हैं कि कारखाना क्यों रुक गया।

यहाँ आता है PhantomRun, एक नया "AI मैकेनिक" जिसे इन समस्याओं को स्वचालित रूप से ठीक करने के लिए डिज़ाइन किया गया है।

समस्या: "हार्डवेयर" का सिरदर्द

शोधकर्ताओं ने चार बड़े ओपन-सोर्स रोबोट प्रोजेक्ट्स (OpenIPC, STM32, RTEMS, और Zephyr) का अध्ययन किया। उन्होंने पाया कि ज्यादातर समय जब कारखाना रुकता था, तो वह इसलिए नहीं होता था क्योंकि कोड खराब तरीके से लिखा गया था (जैसे कि कोई टाइपिंग की गलती)। बल्कि इसलिए होता था क्योंकि कोड किसी ऐसे टूल या पुर्जे का उपयोग करने की कोशिश कर रहा था जो उस विशिष्ट रोबोट मॉडल के लिए मौजूद नहीं था।

  • उपमा (Analogy): कल्पना कीजिए कि आप एक लेगो (Lego) सेट जोड़ने की कोशिश कर रहे हैं। निर्देश कहते हैं "लाल गियर को नीले मोटर से जोड़ें।" लेकिन आपके लेगो के डिब्बे में नीला मोटर नहीं है; उसमें एक हरा मोटर है। कारखाना रुक जाता है। एक इंसान को यह समझना पड़ता है कि, "ओह, मुझे निर्देश को बदलकर यह कहना होगा कि 'हरे मोटर' का उपयोग करें।"

शोधकर्ताओं ने पाया कि इनमें से 61% त्रुटियाँ बिल्कुल इसी तरह की "काम के लिए गलत पुर्जा" वाली समस्या थीं।

समाधान: PhantomRun (द AI मैकेनिक)

टीम ने PhantomRun नामक एक फ्रेमवर्क बनाया। यह कैसे काम करता है, इसके लिए एक सरल उपमा देखें:

  1. जासूस (Log Parsing): जब कारखाना रुकता है, तो वह पीछे नोट्स का एक ढेर (logs) छोड़ देता है जो बताते हैं कि क्या गलत हुआ। PhantomRun एक जासूस की तरह है जो इन बिखरे हुए नोट्स को पढ़ता है, उन्हें साफ करता है, और यह पता लगाता है कि कौन सा "पुर्जा" गायब है या कौन सा "निर्देश" गलत है।
  2. लाइब्रेरियन (Context): PhantomRun केवल अनुमान नहीं लगाता। यह प्रोजेक्ट के इतिहास को देखता है। यह पूछता है, "क्या पहले भी किसी ने इसी तरह की समस्या को ठीक किया है?" यह उदाहरण खोजता है कि मनुष्यों ने अतीत में इसी तरह की "गलत पुर्जा" वाली त्रुटियों को कैसे ठीक किया था।
  3. आर्किटेक्ट (LLM): यह इस जानकारी को एक लार्ज लैंग्वेज मॉडल (LLM) को भेजता है—एक सुपर-स्मार्ट AI जिसे लाखों लाइनों के कोड पर प्रशिक्षित किया गया है। इस AI को एक मास्टर आर्किटेक्ट के रूप में सोचें जो रोबोट बनाना जानता है। यह त्रुटि, बिखरे हुए नोट्स और पिछले उदाहरणों को देखता है, फिर कहता है, "मुझे सुधार पता है! इस एक लाइन को बदलें ताकि नीले मोटर के बजाय हरे मोटर का उपयोग किया जा सके।"
  4. टेस्ट ड्राइव: PhantomRun केवल सुधार नहीं लिखता; यह तुरंत एक वर्चुअल कारखाने में रोबोट को फिर से बनाने की कोशिश करता है ताकि यह देखा जा सके कि क्या सुधार वास्तव में काम करता है। यदि यह काम करता है, तो बहुत अच्छा! यदि नहीं, तो यह फिर से कोशिश करता है (पाँच बार तक)।

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

परिणाम आश्चर्यजनक रूप से अच्छे थे:

  • सफलता दर (Success Rate): PhantomRun ने उन सभी संकलन त्रुटियों (compilation errors) में से 45% को सफलतापूर्वक ठीक किया जिन्हें इसने आज़माया था। इसका मतलब है कि लगभग आधी बार, AI बिना किसी इंसान के हस्तक्षेप के कारखाने के रुकने को ठीक कर सकता था।
  • छोटे सुधार: अधिकांश सुधार बहुत छोटे थे। आमतौर पर, AI को केवल एक या दो लाइनें बदलने की आवश्यकता होती थी। यह पूरे रोबोट को फिर से नहीं लिख रहा था; यह केवल एक सिंगल गियर को बदल रहा था।
  • "संदर्भ" (Context) मायने रखता है: AI तब सबसे अच्छा काम करता था जब उसे उसी प्रोजेक्ट के सुधारों के उदाहरण दिखाए जाते थे। यह एक ऐसे मैकेनिक की तरह है जो दुनिया की हर कार को जानने वाले सामान्य मैकेनिक की तुलना में आपकी विशिष्ट कार के ब्रांड को बेहतर जानता है।
  • कठिन कार्य: AI साधारण टाइपिंग की गलतियों (Syntax Errors) और गायब टूल्स (Environment Errors) को ठीक करने में बहुत अच्छा था। हालांकि, यह जटिल हार्डवेयर बेमेल (hardware mismatches) को समझने में थोड़ा संघर्ष करता था। यह समझ में आता है; AI को "नीले मोटर" को "हरे मोटर" से बदलने के लिए कहना आसान है, लेकिन यह समझना कि हार्डवेयर वास्तव में क्यों असंगत है, अधिक कठिन है।

यह क्यों महत्वपूर्ण है

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

यह मानव इंजीनियरों की जगह नहीं लेता है। इसके बजाय, यह एक 24/7 जूनियर मैकेनिक के रूप में कार्य करता है जो उबाऊ, दोहराव वाले "गलत पुर्जा" वाले एरर को संभालता है। इससे मानव विशेषज्ञों को उन कठिन, रचनात्मक समस्याओं पर ध्यान केंद्रित करने के लिए मुक्त किया जाता है जिनमें वास्तव में मानवीय प्रतिभा की आवश्यकता होती है।

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

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

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

Digest आज़माएँ →