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

Specification Vibing for Automated Program Repair

VibeRepair एक विनिर्देश-केंद्रित (specification-centric) स्वचालित प्रोग्राम रिपेयर तकनीक है जो दोषपूर्ण कोड को संरचित व्यवहार विनिर्देशों (structured behavior specifications) में अनुवादित करके, इन विनिर्देशों में मिसअलाइनमेंट को सुधारकर, और सुधारे गए इरादे (intent) के मार्गदर्शन में समाधानों को संश्लेषित करके कोड-केंद्रित विधियों में सुधार करती है, जिससे कई बेंचमार्क पर काफी उच्च मरम्मत प्रभावशीलता प्राप्त होती है।

मूल लेखक: Taohong Zhu, Lucas C. Cordeiro, Mustafa A. Mustafa, Youcheng Sun

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

मूल लेखक: Taohong Zhu, Lucas C. Cordeiro, Mustafa A. Mustafa, Youcheng Sun

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

कल्पना कीजिए कि आप एक टू हुई मशीन को ठीक करने की कोशिश कर रहे हैं। कंप्यूटर कोड को ठीक करने के मौजूदा अधिकांश तरीके (जिन्हें ऑटोमेटेड प्रोग्राम रिपेयर कहा जाता है) एक ऐसे मैकेनिक की तरह हैं जो केवल इंजन के पुर्जों को देखता है और उन्हें बिना सोचे-समझे बदलने की कोशिश करता है। वे अनुमान लगाते हैं कि क्या गलत है, एक पुर्जा बदलते हैं, देखते हैं कि क्या वह काम करता है, और यदि नहीं, तो वे दूसरा पुर्जा बदल देते हैं। इससे अक्सर "हैलुसिनेशन" (hallucinations) हो जाते हैं—ऐसे सुधार जो देखने में तो सही लगते हैं लेकिन वास्तव में मशीन को नए तरीकों से खराब कर देते हैं क्योंकि मैकेनिक वास्तव में यह नहीं समझ पाया कि मशीन क्यों खराब हुई थी।

पेपर "Specification Vibing for Automated Program Repair" एक नया दृष्टिकोण पेश करता है जिसे VibeRepair कहा जाता है। सीधे इंजन के पुर्जों को बदलने के बजाय, VibeRepair एक मास्टर आर्किटेक्ट की तरह काम करता है जो एक भी ईंट छूने से पहले एक नया ब्लूप्रिंट (खाका) लिखता है।

यह कैसे काम करता है, इसे सरल चरणों में यहाँ दिया गया है:

1. समस्या: "कोड-केंद्रित" जाल (The "Code-Centric" Trap)

मौजूदा AI उपकरण टूटे हुए कोड को सीधे देखकर और उसे फिर से लिखकर बग्स को ठीक करने की कोशिश करते हैं। यह एक वाक्य को केवल वर्तनी (spelling) की गलतियों को देखकर ठीक करने जैसा है, बिना यह समझे कि आप क्या कहानी सुनाने की कोशिश कर रहे हैं। AI स्पेलिंग तो ठीक कर सकता है, लेकिन वह कहानी का अर्थ बदल सकता है, या वह एक नई कहानी बना सकता है जिसका कोई अर्थ न हो।

2. समाधान: "वाइब" रिपेयर (ब्लूप्रिंट दृष्टिकोण)

VibeRepair खेल बदल देता है। कोड को सीधे ठीक करने के बजाय, यह स्पेसिफिकेशन (specification) को ठीक करता है (वह "वाइब" या इच्छित व्यवहार जो कोड को करना चाहिए)। सोचिए कि स्पेसिफिकेशन एक रेसिपी या उन निर्देशों का एक सेट है कि प्रोग्राम को क्या करना चाहिए, न कि स्वयं कोड क्या है।

यह प्रक्रिया तीन चरणों में होती है:

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

  • चरण 2: मरम्मत (रेसिपी को ठीक करना)
    यही मुख्य नवाचार है। AI उस दोषपूर्ण रेसिपी और टेस्ट परिणामों (जो बताते हैं कि केक का स्वाद खराब है) को देखता है। वह पूछता है: "शेफ को वास्तव में क्या करना चाहिए था?" फिर वह रेसिपी को सही इरादे (intent) से मेल खाने के लिए फिर से लिखता है।

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

3. यह बेहतर क्यों काम करता है

पेपर ने हजारों वास्तविक दुनिया के बग्स पर इस पद्धति का परीक्षण किया (Defects4J और Real-World Bugs जैसे डेटासेट्स का उपयोग करके)।

  • अधिक सफलता: VibeRepair ने मौजूदा सर्वोत्तम टूल्स की तुलना में काफी अधिक बग्स को ठीक किया। एक प्रमुख टेस्ट में, इसने पिछले लीडर से 28 अधिक बग्स को ठीक किया।
  • कम अनुमान लगाना: जबकि अन्य टूल्स हजारों रैंडम कोड बदलावों को आज़माते हैं कि कौन सा काम करेगा, VibeRepair बहुत कम प्रयास करता है क्योंकि यह सुधरी हुई "रेसिपी" द्वारा निर्देशित होता है। यह अधिक सटीक है।
  • अद्वितीय सुधार: इसने उन बग्स के समाधान खोजे जिन्हें अन्य टूल्स पूरी तरह से मिस कर गए थे, जो यह साबित करता है कि यह केवल सिंटैक्स को देखने के बजाय कोड के "इरादे" (intent) को बेहतर समझता है।

निष्कर्ष (The Bottom Line)

लेखक उनके दर्शन को एक आकर्षक वाक्यांश के साथ सारांशित करते हैं: "व्यवहार को गाता हुआ बनाओ (Make the behavior sing), और कोड उसका अनुसरण करेगा।"

AI को सही कोड का अनुमान लगाने के लिए मजबूर करने के बजाय, VibeRepair AI को पहले इस बात पर सहमत होने के लिए मजबूर करता है कि प्रोग्राम को क्या करना चाहिए (व्यवहार)। एक बार जब वह "वाइब" सही हो जाती है, तो वास्तविक कोड लिखना एक बहुत आसान और अधिक सटीक कार्य बन जाता है। यह ध्यान "टेक्स्ट को ठीक करने" से हटाकर "विचार को ठीक करने" पर केंद्रित करता है।

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

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

Digest आज़माएँ →