paint-brush
Çalışma GitHub Copilot Kullanıcılarının Karşılaştığı Ortak Sorunları Ortaya Çıkarıyorile@textmodels
4,843 okumalar
4,843 okumalar

Çalışma GitHub Copilot Kullanıcılarının Karşılaştığı Ortak Sorunları Ortaya Çıkarıyor

Çok uzun; Okumak

GitHub Copilot ile ilgili kullanıcı zorluklarını araştıran bir çalışma, kullanım engelleri, uyumluluk endişeleri ve kod önerisi kalitesi gibi yaygın sorunları ortaya çıkardı. Nedenler dahili sistem sorunlarından ağ bağlantı sorunlarına kadar değişirken çözümler arasında hata düzeltmeleri, yapılandırma ayarlamaları ve sürüm güncellemeleri yer alır. Genel olarak bulgular GitHub Copilot'un kullanıcı deneyiminin iyileştirilmesine ışık tutuyor.
featured image - Çalışma GitHub Copilot Kullanıcılarının Karşılaştığı Ortak Sorunları Ortaya Çıkarıyor
Writings, Papers and Blogs on Text Models HackerNoon profile picture

Bu makale arxiv'de CC 4.0 lisansı altında mevcuttur.

Yazarlar:

(1) Xiyu Zhou, Bilgisayar Bilimleri Okulu, Wuhan Üniversitesi, Wuhan, Çin;

(2) Peng Liang, Bilgisayar Bilimleri Okulu, Wuhan Üniversitesi, Wuhan, Çin;

(3) Zengyang Li, Bilgisayar Bilimleri Okulu, Orta Çin Normal Üniversitesi, Wuhan, Çin;

(4) Aakash Ahmad, Bilgisayar ve İletişim Okulu, Lancaster Üniversitesi Leipzig, Leipzig, Almanya;

(4) Mojtaba Shahin, Bilgisayar Teknolojileri Okulu, RMIT Üniversitesi, Melbourne, Avustralya;

(4) Muhammad Waseem, Bilgi Teknolojileri Fakültesi, Jyväskylä Üniversitesi, Jyväskylä, Finlandiya.


III. SONUÇLAR VE ANALİZ

Bu bölümde, üç RQ'nun çalışma sonuçlarını rapor ediyoruz ve temel bulguların analizini sunuyoruz. Bölüm III-A'da sorun türlerini sunduk, Bölüm III-B ve III-C'de ise sırasıyla ilgili sorunların nedenlerini ve çözümlerini sunduk. Sorun türlerinin sonuçları iki seviyeye kategorize edilir: kategoriler (örneğin, Öneri İçeriği Sorunu) ve türler (örneğin, DAHA AZ ETKİLİ ÖNERİ). Bu arada nedenler ve çözümlere ilişkin sonuçlar yalnızca türler halinde düzenlenir (örn. Uygun Sürümü Kullan). Sonuçlara yalnızca sorunlara yol açtığı kanıtlanmış nedenlerin ve sorunları çözebilecek çözümlerin çıkarılıp sunulduğu unutulmamalıdır. Bu nedenle, tüm sorunların karşılık gelen nedenleri ve çözümleri yoktur. Sağlanan veri kümesinde "GitHub Issue ID", "GitHub Discussion ID" veya "SO Post ID"yi belirten "#" sembolüyle örnekler sağlıyoruz [13].


A. Sorun Türü (RQ1)


Şekil 2, verilerimizden çıkarılan konuların sınıflandırmasını sunmaktadır. Copilot kullanıcılarının karşılaştığı sorunların çoğunluğunu Kullanım Sorunlarının (%56,9) oluşturduğu görülmektedir. Ayrıca önemli sayıda kullanıcı, kullanıcı deneyimi ve gereksinimlerine göre Özellik İsteklerini (%15,3) artırdı. Ayrıca, Copilot'u farklı ortamlarda kullanırken Uyumluluk Sorunlarıyla (%15,3) karşılaşan kullanıcıların bir kısmı da vardır; daha küçük yüzdeler ise Öneri İçerik Sorunları (%4,9), Kullanıcı Deneyimi Sorunları (%4,2) ve Telif Hakkı ve Politika Sorunları olarak belirlenmiştir. (%3,4).


  1. Kullanım Sorunu (%56,9): Kullanım Sorunu, Copilot'un bazı temel fonksiyonlarını kullanmaya çalışırken kullanıcıların karşılaştığı engeller kategorisini ifade eder (örn. kurulum hatası). Bu sorun kategorisi ayrıca aşağıda ayrıntılı olarak açıklanan altı türe ayrılmıştır.


• İŞLEVSELLİK KULLANIM SORUNU, Copilot tarafından sağlanan kod oluşturmayla ilgili çeşitli özelliklerin anormalliğini ifade eder. Copilot, kod önerileri sağlamanın yanı sıra, kullanıcılarla daha iyi etkileşim kurmak için "önceki/sonraki öneri", "tüm önerileri görüntüle" ve önerileri kabul etmek için kısayol tuşlarının yapılandırılması gibi çeşitli etkileşimli özellikler sunar. Kullanıcılar bu özellikleri kullanırken istisnalarla karşılaşabilirler. Örneğin, bir kullanıcı "Copilot artık PyCharm'da öneride bulunmuyor" diye bildirdi (Tartışma #11199).


• KURULUM/ÇALIŞTIRMA SORUNU, Copilot'un başlatılması veya çalıştırılması sırasında meydana gelen hataları veya arızaları ifade eder ve genellikle çalışma zamanı istisnalarını içerir. Bu sorunlar, Copilot'un düzgün çalışmasını engelleyebilir veya kullanıcının "VSCode'da yardımcı pilot başlatma hatasıyla" (Tartışma #30996) karşılaşması gibi beklenmedik bir şekilde çökmesine neden olabilir.


• DOĞRULAMA BAŞARISIZLIĞI, Copilot kullanılırken kullanıcı oturum açma ve kimlik doğrulama zorluklarıyla ilgili sorunları ifade eder. Copilot, hizmeti kullanmadan önce kullanıcıların GitHub hesaplarında oturum açmasını gerektirir. Copilot'un kod oluşturma hizmetini yalnızca erişim izinlerine (ücretli abonelikler, öğrenci kimlik doğrulaması vb. dahil) sahip kullanıcılar kullanabilir. Kimlik doğrulama işlemi sırasında kullanıcılar bununla ilgili çeşitli sorunlarla karşılaşabilir ve bu da Copilot'un kullanılamamasına neden olabilir. Örneğin, bir kullanıcı tartışma forumunda “Yükseltme sonrasında oturum açamıyorum” dedi (Tartışma #18132).


• ERİŞİM BAŞARISIZLIĞI, kullanıcıların Copilot sunucusuna erişememeleri durumunu ifade eder ve bu genellikle sunucu bağlantılarıyla ilgili hatalar içerir. Bir kullanıcı "GitHub Copilot sunucuya bağlanamadı" (Tartışma #11801) gibi bir hata mesajıyla karşılaşabilir.


• KURULUM SORUNU, Copilot'un kurulum işlemi sırasında karşılaşılan kurulum hataları, kurulum yöntemlerinin bulunamaması ve diğer ilgili sorunlar dahil olmak üzere sorunları ifade eder. Örneğin bazı kullanıcılar “Copilot yüklenirken oluşan hatalar” (Tartışma #17250) gibi sorunlarla karşılaşabilirler.


• SÜRÜM KONTROLÜ SORUNU, Copilot sürümünü veya çalışma zamanı ortamını (örn. IDE) ayarlarken kullanıcıların karşılaştığı sorunları ifade eder; buna Copilot sürümünün yükseltilememesi veya yükseltme sonrasında bile yükseltme istemeye devam edilmesi gibi anormal sorunlar dahildir. Örneğin, bir kullanıcı IntelliJ IDEA'da kullanırken "yardımcı pilot eklentisi güncellenemiyor" dedi (Tartışma #17298).


Analiz: Nispeten yeni bir AI kod ürünü olarak, Copilot ile kullanıcı etkileşiminin çeşitli aşamalarında Kullanım Sorununu belirledik. Kullanıcılar ayrıca bu sorunları bildirme ve yardım arama eğilimindedir; bu da Kullanım Sorununu en yaygın sorun kategorisi haline getirmiştir. İŞLEVSELLİK KULLANIM SORUNU (233), KURULUM/İŞLETİM SORUNU (201) ve DOĞRULAMA BAŞARISIZLIĞI (199) ilk üç türdür. İlk iki tür sorunun daha sık görülmesini, Copilot'un özellik tasarımı ve kararlılığındaki eksikliklere bağlıyoruz; bunlar aynı zamanda kullanıcıların ortamlarından ve işlemlerinden de etkileniyor. Üçüncü tür, öncelikle Copilot'un kullanıcıların GitHub hesaplarını kullanarak oturum açmasını gerektirdiğinde ortaya çıkan belirli ayrıntılarla ilişkilidir.


2) Özellik İsteği (%15,3): Özellik İsteği, kullanıcıların Copilot kullanırken deneyimlerine ve gerçek ihtiyaçlarına göre eklemek veya geliştirmek istedikleri özellikleri ifade eder. Bu özellik istekleri yalnızca Copilot'un kullanıcı deneyiminin iyileştirilmesine yardımcı olmakla kalmıyor, aynı zamanda AI kod oluşturma araçlarının geliştiricilerle nasıl daha iyi etkileşim kurabileceğinin araştırılmasına da katkıda bulunuyor. Bu kategori ayrıca aşağıda gösterildiği gibi dört türe ayrılmıştır.


• İŞLEV TALEBİ, Copilot'ta genellikle kullanıcıların gerçek ihtiyaçlarından ve aracı kullanırken karşılaşılan zorluklardan kaynaklanan yeni işlevler geliştirmeye yönelik talepleri ifade eder. Örneğin bir kullanıcı, "Kod Açıklamaları Özelliği"nin eklenmesinin Copilot'un kullanışlılığını artırabileceğini öne sürdü (Tartışma #7509).


• ENTEGRASYON TALEBİ, Copilot'un belirli platformlarda yer alması veya diğer eklentilerle entegre olması için yapılan talep türünü ifade eder. Bunun temel nedeni bazı kullanıcıların Copilot'u belirli ortamlarda kullanma isteğidir. Örneğin, bir kullanıcı "Intellij 2022.2 EAP ailesi için destek" (Tartışma #17045) çağrısında bulundu. Entegrasyon talepleri, Copilot'un geliştiriciler arasındaki popülerliğini de bir ölçüde yansıtıyor.


• UI REQUEST, Copilot simgesinin görünümünün değiştirilmesini, kullanım istemlerinin ayarlanmasını ve diğer ilgili hususları içerebilecek, Copilot'un kullanıcı arayüzünde (UI) değişiklik yapılması için kullanıcılar tarafından yapılan talepleri ifade eder. Bu talepler genel olarak Copilot'un görsel efektlerini ve kullanıcı deneyimini iyileştirmeye yöneliktir. Örneğin bir kullanıcı, Copilot'un mevcut çalışma durumu hakkında bilgi sağlamak için bir "durum göstergesinin" (Sayı #163) eklenmesini talep edebilir.


• PROFESYONEL COPİLOT VERSİYONU, bazı kullanıcıların Copilot'un profesyonel sürümüne yönelik taleplerini ifade eder.


Şekil 2. GitHub Copilot'u kullanırken karşılaşılan sorunların sınıflandırması


Bu kullanıcılar genellikle belirli şirketlerin dahili ekiplerinden gelen ve gerçek işlerinde daha profesyonel ve güvenilir kod oluşturma hizmetleri almayı uman geliştiricilerdir. Özellikle Copilot kodunun güvenilirliği ve güvenliğinin yanı sıra ekip sertifikasyonu ve diğer hususlar konusunda daha yüksek gereksinimlere sahiptirler.


Analiz: FUNCTION REQUEST (123) için, kullanıcıların genellikle Copilot'u kendi geliştirme alışkanlıklarına daha yakın uyum sağlayacak şekilde yapılandırma konusunda daha fazla esneklik istediklerini ifade ettiklerini gözlemledik. Örneğin, ortak talepler arasında Copilot'un önerilerinin kelime kelime kabul edilmesi ve Copilot'un dosya türleri veya kod geliştirme kapsamları açısından otomatik olarak nerede çalışması gerektiğinin belirtilmesi yer alıyor. Daha yenilikçi talepler arasında Copilot'un tüm projeye göre öneriler sunması ihtiyacının yanı sıra, Copilot X'te teknik bir ön izleme olarak halihazırda başlatılan kod açıklamaları ve sohbet işlevselliği [15] gibi özellikler yer alıyor. ENTEGRASYON TALEBİ (75), geliştiricilerin Copilot'u tanıdık ortamlarında kullanma isteği. Önemli sayıda Uyumluluk Sorunu tespit ettiğimizden, bu durum Copilot ekibinin yükünü artırıyor.


3) Uyumluluk Sorunu (%15,3): Bu kategori, Copilot ile çalışma zamanı ortamı arasındaki uyumsuzluklardan kaynaklanan sorunları kapsar. Copilot, çeşitli IDE'lerde ve metin editörlerinde (örneğin, VSCode ve IntelliJ IDEA) bir eklenti olarak çalışır ve ortamların karmaşıklığı ve diğer eklentilerden kaynaklanan parazitler, artan sayıda uyumluluk sorununa neden olabilir. Bu sorunlar ayrıca aşağıda ayrıntılı olarak açıklanan dört türe ayrılmıştır.


• EDİTÖR/IDE UYUMLULUK SORUNU, Copilot ile IDE'si veya editörü arasındaki uyumsuzluklardan kaynaklanan sorunları ifade eder. Bu sorunlar genellikle Copilot'un belirli bir IDE veya düzenleyicide düzgün şekilde çalışamaması nedeniyle ortaya çıkar.


• PLUG-IN UYUMLULUK SORUNU, Copilot ve diğer eklentilerin aktif olduğu ve aynı ortamda birlikte çalıştığı durumlarda ortaya çıkan bir tür eşleşme sorununu ifade eder. Bu tür sorunlar, Copilot ve diğer eklentilerin kısmen veya tamamen arızalanmasına neden olabilir ve genellikle Copilot veya diğer eklentilerin devre dışı bırakılması gibi sorun giderme yöntemleriyle tanımlanır. Örneğin bir kullanıcı, Copilot tarafından oluşturulan kod önerilerini almasını engelleyen "Emmet ile klavye kısayolunun çakıştığını" (Sayı #47) bildirdi.


• ÇERÇEVE UYUMLULUK SORUNU, Copilot ile üzerinde çalıştığı çerçeve arasındaki bir tür uyumluluk sorununu ifade eder. Yaygın bir örnek, Copilot'un Vim için özel olarak tasarlanmış resmi bir sürümü olan Copilot.vim [16] ile Node.js arasındaki uyumluluk sorunudur.


• KLAVYE UYUMLULUK SORUNU, Copilot işlevselliğinin bazı yaygın olmayan klavye düzenlerinde kullanılamadığı durumu ifade eder. Örneğin Almanca klavye düzenine sahip bir kullanıcı, Copilot'un kod oluşturmayla ilgili özelliklerinin çoğunu kullanamaz. (Tartışma #7094).


Analiz: Uyumluluk Sorunu, kullanıcıların Copilot'u kullandığı karmaşık operasyonel ortamlardan ve ayrıca Copilot'un uyumluluk sağlamlığından kaynaklanmaktadır. EDİTÖR/IDE UYUMLULUK SORUNU (132) durumunda, Copilot kullanımı için resmi olarak tavsiye edilen platform olan VSCode, daha fazla sayıda uyumluluk sorunu rapor etmiştir. Ayrıca Visual Studio, IDEA ve PyCharm gibi yaygın olarak kullanılan diğer IDE'lerde de benzer sorunlar bulduk. EKLENEBİLİRLİK SORUNUNUN (72) görünümü, diğer kod tamamlama araçlarıyla çakışmaları içeren tipik sorunlar nedeniyle daha az tahmin edilebilirdir.


4) Öneri İçeriği Sorunu (%4,9): Bu sorun kategorisi, Copilot tarafından oluşturulan kodun içeriğiyle ilgili sorunları ifade eder. Kod önerileri oluşturmak, Copilot gibi yapay zeka kod oluşturma araçlarının temel özelliğidir ve önerilerin kalitesi, kullanıcıların bunları benimseyip benimsemeyeceğini doğrudan belirler. Bu nedenle oluşturulan kodun içeriği doğal olarak kullanıcılar, araştırmacılar ve Copilot ekibi için merak konusu olan bir alandır. Bu sorunlar ayrıca aşağıda ayrıntıları verilen yedi spesifik duruma bölünmüştür.


• DÜŞÜK KALİTELİ ÖNERİ, Copilot'un yararlı kod oluşturmak için bağlamı yeterince kavrayamadığı durumları ifade eder. Bu tür kod önerileri herhangi bir sözdizimsel hata içermeyebilir, ancak kalitelerinin düşük olması nedeniyle kullanıcılar tarafından benimsenme olasılıkları düşüktür. Örneğin, Copilot bir keresinde kullanıcının kodunda belirtilen gereksinimleri karşılamadan yalnızca bir return ifadesi içeren boş bir yöntem oluşturmuştu (Tartışma #6631).


• ANLAMSIZ ÖNERİ, Copilot tarafından sağlanan, kullanıcının ihtiyaçlarıyla tamamen alakasız olan veya garip çıktılar üreten kod önerilerini ifade eder. Bu tür öneriler neredeyse kullanılamaz olarak kabul edilir ve kullanıcıya çok az buluşsal yardım sağlar. Örneğin, bir kullanıcı Copilot tarafından oluşturulan, erişilemeyen sahte bir URL aldı (Tartışma #14212).


• HATA İLE ÖNERİ, Copilot'un bağlama dayalı olarak ilgili kodu üretebildiği ancak önerilen kodun bazı hatalar içerdiği durumu ifade eder. Bu, programın çalışabilmesine neden olabilir, ancak geliştiricinin amaçladığı şekilde çalışmayabilir veya bazı durumlarda hatalara veya çökmelere neden olabilir. Örneğin bir kullanıcı, Copilot'un "setState(true)" (Sorun #43) yerine "setState(!state)" kullanılmasını önerdiğini ve bunun kodda mantıksal bir hataya neden olduğunu bildirdi.


• ANLAŞILMAZ ÖNERİ, Copilot'un kod önerileri sağladığı, ancak kod mantığının karmaşıklığı veya deneyim eksikliği nedeniyle kullanıcıların önerilen kodu anlamada zorluk çektiği ve doğruluğunun doğrulanması için ek kaynağa ihtiyaç duyduğu durumu ifade eder. Örneğin, bir kullanıcı "Github Copilot'um bunu benim için otomatik olarak tamamladı, sonra bununla ilgili bilgi bulmak için interneti taradım ama bulamadım" dedi. (SO#73075410)


• GEÇERSİZ SÖZDİZİMİ İLE ÖNERİ, Copilot tarafından oluşturulan önerilerin, programın düzgün çalışmasını engelleyen sözdizimi hataları içerebileceği durumu ifade eder. Bunun bir örneği, önerilen kodda kapanış parantezinin eksik olması ve editörün sözdizimi hatası görüntülemesine neden olmasıdır (Tartışma #38941).


• DAHA AZ ETKİLİ ÖNERİ, Copilot tarafından oluşturulan, işlevsel olarak doğru olan ve kullanıcının gereksinimlerini karşılayan, ancak optimal olmayan uygulama verimliliğinden veya karmaşık mantıktan muzdarip olabilen ve kodun genel kalitesini etkileme potansiyeline sahip olan kod önerilerini ifade eder.


• GÜVENLİ OLMAYAN ÖNERİ, Copilot tarafından oluşturulan ve güvenlik açıklarına neden olan kod önerilerini ifade eder. Örneğin, bir kullanıcı kendisine sunulan kod önerisinin okunmakta olan boyutlar konusunda sorumluluk sahibi olmadığını belirtti (Tartışma #6636).


Analiz: Kod önerilerinin kalitesi, Copilot'un pratik kod geliştirme yeteneğini belirlemede çok önemli bir faktördür. Nispeten az miktarda Öneri İçeriği Sorunu belirledik; bu, muhtemelen kullanıcıların, kullanımla ilgili sorunlara kıyasla önerilen kodla ilgili sorunları bildirmeye daha az eğilimli olduklarını gösteriyor. Bu sorunlar arasında DÜŞÜK KALİTELİ ÖNERİ, ANLAMSIZ ÖNERİ ve HATALI ÖNERİ en sık bildirilen üç tür iken, GÜVENLİ OLMAYAN ÖNERİ ve AZ ETKİLİ ÖNERİ daha az yaygındır. Bu sonuç, oluşturulan kodun kalitesinin kullanıcılar için büyük bir endişe kaynağı olduğunu ancak güvenlik ve etkililiğin yüksek bir öncelikte olmadığını göstermektedir.


5) Kullanıcı Deneyimi Sorunu (%4,2): Bu kategori, Copilot kullanım deneyimlerine ilişkin kullanıcı geri bildirimlerini kapsar. Kullanım Sorunu ile karşılaştırıldığında, Copilot genellikle amaçlandığı gibi çalışır ve çalışır, ancak kullanıcı deneyimi optimalin altındadır. Kullanıcı deneyimi sorunları, belirli kullanım senaryoları nedeniyle ortaya çıkabilir veya çeşitli durumlarda yaygın olabilir ve Copilot'un geliştirilebileceği alanlara ilişkin bilgiler sağlar. Kullanıcı Deneyimi Sorunu ayrıca aşağıda ayrıntıları verilen dört türe ayrılabilir.


• ZAYIF İŞLEVSELLİK DENEYİMİ, Copilot'un temel kod oluşturmayla ilgili işlevlerinin kullanımının yetersiz olduğu bir tür kullanıcı deneyimi sorununu ifade eder. Bu sorunlar genellikle kullanıcılar ile Copilot arasındaki koordinasyonu engelleyebilir ve hatta gerçek geliştirme çalışmasının verimliliğini azaltabilir. Örneğin bir kullanıcı, Copilot tarafından sağlanan otomatik olarak oluşturulan önerilerin son derece dikkat dağıtıcı olduğundan ve onu kod oluşturma işlevini manuel olarak tetiklemeye zorladığından şikayet etti (Tartışma #13007).


• KÖTÜ ABONELİK DENEYİMİ, kullanıcıların Copilot hizmetlerine abone olma sürecinde karşılaştıkları engelleri ifade eder. Copilot çeşitli abonelik yöntemleri (örneğin, öğrenci doğrulama, ücretli abonelik) sunarak, abonelik işlemi sırasında kullanıcılara bazı zorluklar yaşatmaktadır. Örneğin, bir kullanıcı faturalandırmayı ayarladıktan sonra ne yapması gerektiğinden emin değildi (Tartışma #19119).


• KÖTÜ PERFORMANS, Copilot çalışırken ortaya çıkan ve genellikle kullanıcı deneyimini doğrudan etkileyen performans sorunlarını ifade eder. Bu sorunlar arasında yüksek CPU kullanımı, uzun yanıt süreleri ve aşırı sık sunucu erişimi yer alır. • KÖTÜ DOĞRULAMA DENEYİMİ, kullanıcıların Copilot'u kullanmadan önce kimliklerini doğrularken karşılaştıkları rahatsızlığı ifade eder. En yaygın durum, Copilot'un sık sık kullanıcılardan yeniden giriş yapmalarını istemesidir; bu da önemli bir hayal kırıklığı kaynağı olabilir.


Analiz: Kullanıcı Deneyimi Sorunları, Copilot'un iyileştirilmesi yönünde değerli bilgiler sağlar. ZAYIF İŞLEVSELLİK DENEYİMİ sorunları arasında (25), en sık bildirilen sorunlar arasında Copilot'un satır içi önerilerinin kullanıcının kodlama sürecinde aksamalara neden olması (5) ve önerilen kodun belirli bölümlerini kabul edememe sıkıntısı (2) yer almaktadır. Bu endişeler, Copilot'un ne zaman kod oluşturabileceğinin ve önerilen kodun uzunluğunun ayarlanması gibi, kullanıcılar tarafından Özellik İsteklerinde belirtilen bazı taleplerle uyumludur.


6) Telif Hakkı ve Politika Sorunu (%3,4): Copilot, geniş bir açık kaynak kodu topluluğu üzerinde eğitilmiştir ve kullanıcıların kod bağlamına dayalı olarak kod önerileri üretir. Copilot'un çalışma şekli, bazı kullanıcılar tarafından ifade edildiği gibi, potansiyel telif hakkı ve politika sorunlarına ilişkin endişelere yol açmaktadır. Bu sorunlar aşağıda gösterildiği gibi üç türe ayrılmıştır.


• KOD TELİF HAKKI SORUNU, bazı kod yazarlarının açık kaynak kodlarının Copilot tarafından model eğitimi için izinsiz kullanılmasına ilişkin dile getirdiği endişeleri ifade eder. GitHub şu anda en popüler web tabanlı kod barındırma platformlarından biridir ve Copilot'un piyasaya sürülmesinden bu yana, bazı kod yazarları arasında GitHub'da barındırılan kodlarının, lisansları uygun şekilde değerlendirilmeden eğitim için kullanıldığına dair şüpheler vardır.


• KOD TELEMETRİSİ SORUNU, Copilot'un öneriler oluşturmak için kodlarını toplama yaklaşımıyla ilgili olarak kullanıcılar tarafından ifade edilen ve potansiyel olarak gizli kodun sızmasıyla sonuçlanabilecek endişeleri ifade eder. Bazı kullanıcılar kendi kodlarının yanı sıra Copilot tarafından onlar için oluşturulan kodun başka amaçlarla toplanmasını da istemeyebilirler.


• PAZAR YERİ POLİTİKASI'NIN İHLALİ, bir kullanıcının Copilot'un önerilen API'leri kullanmasına rağmen diğer eklentilerin yasaklanmış olmasına rağmen VSCode pazarında yayınlanabildiğini bildirdiği özel bir durumdur. Kullanıcı, bu davranışın Pazaryeri Politikasını ihlal ediyor olabileceğinden şüpheleniyordu (Sorun #3).


Analiz: Telif Hakkı ve Politika Sorunlarının ortaya çıkması, kullanıcıların Copilot'un çalışma şekli hakkındaki endişelerini ortaya koymaktadır. Copilot, çok dilli açık kaynak kodu konusunda eğitilmiştir ve öneriler oluşturmak için çalışması sırasında kullanıcıların kod bağlamını da toplaması gerekir. Bu iki gerçek, insanların özellikle şirket içi geliştirmede Copilot'u kullanırken telif hakkı ve fikri mülkiyet konularına daha fazla dikkat etmelerine yol açtı.


B. Nedenlerin Türü (RQ2)


  1. Sonuçlar: Tüm sorunların %24,1'inden toplanan ve Tablo II'de sunulduğu gibi 13 türe ayrılan toplam 337 neden belirledik. Sonuç, sorunların en sık görülen nedenlerinin Yardımcı Pilot Dahili Sorunu (%21,4) ve Ağ Bağlantısı Sorunu (%15,4) olduğunu, Düzenleyici/IDE Uyumluluk Sorununun (%11,1) ve Desteklenmeyen Platformun (%9,2) da sıklıkla rapor edildiğini göstermektedir. Spesifik örnekler, oluşum sayısı ve her bir neden türünün oranı Tablo II'de sunulmaktadır. Yer sınırı nedeniyle en sık görülen ilk beş nedeni analiz ediyoruz. Bazı sorun türlerinin potansiyel olarak diğer sorunların nedeni olabileceğini belirtmekte fayda var.


2) Analiz: Çeşitli türde kullanım sorunlarına yol açabilen Yardımcı Pilot İç Sorunu, en yaygın neden türüdür. Copilot kapalı kaynaklı bir proje olduğundan, dahili ayrıntıları kullanıcılar tarafından kamuya açıklanmamaktadır. Bu nedenle, Copilot ile ilgili yukarı yönlü sorunları, iç faktörlerden kaynaklanan dil modeli, işlevsel tasarım ve sunucu tarafı sorunlarını kapsayan Yardımcı Pilot Dahili Sorunu olarak nitelendiriyoruz. Tipik olarak, Yardımcı Pilot Dahili Sorununun belirlenmesi, Copilot ekibinin altta yatan belirli nedenleri belirlemek için daha fazla araştırma yapması gereken anormal kullanım deneyimleriyle ilgili kullanıcı geri bildirimlerine dayanır. Ek olarak, Yardımcı Pilot Dahili Sorununun ortaya çıkması genellikle bir grup kullanıcının belirli bir süre içinde benzer sorunları bildirmesiyle sonuçlanır. Örneğin, sunucu tarafındaki hatalı bir dağıtım, bir grup kullanıcının KİMLİK KİMLİK HATASI ile karşılaşmasına neden olabilir.


Ağ Bağlantısı Sorunu, kimlik doğrulama hatalarına, çalışma zamanı istisnalarına, erişim hatalarına vb. yol açabilecek yaygın bir neden türüdür. Ağla ilgili sorunların çoğu kullanıcının ağ ortamıyla ilişkilendirilir. Yaygın bir durum, kullanıcıların Copilot'a bir HTTP proxy veya VPN aracılığıyla erişmesidir, bu da SSL müdahalesine neden olabilir ve hizmeti kullanmalarını engelleyebilir. Ancak iyi haber şu ki, Copilot artık bir HTTP proxy üzerinden erişimi destekliyor ve böylece bu tür endişeleri gideriyor [17].


Düzenleyici/IDE Uyumluluk Sorunu, başta anormal işlevsellik kullanımı ve Copilot'un çalışma sorunları ve daha fazlası dahil olmak üzere çeşitli kullanım sorunlarının oluşmasına yol açabilir.


Desteklenmeyen Platform, bazı kullanıcıların belirli IDE veya metin düzenleyicilerinde Copilot'u etkili bir şekilde kullanamamalarının nedenini ifade eder ve bu da esas olarak kullanım ve uyumlulukla ilgili bazı sorunlara yol açar. Copilot açık kaynak olmadığı için birçok platform piyasaya sürülmesinden hemen sonra entegre olamıyor, bu da bazı kullanıcıların onu kullanmaya çalışırken çeşitli engellerle karşılaşmasına neden oldu. Bu nedenle, kullanıcılara Copilot'un resmi olarak desteklediği IDE'leri kullanmayı denemelerini öneririz; çünkü bu, onlara daha kullanışlı ve istikrarlı bir kod oluşturma hizmeti sunmanın yanı sıra, en yaygın sorunların çözülmesine yardımcı olabilecek olgun bir tartışma topluluğuna erişim sağlayacaktır.


Yanlış Yapılandırma/Ayar, işlevsellik kullanımı ve uyumluluk sorunlarının ana nedenlerinden biridir. Örneğin, Copilot'u yükledikten sonra varsayılan yapılandırması ve ayarları, belirli bir IDE'de arıza yapmasına veya diğer eklentilerle çakışmasına neden olabilir. Bu sorunların çoğu yapılandırma ayarlamaları yoluyla çözülebilir.



C. Çözüm Türü (RQ3)


  1. Sonuçlar: Tüm sorunların %35,5'ini ele almak için kullanılan ve Tablo III'te gösterildiği gibi 11 türe ayrılan toplam 497 çözüm belirledik. Sonuç, kullanım hatalarının çoğunun, kullanıcı geri bildirimi sonrasında resmi düzeltmelerle (%27,0 Copilot tarafından düzeltilen hata) ve kullanıcılar sorunları kendileri çözmeye çalıştıklarında Yapılandırmayı/Ayarları Değiştir (%22,1), Uygun Sürümü Kullan (%17,1) ile giderildiğini ortaya koymaktadır. ) ve Copilot'u Yeniden Kur/Yeniden Başlat/Yeniden Yetkilendir (%12,3) etkili çözümler olarak yaygın şekilde kullanıldı. Spesifik örnekler, oluşum sayısı ve her çözüm türünün oranı Tablo III'te sunulmaktadır. Yer kısıtlamaları nedeniyle, bazı önemli analizlerin yanı sıra ilk 5 çözümün sonuçlarının yorumlanmasına odaklanacağız. Diğerlerinin (%4,2) genellikle belirli ortamlara ve sorunlara özel, özel çözümlerden oluşan bir koleksiyon olduğunu belirtmek gerekir.


Sorun türleri ve çözüm türleri arasındaki dağılımla eşleme, her çözüm türünü temsil eden kısaltmalar kullanılarak Tablo IV'te gösterilmektedir. Örneğin, “BFC”, Copilot Tarafından Düzeltilen Hatayı temsil eder. Eşleme, çözümlerin çoğunluğunun Kullanım Sorunları ve Uyumluluk Sorunlarına yönelik olduğunu göstermektedir. Özellik İsteklerine yönelik ana çözümler öncelikle resmi özellik uygulamasını (FIC) beklemek veya yapılandırma veya ayar değişiklikleri (MCS) yoluyla benzer etkileri elde etmektir. Kullanıcı Deneyimi Sorunları çoğunlukla Copilot ekibi (BFC) tarafından iyileştirilmektedir. Ek olarak, Copilot'un ve editör/IDE'nin (USV) uygun sürümünün kullanılması daha iyi bir deneyime yol açabilir. Öneri İçeriği Sorunlarını Çözmek nispeten zordur çünkü giriş yolunun (MIW) değiştirilmesi yoluyla yalnızca birkaçı çözülebilirken çoğunluğun etkili çözümleri yoktur. Telif hakkı ve politika sorunlarının da nispeten sınırlı çözümleri vardır. Ana çözüm, Copilot'un ayarlarını düzenleyerek kullanıcıların kod koleksiyonunu kontrol etmektir.


2) Analiz: Copilot tarafından Düzeltilen Hatalar, başta belirli kullanım ve uyumluluk sorunları olmak üzere çeşitli sorunları çözmek için birincil çözümdür. Copilot Dahili Sorunları en sık görülen nedenler olduğundan bu mantıklıdır; bu da yeni bir araç olan Copilot'un birçok sorununun kullanıcıların kendi çabasıyla çözülemeyeceğini gösterir. Copilot'un kapalı kaynak yapısı nedeniyle kullanıcılar yalnızca geri bildirimlerini sunabilir ve Copilot ekibinin yanıtını ve çözümünü bekleyebilirler.


Yapılandırmanın/Ayarın değiştirilmesi, uygunsuz yapılandırmalar veya ayarlarla ilgili sorunları çözmek için yaygın bir çözümdür ve kullanıcıların kendileri tarafından gerçekleştirilen İŞLEVSEL KULLANIM SORUNLARINI, EKLENTİ UYUMLULUĞU SORUNLARINI ve KİMLİK KİMLİK HATALARINI çözebilir. Ek olarak, bazı özellik istekleri için kullanıcılar, klavye kısayolu bağlantısını kod önerilerini kabul edecek şekilde değiştirmek gibi bazı yapılandırma değişiklikleri yaparak istedikleri işlevselliğe ulaşabilirler. Ancak, Copilot çalışma ortamlarının karmaşıklığı nedeniyle, tüm durumlara uygun, önerilen bir yapılandırma sağlamanın zor olduğunu gördük. Bu nedenle her vakanın ayrı ayrı incelenmesi gerekmektedir.


Uygun Sürümü Kullan, KURULUM/İŞLETİM SORUNLARINI, İŞLEVSELLİK KULLANIM SORUNLARINI, KURULUM SORUNLARINI ve EDİTÖR/IDE UYUMLULUK SORUNLARINI ele almak için etkili bir yol sağlar. Copilot, kullanıcı geri bildirimleri ve geliştirme planlarına dayalı olarak birçok versiyonda hızla yinelendi. Bu arada bazı IDE'ler de uyumlu olacak yeni sürümler yayınladı. Ancak bazı eski sürümler, bazı hatalar veya uyumluluk sorunları içerebilen en son sürümle karşılaştırıldığında daha kararlı olabilir. Bu nedenle uygun sürümün kullanılması kullanıcılar açısından oldukça etkili bir çözümdür.


Yeniden Yükleme/Yeniden Başlatma/Yeniden Yetkilendirme Copilot, kullanıcıların KİMLİK HATALARINI, KURULUM/İŞLETİM SORUNLARINI ve İŞLEVSEL KULLANIM SORUNLARINI kendi başlarına çözebilmeleri için başka bir çözümdür. Prensibi, Copilot'un mevcut durumunu sıfırlamak, mevcut olabilecek önceki hataları veya ayarları başlangıç durumuna geri döndürmektir.


Copilot Tarafından Uygulanan Özellik, esas olarak kullanıcıların Özellik İsteklerine yönelik resmi bir eylem görevi görür. Copilot'un yeni özelliklerinin geliştirme hızı nispeten hızlıdır ve Copilot ekibi şu anda Copilot X'teki en yeni özelliklerden bazılarını denemektedir [18].