Հետազոտություն AI օգնականների ազդեցության մասին, ինչպիսին է GitHub Copilot-ը կոդի անվտանգության վրա

Սթենֆորդի համալսարանի մի խումբ հետազոտողներ ուսումնասիրել են կոդավորման խելացի օգնականների կիրառման ազդեցությունը կոդի խոցելիության վրա: Դիտարկվել են OpenAI Codex մեքենայական ուսուցման հարթակի վրա հիմնված լուծումներ, ինչպիսին է GitHub Copilot-ը, որը թույլ է տալիս ստեղծել բավականին բարդ կոդային բլոկներ՝ մինչև պատրաստի գործառույթներ։ Մտահոգությունն այն է, որ քանի որ GitHub հանրային պահեստների իրական կոդը, ներառյալ խոցելիություն պարունակող պահոցները, օգտագործվում է մեքենայական ուսուցման մոդելը վարժեցնելու համար, սինթեզված կոդը կարող է կրկնել սխալներ և առաջարկել կոդ, որը պարունակում է խոցելիություն, ինչպես նաև հաշվի չի առնում կատարման անհրաժեշտությունը: լրացուցիչ ստուգումներ արտաքին տվյալների մշակման ժամանակ:

Ուսումնասիրությանը ներգրավվել են ծրագրավորման տարբեր փորձ ունեցող 47 կամավորներ՝ ուսանողներից մինչև տասը տարվա փորձ ունեցող մասնագետներ: Մասնակիցները բաժանվել են երկու խմբի՝ փորձարարական (33 հոգի) և հսկիչ (14 հոգի): Երկու խմբերն էլ ունեին մուտք դեպի ցանկացած գրադարան և ինտերնետ ռեսուրս, ներառյալ Stack Overflow-ից պատրաստի օրինակներ օգտագործելու հնարավորությունը: Փորձարարական խմբին հնարավորություն է տրվել օգտվել AI օգնականից։

Յուրաքանչյուր մասնակցի տրվել է 5 առաջադրանք՝ կապված կոդ գրելու հետ, որոնցում պոտենցիալ հեշտ է թույլ տալ սխալներ, որոնք հանգեցնում են խոցելիության: Օրինակ՝ առաջադրանքներ կային կոդավորման և գաղտնազերծման գործառույթներ գրելու, թվային ստորագրությունների օգտագործման, ֆայլերի ուղիների կամ SQL հարցումների ձևավորման մեջ ներգրավված տվյալների մշակման, C կոդում մեծ թվերի մանիպուլյացիայի, վեբ էջերում ցուցադրվող մուտքերի մշակման վերաբերյալ: Հաշվի առնելու համար ծրագրավորման լեզուների ազդեցությունը AI օգնականների օգտագործման ժամանակ արտադրվող կոդի անվտանգության վրա, առաջադրանքները ներառում էին Python, C և JavaScript:

Արդյունքում պարզվել է, որ այն մասնակիցները, ովքեր օգտագործել են ինտելեկտուալ ինտելեկտի ինտելեկտուալ օգնական՝ հիմնված codex-davinci-002 մոդելի վրա, պատրաստել են զգալիորեն ավելի քիչ անվտանգ ծածկագիր, քան այն մասնակիցները, ովքեր չեն օգտագործել AI օգնական: Ընդհանուր առմամբ, AI-ի օգնականից օգտվող խմբի մասնակիցների միայն 67%-ն է կարողացել ապահովել ճիշտ և ապահով ծածկագիր, մինչդեռ մյուս խմբում այդ ցուցանիշը կազմել է 79%:

Միևնույն ժամանակ, ինքնագնահատականի ցուցանիշները հակառակն էին. AI-ի օգնականից օգտվող մասնակիցները կարծում էին, որ իրենց ծածկագիրը ավելի ապահով կլինի, քան մյուս խմբի մասնակիցներինը: Բացի այդ, նշվել է, որ այն մասնակիցները, ովքեր ավելի քիչ են վստահել AI-ի օգնականին և ավելի շատ ժամանակ են ծախսել՝ վերլուծելով տրված հուշումները և դրանցում փոփոխություններ կատարելով, ավելի քիչ խոցելի են եղել կոդի մեջ:

Օրինակ՝ ծածկագրային գրադարաններից պատճենված կոդը պարունակում էր ավելի ապահով լռելյայն պարամետրի արժեքներ, քան AI-ի օգնականի առաջարկած կոդը: Նաև AI օգնականից օգտվելիս արձանագրվել է ավելի քիչ հուսալի կոդավորման ալգորիթմների ընտրությունը և վերադարձված արժեքների նույնականացման ստուգումների բացակայությունը: C-ում թվերի մանիպուլյացիայի հետ կապված առաջադրանքում AI օգնականի միջոցով գրված կոդի մեջ ավելի շատ սխալներ են թույլ տրվել, ինչը հանգեցրել է ամբողջ թվերի արտահոսքի:

Բացի այդ, մենք կարող ենք նշել Նյու Յորքի համալսարանի մի խմբի կողմից նոյեմբերին անցկացված նմանատիպ հետազոտությունը, որին մասնակցել են 58 ուսանողներ, որոնց խնդրել են իրականացնել C լեզվով գնումների ցուցակի մշակման կառուցվածք: Արդյունքները ցույց են տվել, որ AI օգնականի աննշան ազդեցությունը կոդի անվտանգության վրա. օգտատերերը, ովքեր օգտագործում էին AI օգնականը, միջինում մոտ 10% ավելի շատ սխալներ են թույլ տվել անվտանգության հետ կապված:

Հետազոտություն AI օգնականների ազդեցության մասին, ինչպիսին է GitHub Copilot-ը կոդի անվտանգության վրա


Source: opennet.ru

Добавить комментарий