paint-brush
अध्ययन से GitHub सह-पायलट उपयोगकर्ताओं द्वारा सामना की जाने वाली सामान्य समस्याओं का पता चलता हैद्वारा@textmodels
5,028 रीडिंग
5,028 रीडिंग

अध्ययन से GitHub सह-पायलट उपयोगकर्ताओं द्वारा सामना की जाने वाली सामान्य समस्याओं का पता चलता है

द्वारा Writings, Papers and Blogs on Text Models16m2024/03/04
Read on Terminal Reader

बहुत लंबा; पढ़ने के लिए

एक अध्ययन ने GitHub Copilot के साथ उपयोगकर्ता चुनौतियों की जांच की, जिसमें उपयोग की बाधाओं, अनुकूलता संबंधी चिंताओं और कोड सुझाव की गुणवत्ता जैसे सामान्य मुद्दों का खुलासा हुआ। इसके कारणों में आंतरिक सिस्टम समस्याओं से लेकर नेटवर्क कनेक्टिविटी समस्याएं तक शामिल हैं, जबकि समाधान में बग फिक्स, कॉन्फ़िगरेशन समायोजन और संस्करण अपडेट शामिल हैं। कुल मिलाकर, निष्कर्ष GitHub Copilot के उपयोगकर्ता अनुभव को बेहतर बनाने पर प्रकाश डालते हैं।
featured image - अध्ययन से GitHub सह-पायलट उपयोगकर्ताओं द्वारा सामना की जाने वाली सामान्य समस्याओं का पता चलता है
Writings, Papers and Blogs on Text Models HackerNoon profile picture

यह पेपर CC 4.0 लाइसेंस के तहत arxiv पर उपलब्ध है।

लेखक:

(1) ज़ियू झोउ, स्कूल ऑफ कंप्यूटर साइंस, वुहान विश्वविद्यालय, वुहान, चीन;

(2) पेंग लियांग, स्कूल ऑफ कंप्यूटर साइंस, वुहान विश्वविद्यालय, वुहान, चीन;

(3) ज़ेंगयांग ली, स्कूल ऑफ कंप्यूटर साइंस, सेंट्रल चाइना नॉर्मल यूनिवर्सिटी, वुहान, चीन;

(4) आकाश अहमद, स्कूल ऑफ कंप्यूटिंग एंड कम्युनिकेशंस, लैंकेस्टर यूनिवर्सिटी लीपज़िग, लीपज़िग, जर्मनी;

(4) मोजतबा शाहीन, स्कूल ऑफ कंप्यूटिंग टेक्नोलॉजीज, आरएमआईटी यूनिवर्सिटी, मेलबर्न, ऑस्ट्रेलिया;

(4) मुहम्मद वसीम, सूचना प्रौद्योगिकी संकाय, ज्यवास्किला विश्वविद्यालय, ज्यवस्किला, फिनलैंड।


तृतीय. परिणाम और विश्लेषण

इस खंड में, हम तीन आरक्यू के अध्ययन परिणामों की रिपोर्ट करते हैं और प्रमुख निष्कर्षों का विश्लेषण प्रदान करते हैं। खंड III-ए में, हमने मुद्दों के प्रकार प्रस्तुत किए, जबकि अनुभाग III-बी और III-सी में, हम क्रमशः संबंधित मुद्दों के कारणों और समाधानों के प्रकार प्रस्तुत करते हैं। समस्या प्रकारों के परिणामों को दो स्तरों में वर्गीकृत किया गया है: श्रेणियाँ (उदाहरण के लिए, सुझाव सामग्री समस्या) और प्रकार (उदाहरण के लिए, कम प्रभावी सुझाव)। इस बीच, कारणों और समाधानों के परिणाम केवल प्रकारों के रूप में व्यवस्थित किए जाते हैं (उदाहरण के लिए, उपयुक्त संस्करण का उपयोग करें)। यह ध्यान दिया जाना चाहिए कि, केवल वे कारण जो समस्याओं का कारण साबित हुए हैं, और समाधान जो समस्याओं को हल कर सकते हैं, उन्हें ही निकाला जाता है और परिणामों में प्रदान किया जाता है। इसलिए, सभी मुद्दों के समान कारण और समाधान नहीं होते हैं। हम "#" प्रतीक के साथ उदाहरण प्रदान करते हैं, जो दिए गए डेटासेट में "गिटहब इश्यू आईडी", "गिटहब चर्चा आईडी" या "एसओ पोस्ट आईडी" को इंगित करता है [13]।


A. मुद्दों का प्रकार (RQ1)


चित्र 2 हमारे डेटा से निकाले गए मुद्दों का वर्गीकरण प्रस्तुत करता है। यह देखा जा सकता है कि कोपायलट उपयोगकर्ताओं द्वारा सामना की जाने वाली अधिकांश समस्याओं के लिए उपयोग संबंधी समस्याएं (56.9%) जिम्मेदार हैं। इसके अलावा, बड़ी संख्या में उपयोगकर्ताओं ने अपने उपयोगकर्ता अनुभव और आवश्यकताओं के आधार पर फ़ीचर अनुरोध (15.3%) उठाए हैं। उपयोगकर्ताओं का एक हिस्सा ऐसा भी है, जिन्होंने विभिन्न वातावरणों में कोपायलट का उपयोग करते समय संगतता समस्याओं (15.3%) का सामना किया है, जबकि छोटे प्रतिशत को सुझाव सामग्री मुद्दों (4.9%), उपयोगकर्ता अनुभव मुद्दों (4.2%), और कॉपीराइट और नीति मुद्दों के रूप में पहचाना गया था। (3.4%).


  1. उपयोग समस्या (56.9%): उपयोग समस्या कोपायलट के कुछ मूलभूत कार्यों (उदाहरण के लिए, इंस्टॉलेशन विफलता) का उपयोग करने का प्रयास करते समय उपयोगकर्ताओं द्वारा सामना की जाने वाली बाधाओं की एक श्रेणी को संदर्भित करती है। मुद्दों की इस श्रेणी को आगे छह प्रकारों में विभाजित किया गया है, जिनका विवरण नीचे दिया गया है।


• कार्यक्षमता उपयोग का मुद्दा कोपायलट द्वारा प्रदान की गई विभिन्न कोड पीढ़ी-संबंधित सुविधाओं की असामान्यता को संदर्भित करता है। कोड सुझाव प्रदान करने के अलावा, कोपायलट उपयोगकर्ताओं के साथ बेहतर ढंग से जुड़ने के लिए विभिन्न इंटरैक्टिव सुविधाएँ प्रदान करता है, जैसे "पिछला/अगला सुझाव", "सभी सुझाव देखें", और सुझाव स्वीकार करने के लिए शॉर्टकट कुंजियों का कॉन्फ़िगरेशन। इन सुविधाओं का उपयोग करते समय उपयोगकर्ताओं को अपवादों का सामना करना पड़ सकता है। उदाहरण के लिए, एक उपयोगकर्ता ने रिपोर्ट किया कि "कोपायलट अब PyCharm पर सुझाव नहीं दे रहा है" (चर्चा #11199)।


• सेटअप/ऑपरेशन समस्या उन त्रुटियों या खराबी को संदर्भित करती है जो कोपायलट के आरंभीकरण या संचालन के दौरान होती हैं, और अक्सर इसमें रनटाइम अपवाद शामिल होते हैं। ये समस्याएँ कोपायलट को सही ढंग से चलने से रोक सकती हैं, या इसे अप्रत्याशित रूप से क्रैश कर सकती हैं, जैसे कि जब कोई उपयोगकर्ता "VSCode में कोपायलट प्रारंभ त्रुटि" का सामना करता है (चर्चा #30996)।


• प्रमाणीकरण विफलता कोपायलट का उपयोग करते समय उपयोगकर्ता लॉगिन और प्रमाणीकरण कठिनाइयों से संबंधित मुद्दों को संदर्भित करती है। सेवा का उपयोग करने से पहले कोपायलट को उपयोगकर्ताओं को अपने GitHub खाते में लॉग इन करना होगा। केवल एक्सेस अनुमति वाले उपयोगकर्ता (सशुल्क सदस्यता, छात्र पहचान सत्यापन आदि सहित) कोपायलट की कोड जनरेशन सेवा का उपयोग कर सकते हैं। प्रमाणीकरण प्रक्रिया के दौरान, उपयोगकर्ताओं को इससे संबंधित विभिन्न समस्याओं का सामना करना पड़ सकता है, जिसके परिणामस्वरूप कोपायलट का उपयोग करने में असमर्थता हो सकती है। उदाहरण के लिए, एक उपयोगकर्ता ने चर्चा मंच में उल्लेख किया कि "मैं अपग्रेड के बाद लॉग इन नहीं कर सकता" (चर्चा #18132)।


• एक्सेसिंग विफलता उस स्थिति को संदर्भित करती है जहां उपयोगकर्ता कोपायलट के सर्वर तक पहुंचने में विफल रहते हैं, जिसमें अक्सर सर्वर कनेक्शन से संबंधित त्रुटियां शामिल होती हैं। उपयोगकर्ता को "GitHub Copilot सर्वर से कनेक्ट नहीं हो सका" जैसे त्रुटि संदेश का सामना करना पड़ सकता है (चर्चा #11801)।


• इंस्टालेशन समस्या कोपायलट की इंस्टालेशन प्रक्रिया के दौरान आने वाली समस्याओं को संदर्भित करती है, जिसमें इंस्टालेशन त्रुटियाँ, इंस्टालेशन विधियों को खोजने में असमर्थता और अन्य संबंधित मुद्दे शामिल हैं। उदाहरण के लिए, कुछ उपयोगकर्ताओं को "कोपायलट स्थापित करते समय त्रुटियाँ" (चर्चा #17250) जैसी समस्याओं का सामना करना पड़ सकता है।


• संस्करण नियंत्रण समस्या उन समस्याओं को संदर्भित करती है जो उपयोगकर्ताओं को कोपायलट के संस्करण या उसके रनटाइम वातावरण (उदाहरण के लिए, आईडीई) को समायोजित करते समय सामना करना पड़ता है, जिसमें कोपायलट संस्करण को अपग्रेड करने में असमर्थता या अपग्रेड के बाद भी अपग्रेड के लिए संकेत जारी रखने जैसी असामान्य समस्याएं शामिल हैं। उदाहरण के लिए, IntelliJ IDEA में इसका उपयोग करते समय एक उपयोगकर्ता ने कहा कि "कोपायलट प्लगइन अपडेट होने में विफल रहता है" (चर्चा #17298)।


विश्लेषण: अपेक्षाकृत नए एआई कोड उत्पाद के रूप में, हमने कोपायलट के साथ उपयोगकर्ता इंटरैक्शन के विभिन्न चरणों में उपयोग के मुद्दे की पहचान की। उपयोगकर्ता भी इन समस्याओं की रिपोर्ट करते हैं और सहायता की तलाश करते हैं, जिसने उपयोग समस्या को मुद्दों की सबसे प्रचलित श्रेणी बना दिया है। कार्यक्षमता उपयोग समस्या (233), सेटअप/संचालन समस्या (201), और प्रमाणीकरण विफलता (199) शीर्ष तीन प्रकार हैं। हम पहले दो प्रकार के मुद्दों की उच्च आवृत्ति का श्रेय कोपायलट के फीचर डिज़ाइन और स्थिरता में कमियों को देते हैं, जो उपयोगकर्ताओं के वातावरण और संचालन से भी प्रभावित होते हैं। तीसरा प्रकार मुख्य रूप से विशिष्ट विवरणों से जुड़ा है जो तब उत्पन्न होता है जब कोपायलट को उपयोगकर्ताओं को अपने GitHub खातों का उपयोग करके लॉग इन करने की आवश्यकता होती है।


2) फ़ीचर अनुरोध (15.3%): फ़ीचर अनुरोध उन सुविधाओं को संदर्भित करता है जिन्हें उपयोगकर्ता कोपायलट का उपयोग करते समय अपने अनुभव और वास्तविक जरूरतों के आधार पर जोड़ने या सुधारने का अनुरोध करते हैं। ये फीचर अनुरोध न केवल कोपायलट के उपयोगकर्ता अनुभव को बेहतर बनाने में मदद करते हैं बल्कि यह पता लगाने में भी योगदान देते हैं कि एआई कोड जेनरेशन टूल डेवलपर्स के साथ बेहतर तरीके से कैसे बातचीत कर सकते हैं। इस श्रेणी को आगे चार प्रकारों में विभाजित किया गया है, जैसा कि नीचे दिखाया गया है।


• फ़ंक्शन अनुरोध कोपायलट में नए फ़ंक्शन विकसित करने के अनुरोधों को संदर्भित करता है, जो आम तौर पर उपयोगकर्ताओं की वास्तविक आवश्यकताओं और टूल का उपयोग करते समय आने वाली कठिनाइयों से उत्पन्न होते हैं। उदाहरण के लिए, एक उपयोगकर्ता ने सुझाव दिया है कि "कोड स्पष्टीकरण फ़ीचर" को जोड़ने से कोपायलट की उपयोगिता बढ़ सकती है (चर्चा #7509)।


• एकीकरण अनुरोध कोपायलट के लिए कुछ प्लेटफार्मों पर उपलब्ध होने या अन्य प्लगइन्स के साथ एकीकृत होने के लिए एक प्रकार के अनुरोध को संदर्भित करता है। यह मुख्य रूप से कुछ उपयोगकर्ताओं की विशिष्ट वातावरण में कोपायलट का उपयोग करने की इच्छा के कारण है। उदाहरण के लिए, एक उपयोगकर्ता ने "Intellij 2022.2 EAP परिवार के लिए समर्थन" की मांग की (चर्चा #17045)। एकीकरण के अनुरोध कुछ हद तक डेवलपर्स के बीच कोपायलट की लोकप्रियता को भी दर्शाते हैं।


• यूआई अनुरोध कोपायलट के यूजर इंटरफेस (यूआई) में बदलाव के लिए उपयोगकर्ताओं द्वारा किए गए अनुरोधों को संदर्भित करता है, जिसमें कोपायलट आइकन की उपस्थिति को संशोधित करना, उपयोग संकेतों को समायोजित करना और अन्य संबंधित पहलू शामिल हो सकते हैं। इन अनुरोधों का उद्देश्य आम तौर पर कोपायलट के दृश्य प्रभावों और उपयोगकर्ता अनुभव को बेहतर बनाना है। उदाहरण के लिए, कोई उपयोगकर्ता कोपायलट की वर्तमान कार्य स्थिति के बारे में जानकारी प्रदान करने के लिए "स्थिति संकेतक" (अंक #163) जोड़ने का अनुरोध कर सकता है।


• व्यावसायिक कोपायलट संस्करण, कोपायलट के व्यावसायिक संस्करण के लिए कुछ उपयोगकर्ताओं के अनुरोधों को संदर्भित करता है।


चित्र 2. GitHub Copilot का उपयोग करते समय समस्याओं का वर्गीकरण


ये उपयोगकर्ता आम तौर पर कुछ कंपनियों की आंतरिक टीमों के डेवलपर होते हैं, जो अपने वास्तविक कार्य में अधिक पेशेवर और विश्वसनीय कोड जनरेशन सेवाएं प्राप्त करने की उम्मीद करते हैं। विशेष रूप से, कोपायलट के कोड की विश्वसनीयता और सुरक्षा के साथ-साथ टीम प्रमाणन और अन्य पहलुओं के लिए उनकी उच्च आवश्यकताएं हैं।


विश्लेषण: फ़ंक्शन अनुरोध (123) के लिए, हमने देखा कि उपयोगकर्ता आमतौर पर अपनी विकास आदतों के साथ अधिक निकटता से संरेखित करने के लिए कोपायलट को कॉन्फ़िगर करने में अधिक लचीलेपन की इच्छा व्यक्त करते हैं। उदाहरण के लिए, सामान्य अनुरोधों में कोपायलट के सुझावों को शब्द दर शब्द स्वीकार करने की क्षमता और यह निर्दिष्ट करना शामिल है कि कोपायलट को फ़ाइल प्रकार या कोड विकास के दायरे के संदर्भ में स्वचालित रूप से कहां काम करना चाहिए। अधिक नवीन मांगों में पूरे प्रोजेक्ट के अनुसार कोपायलट को सुझाव प्रदान करने की आवश्यकता शामिल है, साथ ही कोड स्पष्टीकरण और चैट कार्यक्षमता [15] जैसी सुविधाएं भी शामिल हैं, जो कोपायलट एक्स में तकनीकी पूर्वावलोकन के रूप में पहले ही लॉन्च हो चुकी हैं। एकीकरण अनुरोध (75) प्रतिबिंबित करता है डेवलपर्स की इच्छा है कि वे अपने परिचित वातावरण में कोपायलट का उपयोग करें। यह कोपायलट टीम पर अधिक मांग रखता है, क्योंकि हमने बड़ी संख्या में संगतता मुद्दों की पहचान की है।


3) संगतता समस्या (15.3%): यह श्रेणी उन मुद्दों को कवर करती है जो कोपायलट और उसके रनटाइम वातावरण के बीच बेमेल से उत्पन्न होते हैं। कोपायलट विभिन्न आईडीई और टेक्स्ट संपादकों (उदाहरण के लिए, वीएससीओडी और इंटेलीजे आईडीईए) में एक प्लगइन के रूप में काम करता है, और वातावरण की जटिलता और अन्य प्लगइन्स के हस्तक्षेप के परिणामस्वरूप संगतता समस्याओं की संख्या में वृद्धि हो सकती है। इन मुद्दों को आगे चार प्रकारों में वर्गीकृत किया गया है, जिनका विवरण नीचे दिया गया है।


• संपादक/आईडीई संगतता मुद्दा कोपायलट और उसके आईडीई या संपादक के बीच बेमेल से उत्पन्न होने वाले मुद्दों को संदर्भित करता है। ये समस्याएँ आम तौर पर कोपायलट के किसी विशिष्ट आईडीई या संपादक में ठीक से काम करने में असमर्थ होने के रूप में प्रकट होती हैं।


• प्लग-इन संगतता समस्या एक प्रकार की मिलान समस्या को संदर्भित करती है जो तब उत्पन्न होती है जब कोपायलट और अन्य प्लगइन सक्रिय होते हैं और एक ही वातावरण में एक साथ काम करते हैं। ऐसे मुद्दे कोपायलट और अन्य प्लगइन्स की आंशिक या पूर्ण खराबी का कारण बन सकते हैं और आमतौर पर कोपायलट या अन्य प्लगइन्स को अक्षम करने जैसी समस्या निवारण विधियों के माध्यम से पहचाने जाते हैं। उदाहरण के लिए, एक उपयोगकर्ता ने "एम्मेट के साथ एक कीबोर्ड शॉर्टकट संघर्ष" (अंक #47) की सूचना दी, जिसने उसे कोपायलट द्वारा उत्पन्न कोड सुझाव प्राप्त करने से रोक दिया।


• फ्रेमवर्क संगतता समस्या कोपायलट और जिस फ्रेमवर्क पर यह संचालित होता है, उसके बीच एक प्रकार की अनुकूलता समस्या को संदर्भित करता है। एक सामान्य उदाहरण Copilot.vim [16], जो विशेष रूप से Vim के लिए डिज़ाइन किया गया Copilot का आधिकारिक संस्करण है, और Node.js के बीच संगतता समस्या है।


• कीबोर्ड संगतता समस्या उस स्थिति को संदर्भित करती है जब कोपायलट की कार्यक्षमता का उपयोग कुछ असामान्य कीबोर्ड लेआउट में नहीं किया जा सकता है। उदाहरण के लिए, जर्मन कीबोर्ड लेआउट वाला उपयोगकर्ता कोपायलट की अधिकांश कोड जनरेशन-संबंधी सुविधाओं का उपयोग नहीं कर सकता है। (चर्चा #7094)।


विश्लेषण: संगतता समस्या जटिल परिचालन वातावरण से उत्पन्न होती है जिसमें उपयोगकर्ता कोपायलट का उपयोग करते हैं, साथ ही कोपायलट की अनुकूलता मजबूती भी। संपादक/आईडीई संगतता समस्या (132) के मामले में, कोपायलट उपयोग के लिए आधिकारिक तौर पर अनुशंसित प्लेटफॉर्म वीएससीओडी ने अधिक संख्या में रिपोर्ट की गई संगतता समस्याओं को जन्म दिया है। हमें विजुअल स्टूडियो, आईडीईए और पायचार्म जैसे अन्य व्यापक रूप से उपयोग किए जाने वाले आईडीई में भी इसी तरह की समस्याएं मिली हैं। प्लग-इन संगतता समस्या (72) की उपस्थिति कम पूर्वानुमानित है, अन्य कोड पूर्णता उपकरणों के साथ टकराव से जुड़ी विशिष्ट समस्याओं के साथ।


4) सुझाव सामग्री मुद्दा (4.9%): मुद्दों की यह श्रेणी कोपायलट द्वारा उत्पन्न कोड की सामग्री से संबंधित समस्याओं को संदर्भित करती है। कोड सुझावों का निर्माण कोपायलट जैसे एआई कोड जनरेशन टूल की मुख्य विशेषता है, और सुझावों की गुणवत्ता सीधे यह निर्धारित करती है कि उपयोगकर्ता उन्हें अपनाएंगे या नहीं। इसलिए, उत्पन्न कोड की सामग्री स्वाभाविक रूप से उपयोगकर्ताओं, शोधकर्ताओं और कोपायलट टीम के लिए चिंता का विषय है। इन मुद्दों को आगे सात विशिष्ट स्थितियों में विभाजित किया गया है, जिनका विवरण नीचे दिया गया है।


• कम गुणवत्ता वाला सुझाव उन स्थितियों को संदर्भित करता है जहां कोपायलट उपयोगी कोड उत्पन्न करने के लिए संदर्भ को पर्याप्त रूप से समझने में असमर्थ है। ऐसे कोड सुझावों में कोई वाक्यात्मक त्रुटियाँ नहीं हो सकती हैं, लेकिन उनकी खराब गुणवत्ता के कारण, उन्हें उपयोगकर्ताओं द्वारा अपनाए जाने की संभावना नहीं है। उदाहरण के लिए, कोपायलट ने एक बार उपयोगकर्ता के कोड में निर्दिष्ट आवश्यकताओं को पूरा किए बिना केवल एक रिटर्न स्टेटमेंट वाली एक खाली विधि तैयार की थी (चर्चा #6631)।


• निरर्थक सुझाव कोपायलट द्वारा प्रदान किए गए कोड सुझावों को संदर्भित करता है जो उपयोगकर्ता की आवश्यकताओं के लिए पूरी तरह से अप्रासंगिक हैं या अजीब आउटपुट उत्पन्न करते हैं। ऐसे सुझाव लगभग अनुपयोगी माने जाते हैं और उपयोगकर्ता को बहुत कम अनुमानित सहायता प्रदान करते हैं। उदाहरण के लिए, एक उपयोगकर्ता को कोपायलट द्वारा उत्पन्न एक दुर्गम नकली यूआरएल प्राप्त हुआ (चर्चा #14212)।


• बग के साथ सुझाव उस स्थिति को संदर्भित करता है जहां कोपायलट संदर्भ के आधार पर प्रासंगिक कोड उत्पन्न करने में सक्षम है, लेकिन सुझाए गए कोड में कुछ बग हैं। इसके परिणामस्वरूप प्रोग्राम चलने में सक्षम हो सकता है, लेकिन उस तरीके से नहीं जैसा डेवलपर चाहता था, या कुछ मामलों में, त्रुटियां या क्रैश हो सकता है। उदाहरण के लिए, एक उपयोगकर्ता ने बताया कि कोपायलट ने "सेटस्टेट(सत्य)" (अंक #43) के बजाय "सेटस्टेट(!स्टेट)" का उपयोग करने का सुझाव दिया, जिससे कोड में एक तार्किक बग पैदा हो गया।


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


• अमान्य सिंटैक्स के साथ सुझाव उस स्थिति को संदर्भित करता है जहां कोपायलट द्वारा उत्पन्न सुझावों में सिंटैक्स त्रुटियां हो सकती हैं जो प्रोग्राम को ठीक से चलने से रोकती हैं। एक उदाहरण यह है कि जब सुझाए गए कोड में क्लोजिंग ब्रैकेट नहीं होता है, तो संपादक एक सिंटैक्स त्रुटि प्रदर्शित करता है (चर्चा #38941)।


• कम प्रभावी सुझाव कोपायलट द्वारा उत्पन्न कोड सुझावों को संदर्भित करता है जो कार्यात्मक रूप से सही हैं और उपयोगकर्ता की आवश्यकताओं को पूरा करते हैं, लेकिन उप-इष्टतम निष्पादन दक्षता या जटिल तर्क से ग्रस्त हो सकते हैं, जो संभावित रूप से कोड की समग्र गुणवत्ता को प्रभावित कर सकते हैं।


• असुरक्षित सुझाव कोपायलट द्वारा उत्पन्न कोड सुझावों को संदर्भित करता है जो सुरक्षा कमजोरियों का परिचय देते हैं। उदाहरण के लिए, एक उपयोगकर्ता ने संकेत दिया कि उसके लिए कोड सुझाव में पढ़े जा रहे आकारों के लिए जवाबदेही का अभाव था (चर्चा #6636)।


विश्लेषण: व्यावहारिक कोड विकास के लिए कोपायलट की क्षमता निर्धारित करने में कोड सुझावों की गुणवत्ता एक महत्वपूर्ण कारक है। हमने अपेक्षाकृत कम मात्रा में सुझाव सामग्री के मुद्दों की पहचान की है, जो संभवतः यह दर्शाता है कि उपयोगकर्ता उपयोग-संबंधी समस्याओं की तुलना में सुझाए गए कोड से संबंधित मुद्दों की रिपोर्ट करने के लिए कम इच्छुक हैं। इन मुद्दों में, कम गुणवत्ता वाले सुझाव, निरर्थक सुझाव, और बग वाले सुझाव तीन सबसे अधिक बार रिपोर्ट किए जाने वाले प्रकार हैं, जबकि असुरक्षित सुझाव और कम प्रभावी सुझाव कम प्रचलित हैं। इस परिणाम से पता चलता है कि जेनरेट किए गए कोड की गुणवत्ता उपयोगकर्ताओं की एक प्रमुख चिंता है, जबकि सुरक्षा और प्रभावशीलता उच्च प्राथमिकता में नहीं है।


5) उपयोगकर्ता अनुभव मुद्दा (4.2%): यह श्रेणी कोपायलट का उपयोग करने के उनके अनुभव पर उपयोगकर्ता प्रतिक्रिया को कवर करती है। उपयोग के मुद्दे की तुलना में, कोपायलट आम तौर पर इच्छानुसार चलता है और कार्य करता है, लेकिन उपयोगकर्ता अनुभव इष्टतम नहीं है। उपयोगकर्ता अनुभव संबंधी समस्याएं विशिष्ट उपयोग परिदृश्यों के कारण उभर सकती हैं या विभिन्न स्थितियों में प्रचलित हो सकती हैं, जिससे उन क्षेत्रों में अंतर्दृष्टि मिलती है जहां कोपायलट में सुधार किया जा सकता है। उपयोगकर्ता अनुभव समस्या को आगे चार प्रकारों में वर्गीकृत किया जा सकता है, जिनका विवरण नीचे दिया गया है।


• खराब कार्यक्षमता अनुभव एक प्रकार के उपयोगकर्ता अनुभव समस्या को संदर्भित करता है जहां कोपायलट के कोर कोड पीढ़ी-संबंधित कार्यक्षमताओं का उपयोग असंतोषजनक है। ये मुद्दे अक्सर उपयोगकर्ताओं और सह-पायलट के बीच समन्वय में बाधा डाल सकते हैं, और यहां तक कि वास्तविक विकास कार्य की दक्षता को भी कम कर सकते हैं। उदाहरण के लिए, एक उपयोगकर्ता ने शिकायत की कि कोपायलट द्वारा प्रदान किए गए स्वचालित रूप से उत्पन्न सुझाव अत्यधिक ध्यान भटकाने वाले थे, जिससे उसे कोड जनरेशन कार्यक्षमता को मैन्युअल रूप से ट्रिगर करने के लिए मजबूर होना पड़ा (चर्चा #13007)।


• खराब सदस्यता अनुभव उन बाधाओं को संदर्भित करता है जो उपयोगकर्ताओं को कोपायलट की सेवाओं की सदस्यता लेने की प्रक्रिया के दौरान सामना करना पड़ता है। कोपायलट कई सदस्यता विधियाँ प्रदान करता है (उदाहरण के लिए, छात्र सत्यापन, सशुल्क सदस्यता), जिससे सदस्यता प्रक्रिया के दौरान उपयोगकर्ताओं को कुछ असुविधा होती है। उदाहरण के लिए, एक उपयोगकर्ता अनिश्चित था कि बिलिंग सेट करने के बाद आगे क्या करना है (चर्चा #19119)।


• खराब प्रदर्शन से तात्पर्य उन प्रदर्शन समस्याओं से है जो कोपायलट के चलने पर उत्पन्न होती हैं, जो आमतौर पर सीधे उपयोगकर्ता अनुभव को प्रभावित करती हैं। इन समस्याओं में उच्च CPU उपयोग, लंबी प्रतिक्रिया समय और अत्यधिक बार-बार सर्वर एक्सेस शामिल हैं। • खराब प्रमाणीकरण अनुभव उस असुविधा को संदर्भित करता है जो उपयोगकर्ताओं को कोपायलट का उपयोग करने से पहले अपनी पहचान प्रमाणित करते समय अनुभव होती है। सबसे आम स्थिति यह है कि कोपायलट बार-बार उपयोगकर्ताओं को पुनः लॉगिन करने के लिए प्रेरित करता है, जो निराशा का एक महत्वपूर्ण स्रोत हो सकता है।


विश्लेषण: उपयोगकर्ता अनुभव के मुद्दे कोपायलट को बेहतर बनाने की दिशा में मूल्यवान अंतर्दृष्टि प्रदान करते हैं। खराब कार्यक्षमता अनुभव मुद्दों (25) में, सबसे आम तौर पर रिपोर्ट किए गए मुद्दों में कोपायलट के इनलाइन सुझाव शामिल हैं, जिससे उपयोगकर्ता की कोडिंग प्रक्रिया में व्यवधान होता है (5) और सुझाए गए कोड के कुछ हिस्सों को स्वीकार करने में असमर्थ होने की असुविधा होती है (2)। ये चिंताएं फ़ीचर अनुरोधों में उपयोगकर्ताओं द्वारा उल्लिखित कुछ मांगों के साथ संरेखित होती हैं, उदाहरण के लिए, यह निर्धारित करना कि कोपायलट कब कोड उत्पन्न कर सकता है और सुझाए गए कोड की लंबाई।


6) कॉपीराइट और नीति मुद्दा (3.4%): कोपायलट को ओपन सोर्स कोड के एक बड़े संग्रह पर प्रशिक्षित किया जाता है और उपयोगकर्ताओं के कोड संदर्भ के आधार पर कोड सुझाव तैयार करता है। कोपायलट जिस तरह से काम करता है वह संभावित कॉपीराइट और नीतिगत मुद्दों के बारे में चिंताएं पैदा करता है, जैसा कि कुछ उपयोगकर्ताओं द्वारा व्यक्त किया गया है। इन मुद्दों को तीन प्रकारों में विभाजित किया गया है, जैसा कि नीचे दिखाया गया है।


• कोड कॉपीराइट मुद्दा मॉडल प्रशिक्षण के लिए कोपायलट द्वारा उनके ओपन-सोर्स कोड के अनधिकृत उपयोग के संबंध में कुछ कोड लेखकों द्वारा उठाई गई चिंताओं को संदर्भित करता है। GitHub वर्तमान में सबसे लोकप्रिय वेब-आधारित कोड होस्टिंग प्लेटफ़ॉर्म में से एक है, और Copilot की रिलीज़ के बाद से, कुछ कोड लेखकों के बीच संदेह रहा है कि GitHub पर होस्ट किए गए उनके कोड का उपयोग उनके लाइसेंस पर उचित विचार किए बिना प्रशिक्षण के लिए किया गया है।


• कोड टेलीमेट्री मुद्दा सुझाव उत्पन्न करने के लिए अपने कोड को एकत्रित करने के कोपायलट के दृष्टिकोण के संबंध में उपयोगकर्ताओं द्वारा व्यक्त की गई चिंताओं को संदर्भित करता है, जिसके परिणामस्वरूप संभावित रूप से गोपनीय कोड का रिसाव हो सकता है। कुछ उपयोगकर्ता अपने स्वयं के कोड के साथ-साथ उनके लिए कोपायलट द्वारा उत्पन्न कोड को अन्य उद्देश्यों के लिए एकत्र करने के लिए भी अनिच्छुक हो सकते हैं।


• मार्केटप्लेस नीति का उल्लंघन एक विशिष्ट मामला है जहां एक उपयोगकर्ता ने रिपोर्ट किया कि प्रस्तावित एपीआई का उपयोग करने के बावजूद कोपिलॉट वीएससीओडी मार्केटप्लेस पर प्रकाशित होने में सक्षम था, जबकि अन्य प्लगइन्स निषिद्ध थे। उपयोगकर्ता को संदेह था कि यह व्यवहार बाज़ार नीति (अंक #3) का उल्लंघन हो सकता है।


विश्लेषण: कॉपीराइट और नीतिगत मुद्दों के उद्भव से कोपायलट के काम करने के तरीके के बारे में उपयोगकर्ताओं की चिंताओं का पता चलता है। कोपायलट को बहु-भाषा ओपन-सोर्स कोड पर प्रशिक्षित किया जाता है और सुझाव उत्पन्न करने के लिए इसके संचालन के दौरान उपयोगकर्ताओं के कोड संदर्भ को एकत्र करने की भी आवश्यकता होती है। इन दो तथ्यों ने लोगों को कोपायलट का उपयोग करते समय, विशेष रूप से इन-हाउस विकास में, कॉपीराइट और बौद्धिक संपदा मुद्दों पर अधिक ध्यान देने के लिए प्रेरित किया है।


बी. कारणों का प्रकार (आरक्यू2)


  1. परिणाम: हमने कुल 337 कारणों की पहचान की, जिन्हें सभी मुद्दों में से 24.1% से एकत्र किया गया था, और उन्हें 13 प्रकारों में वर्गीकृत किया गया था जैसा कि तालिका II में प्रस्तुत किया गया है। परिणाम इंगित करता है कि समस्याओं का सबसे आम कारण कोपायलट आंतरिक समस्या (21.4%) और नेटवर्क कनेक्शन समस्या (15.4%) है, संपादक/आईडीई संगतता समस्या (11.1%) और असमर्थित प्लेटफ़ॉर्म (9.2%) भी आमतौर पर रिपोर्ट की जाती है। विशिष्ट उदाहरण, घटना संख्या और प्रत्येक प्रकार के कारण का अनुपात तालिका II में प्रस्तुत किया गया है। स्थान सीमा के कारण, हम शीर्ष पांच सबसे लगातार कारणों का विश्लेषण करते हैं। यह ध्यान देने योग्य है कि कुछ प्रकार के मुद्दे संभावित रूप से अन्य मुद्दों का कारण हो सकते हैं।


2) विश्लेषण: सहपायलट आंतरिक समस्या, जो विभिन्न प्रकार की उपयोग समस्याओं को जन्म दे सकती है, सबसे सामान्य प्रकार का कारण है। चूंकि कोपायलट एक क्लोज्ड-सोर्स प्रोजेक्ट है, इसलिए इसके आंतरिक विवरण उपयोगकर्ताओं को सार्वजनिक रूप से ज्ञात नहीं हैं। इसलिए, हम कोपायलट से संबंधित अपस्ट्रीम मुद्दों को कोपायलट आंतरिक मुद्दा मानते हैं, जिसमें भाषा मॉडल, कार्यात्मक डिजाइन और सर्वरसाइड मुद्दे शामिल हैं, जो आंतरिक कारकों के कारण होते हैं। आमतौर पर, कोपायलट आंतरिक समस्या की पहचान असामान्य उपयोग अनुभवों के संबंध में उपयोगकर्ता की प्रतिक्रिया पर निर्भर करती है, जिसे कोपायलट टीम को विशिष्ट अंतर्निहित कारणों को इंगित करने के लिए आगे की जांच करने की आवश्यकता होगी। इसके अतिरिक्त, कोपायलट आंतरिक समस्या की घटना के परिणामस्वरूप अक्सर उपयोगकर्ताओं का एक समूह एक निश्चित समय अवधि के भीतर समान समस्याओं की रिपोर्ट करता है। उदाहरण के लिए, सर्वर-साइड खराब परिनियोजन के कारण उपयोगकर्ताओं के एक समूह को प्रमाणीकरण विफलता का सामना करना पड़ सकता है।


नेटवर्क कनेक्शन समस्या एक सामान्य प्रकार का कारण है जो प्रमाणीकरण विफलताओं, रनटाइम अपवादों, एक्सेस विफलताओं आदि का कारण बन सकता है। अधिकांश नेटवर्क-संबंधी समस्याओं के लिए उपयोगकर्ता का नेटवर्क वातावरण जिम्मेदार होता है। एक सामान्य स्थिति यह है कि उपयोगकर्ता HTTP प्रॉक्सी या वीपीएन के माध्यम से कोपायलट तक पहुंचते हैं, जो एसएसएल हस्तक्षेप का कारण बन सकता है और उन्हें सेवा का उपयोग करने से रोक सकता है। हालाँकि, एक अच्छी खबर यह है कि कोपायलट अब HTTP प्रॉक्सी के माध्यम से पहुंच का समर्थन करता है, इस प्रकार ऐसी चिंताओं को दूर करता है [17]।


संपादक/आईडीई संगतता समस्या विभिन्न उपयोग समस्याओं को जन्म दे सकती है, जिनमें मुख्य रूप से असामान्य कार्यक्षमता उपयोग और कोपायलट की परिचालन समस्याएं और बहुत कुछ शामिल हैं।


असमर्थित प्लेटफ़ॉर्म उस कारण को संदर्भित करता है जिसके कारण कुछ उपयोगकर्ता कुछ आईडीई या टेक्स्ट एडिटर में कोपायलट का प्रभावी ढंग से उपयोग करने में असमर्थ होते हैं, जो मुख्य रूप से उपयोग और संगतता से संबंधित कुछ मुद्दों को जन्म देता है। चूंकि कोपायलट खुला स्रोत नहीं है, इसलिए कई प्लेटफ़ॉर्म इसके रिलीज़ होने पर इसे तुरंत एकीकृत करने में असमर्थ हैं, जिसके परिणामस्वरूप कुछ उपयोगकर्ताओं को इसका उपयोग करने का प्रयास करते समय विभिन्न बाधाओं का सामना करना पड़ा है। इसलिए, हम अनुशंसा करते हैं कि उपयोगकर्ता उन आईडीई का उपयोग करने का प्रयास करें जो कोपायलट आधिकारिक तौर पर समर्थन करता है, क्योंकि यह उन्हें अधिक सुविधाजनक और स्थिर कोड जनरेशन सेवा प्रदान करेगा, साथ ही एक परिपक्व चर्चा समुदाय तक पहुंच प्रदान करेगा जो अधिकांश सामान्य मुद्दों को हल करने में मदद कर सकता है।


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



C. समाधान का प्रकार (RQ3)


  1. परिणाम: हमने कुल 497 समाधानों की पहचान की, जिनका उपयोग सभी मुद्दों के 35.5% को संबोधित करने के लिए किया गया था, और उन्हें 11 प्रकारों में वर्गीकृत किया गया था जैसा कि तालिका III में दिखाया गया है। परिणाम से पता चलता है कि अधिकांश उपयोग बग को उपयोगकर्ता प्रतिक्रिया के बाद आधिकारिक फिक्स (कोपायलट 27.0% द्वारा बग फिक्स) द्वारा संबोधित किया गया था, और जब उपयोगकर्ताओं ने स्वयं मुद्दों को हल करने का प्रयास किया, तो कॉन्फ़िगरेशन/सेटिंग को संशोधित करें (22.1%), उपयुक्त संस्करण का उपयोग करें (17.1%) ), और रीइंस्टॉल/रीस्टार्ट/रीऑथराइज़ कोपायलट (12.3%) का उपयोग आमतौर पर प्रभावी समाधान के रूप में किया जाता था। विशिष्ट उदाहरण, घटना संख्या और प्रत्येक प्रकार के समाधान का अनुपात तालिका III में प्रस्तुत किया गया है। स्थान की कमी के कारण, हम शीर्ष 5 समाधानों के परिणामों की व्याख्या करने के साथ-साथ कुछ महत्वपूर्ण विश्लेषण पर भी ध्यान केंद्रित करेंगे। यह ध्यान दिया जाना चाहिए कि अन्य (4.2%) समर्पित समाधानों का एक संग्रह है जो आमतौर पर विशेष वातावरण और मुद्दों के लिए विशिष्ट होते हैं।


वितरण के साथ समस्या प्रकारों और समाधान प्रकारों के बीच मानचित्रण प्रत्येक प्रकार के समाधान का प्रतिनिधित्व करने के लिए संक्षिप्ताक्षरों का उपयोग करके तालिका IV में दिखाया गया है। उदाहरण के लिए, "बीएफसी" कोपायलट द्वारा बग फिक्स का प्रतिनिधित्व करता है। मैपिंग से पता चलता है कि अधिकांश समाधान उपयोग के मुद्दों और संगतता मुद्दों पर लक्षित हैं। फ़ीचर अनुरोधों के लिए मुख्य समाधान मुख्य रूप से आधिकारिक फ़ीचर कार्यान्वयन (FIC) की प्रतीक्षा करना या कॉन्फ़िगरेशन या सेटिंग संशोधनों (MCS) के माध्यम से समान प्रभाव प्राप्त करना है। उपयोगकर्ता अनुभव संबंधी समस्याओं में अधिकतर सुधार कोपायलट टीम (बीएफसी) द्वारा किया जाता है। इसके अतिरिक्त, कोपायलट और संपादक/आईडीई (यूएसवी) के उचित संस्करण का उपयोग करने से बेहतर अनुभव प्राप्त हो सकता है। सुझाव सामग्री के मुद्दों को हल करना अपेक्षाकृत चुनौतीपूर्ण है, क्योंकि केवल कुछ को ही इनपुट वे (एमआईडब्ल्यू) को संशोधित करके संबोधित किया जा सकता है, जबकि अधिकांश के पास प्रभावी समाधानों का अभाव है। कॉपीराइट और नीतिगत मुद्दों के समाधान भी अपेक्षाकृत सीमित हैं। मुख्य समाधान कोपायलट की सेटिंग्स को समायोजित करके उपयोगकर्ताओं के कोड के संग्रह को नियंत्रित करना है।


2) विश्लेषण: कोपायलट द्वारा फिक्स किया गया बग विभिन्न मुद्दों, विशेष रूप से कुछ उपयोग और संगतता मुद्दों के समाधान के लिए प्राथमिक समाधान है। यह उचित है क्योंकि कोपायलट के आंतरिक मुद्दे सबसे आम कारण हैं, जो दर्शाता है कि एक नए उपकरण के रूप में कोपायलट की कई समस्याओं को उपयोगकर्ताओं के स्वयं के प्रयास से हल नहीं किया जा सकता है। कोपायलट की बंद-स्रोत प्रकृति के कारण, उपयोगकर्ता केवल अपनी प्रतिक्रिया दे सकते हैं, और कोपायलट टीम की प्रतिक्रिया और समाधान की प्रतीक्षा कर सकते हैं।


कॉन्फ़िगरेशन/सेटिंग को संशोधित करना अनुचित कॉन्फ़िगरेशन या सेटिंग्स से संबंधित समस्याओं को हल करने के लिए एक सामान्य समाधान है, और उपयोगकर्ताओं द्वारा स्वयं कार्यात्मकता उपयोग मुद्दों, प्लग-इन संगतता मुद्दों और प्रमाणीकरण विफलताओं को संबोधित कर सकता है। इसके अतिरिक्त, कुछ फीचर अनुरोधों के लिए, उपयोगकर्ता केवल कुछ कॉन्फ़िगरेशन परिवर्तन करके अपनी इच्छित कार्यक्षमता प्राप्त कर सकते हैं, जैसे कोड सुझाव स्वीकार करने के लिए कीबोर्ड शॉर्टकट बॉन्डिंग को बदलना। हालाँकि, हमने पाया कि कोपायलट रनिंग वातावरण की जटिलता के कारण, एक अनुशंसित कॉन्फ़िगरेशन प्रदान करना मुश्किल है जो सभी स्थितियों के लिए उपयुक्त है। इसलिए, प्रत्येक मामले का व्यक्तिगत रूप से विश्लेषण किया जाना चाहिए।


उपयुक्त संस्करण का उपयोग सेटअप/संचालन समस्याओं, कार्यात्मकता उपयोग समस्याओं, स्थापना समस्याओं और संपादक/आईडीई संगतता समस्याओं को संबोधित करने का एक प्रभावी तरीका प्रदान करता है। उपयोगकर्ता प्रतिक्रिया और विकास योजनाओं के आधार पर कोपायलट को कई संस्करणों पर तेजी से दोहराया गया। इस बीच, कुछ आईडीई ने इसके साथ संगत होने के लिए नए संस्करण भी जारी किए हैं। हालाँकि, कुछ पुराने संस्करण नवीनतम की तुलना में अधिक स्थिर हो सकते हैं जिनमें कुछ बग या संगतता समस्याएँ हो सकती हैं। इस प्रकार, उपयुक्त संस्करण का उपयोग उपयोगकर्ताओं के लिए एक अत्यधिक प्रभावी समाधान है।


रीइंस्टॉल/रीस्टार्ट/रीऑथराइज़ कोपायलट उपयोगकर्ताओं के लिए प्रमाणीकरण विफलताओं, सेटअप/ऑपरेशन समस्याओं और कार्यात्मकता उपयोग समस्याओं को स्वयं हल करने का एक और समाधान है। इसका सिद्धांत कोपायलट की वर्तमान स्थिति को रीसेट करना है, किसी भी पिछली त्रुटि या सेटिंग्स को उनकी प्रारंभिक स्थिति में वापस लौटाना है।


कोपायलट द्वारा कार्यान्वित फ़ीचर एक आधिकारिक कार्रवाई के रूप में कार्य करता है जो मुख्य रूप से उपयोगकर्ता फ़ीचर अनुरोधों को संबोधित करता है। कोपायलट की नई सुविधाओं की विकास गति अपेक्षाकृत तेज़ है, और कोपायलट टीम वर्तमान में कोपायलट एक्स [18] में कुछ नवीनतम सुविधाओं के साथ प्रयोग कर रही है।