दैनिक अर्क्सिव

यह पेज दुनियाभर में प्रकाशित होने वाले आर्टिफिशियल इंटेलिजेंस संबंधित रिसर्च पेपर्स को संक्षिप्त रूप में प्रस्तुत करता है।
यहां Google Gemini का उपयोग करके पेपर्स का सारांश तैयार किया जाता है और यह पेज गैर-लाभकारी रूप से संचालित किया जाता है।
पेपर के कॉपीराइट लेखक और संबंधित संस्थान के पास हैं, और साझा करते समय बस स्रोत का उल्लेख करें।

स्वचालित डिबगिंग के लिए यूनिट परीक्षण उत्पन्न करना सीखना

Created by
  • Haebom

लेखक

अर्चिकी प्रसाद, एलियास स्टेंगल-एस्किन, जस्टिन चिह-याओ चेन, ज़ैद खान, मोहित बंसल

रूपरेखा

यह शोधपत्र त्रुटि-प्रवण इकाई परीक्षण इनपुट उत्पन्न करते समय, बिना सही उत्तर के इकाई परीक्षण आउटपुट का सटीक पूर्वानुमान लगाने के बीच के अंतर को उजागर करता है। इस समस्या का समाधान करने के लिए, हम UTGen का प्रस्ताव करते हैं, जो LLM को त्रुटि-प्रवण इकाई परीक्षण इनपुट उत्पन्न करने और कार्य विवरणों के आधार पर अपेक्षित आउटपुट को सही करने के लिए प्रशिक्षित करता है। चूँकि मॉडल-जनित परीक्षणों में शोर हो सकता है, इसलिए हम UTDebug के माध्यम से परीक्षण-समय गणनाओं का लाभ उठाकर UT आउटपुट पूर्वानुमानों को बेहतर बनाते हैं। इसके अलावा, हम ओवरफिटिंग को रोकने और LLM डिबगिंग को प्रभावी ढंग से समर्थन देने के लिए कई जनित UT के आधार पर संपादनों को सत्यापित और बैकट्रैक करते हैं। प्रायोगिक परिणाम दर्शाते हैं कि त्रुटि-प्रवण UT इनपुट और सही UT आउटपुट दोनों को मापने वाले मेट्रिक्स पर UTGen अन्य LLM-आधारित बेसलाइन मॉडलों से 7.59% बेहतर प्रदर्शन करता है। UTDebug के साथ संयुक्त होने पर, यह अन्य LLM-आधारित UT जनरेशन बेसलाइन मॉडलों की तुलना में, HumanEvalFix और MBPP+ के अधिक चुनौतीपूर्ण डिबगिंग पार्टिशन पर Qwen2.5 32B की पास@1 सटीकता को क्रमशः 3.17% और 12.35% तक बेहतर बनाता है। इसके अलावा, Qwen2.5 32B पर आधारित UTGen मॉडल से प्राप्त फीडबैक ने GPT-4o जैसे अत्याधुनिक LLM के डिबगिंग प्रदर्शन को 13.8% तक बेहतर बनाया। अंत में, UTGen दर्शाता है कि HumanEval+ के सर्वश्रेष्ठ 10 नमूनों के साथ Qwen2.5 7B का उपयोग करके, यह कोड शुद्धता निर्धारित करने में अत्याधुनिक 8B रिवॉर्ड मॉडल से 4.43% बेहतर प्रदर्शन करता है।

Takeaways, Limitations

Takeaways:
हम त्रुटियों को प्रकट करने वाले यूनिट परीक्षण इनपुट उत्पन्न करने और सटीक आउटपुट की भविष्यवाणी करने के बीच के समझौते को हल करने के लिए एक नया दृष्टिकोण प्रस्तुत करते हैं।
UTGen और UTDebug के साथ LLM-आधारित यूनिट परीक्षण निर्माण और डिबगिंग प्रदर्शन में सुधार।
कोड की शुद्धता का आकलन करने की LLM की क्षमता में सुधार करने में योगदान देना
अत्याधुनिक एलएलएम के डिबगिंग प्रदर्शन को बेहतर बनाने में योगदान देना
Limitations:
UTGen और UTDebug के प्रदर्शन में सुधार विशिष्ट LLM (Qwen2.5) और डेटासेट पर निर्भर हो सकता है। अन्य LLM और डेटासेट पर सामान्यीकरण प्रदर्शन निर्धारित करने के लिए और अधिक शोध की आवश्यकता है।
जटिल कोड के लिए यूनिट परीक्षण बनाने और डिबगिंग प्रदर्शन का मूल्यांकन करने की आवश्यकता है।
यूटीडीबग की ओवरफिटिंग रोकथाम रणनीति की प्रभावशीलता पर आगे विश्लेषण की आवश्यकता है।
बड़े कोडबेस के लिए प्रयोज्यता और मापनीयता का मूल्यांकन करने की आवश्यकता है।
👍