Koda rakstīšana ir tikai pirmais solis, lai kaut ko izveidotu. Kļūdu koda pārmeklēšana un to novēršana ir laikietilpīga un bieži vien aizņem ilgāku laiku, nekā paredzēts, taču tas tomēr ir būtisks solis.

Ja vien būtu veids, kā automātiski izlabot kļūdas, kas pārsniedz sintakses kļūdas un patiesi saprot jūsu koda nolūkus.

Nesen Microsoft izstrādāja AI, kas spēj atklāt un labot kļūdas kodā, izmantojot dziļo mācīšanos. Bet kā radās šī revolucionārā tehnoloģija un kā tā darbojas?

Kas ir BugLab un kā tas darbojas?

BugLab ir mākslīgā intelekta Python implementācija, kas meklē un izlabo kļūdas kodā. To izstrādāja Miltos Alamanis un Marc Brockschmidt, divi Microsoft Research pētnieki. Viņiem izdevās pārvarēt marķēto datu trūkumu, ko bieži izmantoja mašīnmācība izmantojot pašpārraudzītu mācīšanos un ļaujot BugLab apmācīt sevi, izmantojot "paslēpes" spēli ar koda rindām.

BugLab tika apmācīts, izmantojot divus skaitļošanas modeļus; viens, kas slēpj kļūdas pareizos koda fragmentos, un otrs, kas meklē un izlabo kļūdas. Abi modeļi nepārtraukti mācās viens no otra. Laika gaitā kļūdu selektors spēj labāk paslēpt kļūdas kodā, un detektors tās uztver un novērš.

Koda izpratne, izmantojot BugLab

Lielākā daļa kļūdu, ko BugLab AI ir apmācīts atklāt un labot, nerada loģiskas kļūdas, bet ir kļūdainas tikai koda vispārējā konteksta dēļ. Lai atrastu šīs kļūdas, ir svarīgi saprast izstrādātāja nolūku.

Apstrādājot koda fragmentus tāpat kā dabiskās valodas, tiek iegūti neoptimāli rezultāti. AI joprojām ir grūti saprast saistību starp dažādiem paziņojumiem, kad tie ir sadalīti atsevišķos marķieros.

Tā vietā BugLab aplūko kodu kopumā. Tādā veidā katra sintakse, izteiksme, simbols un identifikators tiek attēloti kā punkti grafikā, ļaujot AI “saprast” savienojumu un attiecības starp dažādiem mezgliem.

Neironu tīklu arhitektūras pēc tam tiek izmantoti, lai apmācītu atkļūdošanas AI. Viņi spēj gūt ieskatu no bagātīgās koda diagrammas struktūras un sniegt iemeslus katra mezgla attiecībām ar citiem.

Vai BugLab strādā pie reālās dzīves koda?

Ir svarīgi atzīmēt, ka BugLab neaizstāj kvalificētu programmētāju. Tas ir tāpēc, ka sarežģītas kļūdas joprojām nav sasniedzamas.

Microsoft mērķis ar AI ir atklāt un novērst bieži sastopamas kļūdas, piemēram, nepareizus Būla operatorus, piemēram, "vai" izmantošana "un" vietā un otrādi, papildus apgrieztiem vērtību salīdzinājumiem un mainīgajiem ļaunprātīgi izmanto.

Saskaņā ar Microsoft, rezultāti ir daudzsološi, jo BugLab spēj atklāt un automātiski novērst aptuveni 26 procentus kļūdu koda daļā. Tomēr ievērojama precizitātes procentuālā daļa joprojām tiek zaudēta viltus pozitīvu rezultātu un nepamanītu kļūdu dēļ.

Microsoft BugLab nākotnes lietojumprogrammas

Microsoft mērķis ar BugLab ir ietaupīt programmatūras izstrādātāju laiku, kas bieži tiek pavadīts, pārskatot savu kodu, meklējot mazākās kļūdas.

Kamēr AI atkļūdošanas modelis joprojām tiek izstrādāts, tam ir iespēja kļūdu atrašana un labošana kas svārstās no neērtām līdz katastrofālām. Bet pēc dažiem gadiem jūs varat sagaidīt, ka BugLab kļūs par obligātu katra izstrādātāja rīku komplektu, pat ja tas nav ideāls.

Pašmācības AI eksponenciālā evolūcija

Jo vairāk laika AI modeļiem, piemēram, BugLab, būs jāmācās uz reāliem piemēriem, jo ​​labāki un precīzāki rezultāti būs tie.

Viens no sarežģītākajiem šķēršļiem, ar ko Microsoft pētnieki saskārās, izstrādājot BugLab, bija cilvēka izpratnes par kodu un nodomu izmantošana rīkā. Bet tagad, kad tas lielākoties ir atrisināts, varat sagaidīt, ka BugLab ar laiku uzlabosies.

Dziļā mācīšanās vs. Mašīnmācība vs. AI: Kā viņi iet kopā?

Vai mēģināt noskaidrot atšķirību starp mākslīgo intelektu, mašīnmācīšanos un dziļo mācīšanos? Lūk, ko tie visi nozīmē.

Lasiet Tālāk

DalītiesČivinātE-pasts
Saistītās tēmas
  • Programmēšana
  • Microsoft
  • Kodēšanas padomi
  • Mākslīgais intelekts
Par autoru
Anīna Ot (Publicēti 89 raksti)

Anina ir MakeUseOf ārštata tehnoloģiju un interneta drošības rakstniece. Viņa sāka rakstīt par kiberdrošību pirms 3 gadiem, cerot padarīt to pieejamāku vidusmēra cilvēkam. Vēlas mācīties jaunas lietas un ir milzīgs astronomijas nerds.

Vairāk no Anina Ot

Abonējiet mūsu biļetenu

Pievienojieties mūsu informatīvajam izdevumam, lai saņemtu tehniskos padomus, pārskatus, bezmaksas e-grāmatas un ekskluzīvus piedāvājumus!

Noklikšķiniet šeit, lai abonētu