Pisanje kode je le prvi korak pri ustvarjanju nečesa. Prebiranje kode za napake in njihovo odpravljanje je dolgotrajno in pogosto traja dlje, kot je bilo pričakovano, vendar je kljub temu bistven korak.

Ko bi le obstajal način za samodejno odpravljanje hroščev, ki presega sintaksne napake in resnično razume namene vaše kode.

Pred kratkim je Microsoft razvil umetno inteligenco, ki je sposobna zaznati in popraviti napake v kodi z uporabo globokega učenja. Toda kako je nastal ta kos revolucionarne tehnologije in kako deluje?

Kaj je BugLab in kako deluje?

BugLab je implementacija umetne inteligence Python, ki išče in popravlja napake v kodi. Razvila sta ga Miltos Alamanis in Marc Brockschmidt, dva raziskovalca pri Microsoft Research. Uspeli so premagati pomanjkanje označenih podatkov, ki se pogosto uporabljajo strojno učenje tako, da se zatečejo k samonadzorovanemu učenju in dovolijo BugLabu, da se usposobi skozi igro skrivalnic z vrsticami kode.

BugLab je bil usposobljen z uporabo dveh računalniških modelov; eno, ki skrije napake v pravilnih delcih kode, in drugo, ki išče in popravlja napake. Oba modela se nenehno učita drug od drugega. Sčasoma postane izbirnik hroščev boljši pri skrivanju hroščev v kodi, detektor pa jih postane boljši pri lovljenju in popravljanju.

instagram viewer

Razumevanje kode z BugLabom

Večina napak, za katere je BugLab AI usposobljen za odkrivanje in odpravljanje, ne povzroča logičnih napak, ampak so napačne le zaradi splošnega konteksta kode. Razumevanje namenov razvijalca je bistveno za iskanje teh hroščev.

Obravnava delčkov kode na enak način kot obdelava naravnih jezikov daje neoptimalne rezultate. Umetni inteligenci je še vedno težko razumeti razmerje med različnimi izjavami, ko so razdeljene na posamezne žetone.

Namesto tega BugLab gleda na kodo kot celoto. Na ta način so vsaka sintaksa, izraz, simbol in identifikator predstavljeni kot točke v grafu, kar omogoča AI, da "razume" povezavo in razmerje med različnimi vozlišči.

Arhitekture nevronskih omrežij se nato uporabljajo za usposabljanje AI za odpravljanje napak. Lahko pridobijo vpoglede iz bogate strukture kodnega grafa in zagotovijo razloge za odnos vsakega vozlišča z drugimi.

Ali BugLab deluje na kodi iz resničnega življenja?

Pomembno je omeniti, da BugLab ni nadomestilo za izkušenega programerja. To je zato, ker zapletene napake še vedno niso na dosegu roke.

Microsoftov cilj z umetno inteligenco je odkriti in popraviti pogosto pojavljajoče se napake, kot so napačni logični operatorji, kot je uporaba "ali" namesto "in" in obratno, poleg primerjave obrnjenih vrednosti in spremenljivke zlorabe.

Po navedbah Microsoft, so rezultati obetavni, saj lahko BugLab zazna in samodejno popravi okoli 26 odstotkov napak v kosu kode. Kljub temu je pomemben odstotek natančnosti še vedno izgubljen zaradi lažnih pozitivnih rezultatov in zgrešenih napak.

Prihodnje aplikacije Microsoft BugLab

Microsoftov cilj z BugLabom je prihraniti čas razvijalcem programske opreme, ki ga pogosto porabijo za pregledovanje njihove kode in iskanje najmanjših napak.

Čeprav je model za odpravljanje napak umetne inteligence še vedno v izdelavi, ima možnost iskanje in odpravljanje napak ki segajo od neprijetnega do katastrofalnega. Toda čez nekaj let lahko pričakujete, da bo BugLab postal obvezen v orodju vsakega razvijalca, tudi če ni popoln.

Eksponentni razvoj samoučne umetne inteligence

Več časa kot imajo modeli umetne inteligence, kot je BugLab, da se usposabljajo na primerih iz resničnega življenja, boljše in natančnejše rezultate bodo dali.

Ena najzahtevnejših ovir, s katerimi so se Microsoftovi raziskovalci soočali pri razvoju BugLaba, je bila uporaba človeškega razumevanja kode in namena v orodje. Toda zdaj, ko je to večinoma rešeno, lahko pričakujete, da se bo BugLab sčasoma izboljšal.

Globoko učenje vs. Strojno učenje vs. AI: Kako gresta skupaj?

Poskušate ugotoviti razliko med umetno inteligenco, strojnim učenjem in globokim učenjem? Evo, kaj vse pomenijo.

Preberite Naprej

DelitiTweetE-naslov
Povezane teme
  • Programiranje
  • Microsoft
  • Nasveti za kodiranje
  • Umetna inteligenca
O avtorju
Anina Ot (89 objavljenih člankov)

Anina je samostojna pisateljica o tehnologiji in internetni varnosti pri MakeUseOf. Pred 3 leti je začela pisati na področju kibernetske varnosti v upanju, da bo bolj dostopna povprečnemu človeku. Rad se uči novih stvari in velik astronomski piflar.

Več od Anina Ot

Naročite se na naše novice

Pridružite se našemu glasilu za tehnične nasvete, ocene, brezplačne e-knjige in ekskluzivne ponudbe!

Kliknite tukaj, da se naročite