एआई सह-प्रोग्रामर शायद उतने बग पैदा नहीं करेंगे, जितनी प्लेटोब्लॉकचेन डेटा इंटेलिजेंस ने आशंका जताई थी। लंबवत खोज. ऐ.

एआई सह-प्रोग्रामर शायद उतने बग नहीं पैदा करेंगे जितने की आशंका थी

मशीन-लर्निंग मॉडल जो गिटहब कोपिलॉट जैसे अगली-जेन कोड-पूर्णता टूल को पावर करते हैं, सॉफ़्टवेयर डेवलपर्स को इसे कम सुरक्षित किए बिना अधिक कार्यात्मक कोड लिखने में मदद कर सकते हैं।

न्यू यॉर्क यूनिवर्सिटी के कंप्यूटर वैज्ञानिकों के एक समूह द्वारा किए गए 58-व्यक्ति सर्वेक्षण के बावजूद यह एक अस्थायी परिणाम है।

In एक पेपर ArXiv, Gustavo Sandoval, Hammond Pearce, Teo Nys, Ramesh Karri, Brendan Dolan-Gavitt, और सिद्धार्थ गर्ग के माध्यम से वितरित किए गए विवरण में बताया गया है कि कैसे उन्होंने बड़े भाषा मॉडल (LLM) की मदद से बनाए गए सोर्स कोड की सुरक्षा का परीक्षण किया।

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

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

कुछ अर्थों में, शोधकर्ता अपनी आग बुझा रहे थे। लगभग एक साल पहले, समान कंप्यूटर वैज्ञानिकों में से दो ने "कीबोर्ड पर सोएं? GitHub Copilot के कोड योगदान की सुरक्षा का आकलन करना।" वो काम मिल गया के बारे में 40 प्रतिशत कोपिलॉट के आउटपुट में संभावित शोषक कमजोरियां शामिल थीं (सीडब्ल्यूई).

"दो पेपरों के बीच का अंतर यह है कि 'कीबोर्ड पर सो' पूरी तरह से स्वचालित कोड जनरेशन (लूप में कोई मानव नहीं) देख रहा था, और हमारे पास तुलना करने के लिए मानव उपयोगकर्ता नहीं थे, इसलिए हम इस बारे में कुछ नहीं कह सकते थे कि कैसे मानव-लिखित कोड की सुरक्षा की तुलना में कोपिलॉट की सुरक्षा, ”ब्रेंडन डोलन-गेविट ने कहा, एनवाईयू टंडन में कंप्यूटर विज्ञान और इंजीनियरिंग विभाग में दोनों पत्रों के सह-लेखक और सहायक प्रोफेसर, एक ईमेल में रजिस्टर.

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

नवीनतम रिपोर्ट में, "बड़ी भाषा मॉडल कोड सहायकों की सुरक्षा प्रभाव: एक उपयोगकर्ता अध्ययन," एनवाईयू शोधकर्ताओं के एक छोटे से विविध समूह ने स्वीकार किया कि पिछला कार्य एलएलएम-आधारित उपकरणों जैसे कोपिलॉट के उपयोग को वास्तविक रूप से मॉडल करने में विफल रहता है।

"सबसे पहले, ये अध्ययन मानते हैं कि पूरा कोड स्वचालित रूप से एलएलएम द्वारा उत्पन्न होता है (हम इसे ऑटोपायलट मोड कहेंगे)," बोफिन अपने पेपर में बताते हैं।

"व्यवहार में, कोड पूर्णता एलएलएम डेवलपर्स को सुझावों के साथ सहायता करती है कि वे स्वीकार, संपादित या अस्वीकार करना चुनेंगे। इसका मतलब यह है कि जहां प्रोग्रामर ऑटोमेशन पूर्वाग्रह से ग्रस्त हैं, वे बग्गी कंप्लीशन को स्वीकार कर सकते हैं, अन्य डेवलपर्स बग्स को ठीक करने के लिए बचाए गए समय का उपयोग करके कम बग्गी कोड का उत्पादन कर सकते हैं। ”

दूसरा, वे देखते हैं कि एलएलएम को छोटी गाड़ी कोड बनाने के लिए दिखाया गया है, मनुष्य भी ऐसा करते हैं। एलएलएम प्रशिक्षण डेटा में बग लोगों से आया है।

इसलिए एलएलएम-जनरेटेड कोड की स्वयं की गड़बड़ी का आकलन करने के बजाय, उन्होंने तुलना करने के लिए निर्धारित किया कि कैसे मशीन-लर्निंग मॉडल द्वारा सहायता प्राप्त मानव डेवलपर्स द्वारा उत्पादित कोड प्रोग्रामिंग द्वारा उत्पादित कोड से अलग है।

एनवाईयू कंप्यूटर वैज्ञानिकों ने 58 सर्वेक्षण प्रतिभागियों - सॉफ्टवेयर विकास पाठ्यक्रमों में स्नातक और स्नातक छात्रों की भर्ती की - और उन्हें एक नियंत्रण समूह में विभाजित किया, जो बिना सुझावों के काम करेगा, और एक सहायक समूह, जिसकी ओपनएआई का उपयोग करके निर्मित एक कस्टम सुझाव प्रणाली तक पहुंच थी। कोडेक्स एपीआई। उन्होंने तुलना के बिंदु के रूप में दी गई प्रोग्रामिंग समस्याओं के 30 समाधान बनाने के लिए कोडेक्स मॉडल का भी उपयोग किया। यह ऑटोपायलट समूह मुख्य रूप से दूसरे नियंत्रण समूह के रूप में कार्य करता है।

सहायता प्राप्त और नियंत्रण दोनों समूहों को Google और स्टैक ओवरफ़्लो जैसे वेब संसाधनों से परामर्श करने की अनुमति थी, लेकिन दूसरों से मदद मांगने की नहीं। ओपन सोर्स के साथ निर्मित वेब-आधारित कंटेनर के भीतर विजुअल स्टूडियो कोड में काम किया गया था Anubis.

प्रतिभागियों को सी प्रोग्रामिंग भाषा का उपयोग करके खरीदारी सूची कार्यक्रम को पूरा करने के लिए कहा गया था क्योंकि "डेवलपर्स के लिए अनजाने में सी में कमजोर डिजाइन पैटर्न व्यक्त करना आसान है" और क्योंकि सी कंपाइलर टूलचेन का उपयोग उसी डिग्री टूलचेन के लिए त्रुटियों की जांच नहीं करता है। आधुनिक भाषाएँ, जैसे कि गो और रस्ट, करते हैं।

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

स्पष्ट दिखता है, लेकिन विवरण हैं

"[डब्ल्यू] ई को यह सुझाव देने के लिए कोई सबूत नहीं मिला कि कोडेक्स सहायता सुरक्षा बग घटनाओं को बढ़ाती है," पेपर ने कहा, जबकि अध्ययन के छोटे नमूना आकार का मतलब है कि आगे के अध्ययन की आवश्यकता है। "इसके विपरीत, कुछ सबूत हैं जो बताते हैं कि सीडब्ल्यूई/एलओसी [कोड की रेखाएं] कोडेक्स सहायता से कम हो जाती हैं।"

एनवाईयू टंडन में इंजीनियरिंग विभाग में एक साइबर सुरक्षा शोधकर्ता और सहयोगी प्रोफेसर सिद्धार्थ गर्ग ने एक फोन साक्षात्कार में कहा, "बहुत सांख्यिकीय विश्वास के साथ इसे समाप्त करना मुश्किल है।" रजिस्टर.

बहुत अधिक सांख्यिकीय विश्वास के साथ इसे समाप्त करना कठिन है

बहरहाल, उन्होंने कहा, "आंकड़ों से पता चलता है कि Copilot उपयोगकर्ता बहुत खराब स्थिति में नहीं थे।"

डोलन-गेविट इसी तरह निष्कर्षों के बारे में सतर्क हैं।

"हमारे उपयोगकर्ता अध्ययन परिणामों के वर्तमान विश्लेषण में कोई सांख्यिकीय रूप से महत्वपूर्ण अंतर नहीं मिला है - हम अभी भी इसका विश्लेषण कर रहे हैं, जिसमें गुणात्मक भी शामिल है, इसलिए मैं इससे मजबूत निष्कर्ष नहीं निकालूंगा, खासकर जब से यह एक छोटा अध्ययन था (कुल 58 उपयोगकर्ता) और उपयोगकर्ता पेशेवर डेवलपर्स के बजाय सभी छात्र थे, ”उन्होंने कहा।

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

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

गर्ग ने कहा, "असिस्टेड ग्रुप के यूजर्स ने ज्यादा फंक्शनल टेस्ट पास किए और ज्यादा फंक्शनल कोड तैयार किया।"

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

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

इन पंक्तियों के साथ आगे काम की अपेक्षा करें। ®

समय टिकट:

से अधिक रजिस्टर