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

CodeCureAgent: Automatic Classification and Repair of Static Analysis Warnings

यह शोधपत्र CodeCureAgent को प्रस्तुत करता है, जो एक LLM-आधारित एजेंटिक फ्रेमवर्क है जो संदर्भ एकत्र करने और तीन-चरणीय सत्यापन ह्यूरिस्टिक लागू करने के माध्यम से स्टेटिक एनालिसिस चेतावनियों को स्वचालित रूप से वर्गीकृत और मरम्मत करता है, जिससे एक बड़े पैमाने के जावा डेटासेट पर 96.8% प्रशंसनीय फिक्स दर और 86.3% सही फिक्स दर प्राप्त होती है और यह मौजूदा बेसलाइन से काफी बेहतर प्रदर्शन करता है।

मूल लेखक: Pascal Joos, Islem Bouzenia, Michael Pradel

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

मूल लेखक: Pascal Joos, Islem Bouzenia, Michael Pradel

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

कल्पना कीजिए कि आप एक विशाल, हलचल भरे पुस्तकालय (आपका सॉफ़्टवेयर कोडबेस) के प्रबंधक हैं। आप एक बहुत ही सख्त, अत्यंत सतर्क लाइब्रेरियन (एक Static Analysis Tool) को काम पर रखते हैं जो गलियारों में घूमता है और नियमों के उल्लंघन की ओर इशारा करता है।

लाइब्रेरियन समस्याओं को खोजने में माहिर है: "यह किताब गलत शेल्फ पर है!" "यह पन्ना फटा हुआ है!" "इस कहानी में कथानक की कमी (plot hole) है!"

हालाँकि, एक पेच है:

  1. लाइब्रेरियन अति-उत्साही है: कभी-कभी, लाइब्रेरियन चिल्लाता है, "इस किताब का कवर गायब है!" जबकि वह किताब वास्तव में एक विशेष डिजिटल संस्करण है जिसे कवर की आवश्यकता नहीं है। ये False Positives हैं।
  2. सुधार करना कठिन है: कभी-कभी लाइब्रेरियन सही होता है, लेकिन समस्या को ठीक करने के लिए आपको तीन अलग-अलग कमरों में किताबें हटानी पड़ती हैं, इंडेक्स को फिर से लिखना पड़ता है, और यह जांचना पड़ता है कि नई व्यवस्था से कहानी तो नहीं बिगड़ जाएगी। यह इंसानी प्रबंधकों के लिए थकाऊ काम है।
  3. परिणाम: क्योंकि इन समस्याओं को ठीक करना बहुत थका देने वाला है, इंसान अक्सर लाइब्रेरियन के नोट्स को अनदेखा कर देते हैं। पुस्तकालय अव्यवस्थित हो जाता है, और अंततः, पूरा सिस्टम अविश्वसनीय हो जाता है।

प्रवेश होता है CodeCureAgent का।

CodeCureAgent को आपके साथ काम करने वाले एक अत्यंत बुद्धिमान, अथक AI Intern के रूप में सोचें। केवल लाइब्रेरियन द्वारा बताई गई हर चीज़ को आँख बंद करके ठीक करने के बजाय, इस AI के पास तीन-चरणीय सुपरपावर है: Detect (पता लगाना), Decide (निर्णय लेना), और Fix (ठीक करना)।

1. डिटेक्टिव चरण (वर्गीकरण - Classification)

किसी भी किताब को छूने से पहले, AI एक जासूस की तरह कार्य करता है।

  • पुराना तरीका: पिछले टूल्स उन रोबोटों की तरह थे जो लाइब्रेरियन के आदेशों का आँख बंद करके पालन करते थे। यदि लाइब्रेरियन कहता "इसे ठीक करो," तो रोबोट इसे ठीक करने की कोशिश करता था, भले ही लाइब्रेरियन गलत हो। इससे अक्सर चीजें टूट जाती थीं।
  • CodeCure का तरीका: AI पूछता है, "क्या लाइब्रेरियन यहाँ वास्तव में सही है?"
    • यह नियम पुस्तिका (कोड डॉक्यूमेंटेशन) को पढ़ता है।
    • यह संदर्भ (context) के अनुसार विशिष्ट पुस्तक को देखता है।
    • निर्णय: यदि लाइब्रेरियन गलत है (एक False Positive), तो AI कहता है, "इस नोट को अनदेखा करें," और उस पर एक छोटा 'Do Not Disturb' साइन लगा देता है। यदि लाइब्रेरियन सही है (एक True Positive), तो यह कहता है, "ठीक है, हमें इसे ठीक करने की आवश्यकता है।"

2. आर्किटेक्ट चरण (मरम्मत - Repair)

एक बार जब AI तय कर लेता है कि सुधार की आवश्यकता है, तो वह केवल एक त्वरित नोट नहीं लिखता। वह एक मास्टर आर्किटेक्ट की तरह कार्य करता है।

  • संदर्भ ही सर्वोपरि है (Context is King): यदि लाइब्रेरियन कहता है, "यह शेल्फ बहुत ऊँची है," तो AI केवल शेल्फ को नीचे नहीं करता। वह यह भी जाँचता है कि क्या ऊपर की शेल्फ की किताबें गिर जाएँगी, या क्या वह व्यक्ति जो आमतौर पर उन्हें पढ़ता है, अभी भी उन तक पहुँच सकता है। वह केवल एक शेल्फ को नहीं, बल्कि पूरे पुस्तकालय को देखता है।
  • बहु-स्तरीय सुधार (Multi-Story Fixes): कभी-कभी एक समस्या को ठीक करने के लिए बेसमेंट, अटारी और मुख्य हॉल में किताबें स्थानांतरित करने की आवश्यकता होती है। AI एक साथ कई फाइलों (कमरों) में बदलावों को समन्वित करने के लिए पर्याप्त स्मार्ट है, जो पुराने टूल्स नहीं कर पाते थे।

3. गुणवत्ता नियंत्रण चरण (सत्यापन - Validation)

यह सबसे महत्वपूर्ण हिस्सा है। काम आपको वापस सौंपने से पहले, AI एक कठोर सुरक्षा जाँच (Safety Check) चलाता है:

  1. बिल्ड टेस्ट: क्या पुस्तकालय अभी भी खड़ा है? (क्या कोड कंपाइल होता है?)
  2. नियम जाँच: क्या लाइब्रेरियन ने इस विशिष्ट समस्या के बारे में चिल्लाना बंद कर दिया है? (क्या चेतावनी गायब हो गई है?)
  3. कोई नई समस्या नहीं: क्या हमने पुरानी चीजों को साफ करते समय अनजाने में कोई नई गड़बड़ी तो पैदा नहीं कर दी?
  4. कहानी का परीक्षण: क्या कहानी अभी भी समझ में आ रही है? (क्या ऑटोमेटेड टेस्ट पास हो रहे हैं?)

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

यह एक बड़ी बात क्यों है?

  • यह इंसान से सस्ता है: पेपर में कहा गया है कि इस AI की लागत लगभग 2.9 सेंट्स (एक पैसे से भी कम!) है और यह प्रति चेतावनी लगभग 4 मिनट लेता है। एक मानव डेवलपर उसी कार्य पर घंटों बिता सकता है।
  • यह अधिक स्मार्ट है: 1,000 वास्तविक दुनिया की चेतावनियों के परीक्षण में, इस AI ने 96.8% मामलों में सफलतापूर्वक सुधार किया या उन्हें सही ढंग से अनदेखा किया। अगले सर्वश्रेष्ठ टूल्स केवल लगभग 60-70% ही प्रबंध कर पाए।
  • यह "अनदेखा करने की आदत" को रोकता है: क्योंकि AI उबाऊ, दोहराव वाले काम को इतनी अच्छी तरह से करता है, इसलिए डेवलपर्स आखिरकार लाइब्रेरियन के नोट्स को अनदेखा करना बंद कर सकते हैं। यह कोड को साफ, सुरक्षित और स्वस्थ रखता है।

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

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

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

Digest आज़माएँ →