Microsoft dezvoltă AI care poate găsi erori în cod

Pictograma timp de citire 2 min. citit


Cititorii ajută la sprijinirea MSpoweruser. Este posibil să primim un comision dacă cumpărați prin link-urile noastre. Pictograma Tooltip

Citiți pagina noastră de dezvăluire pentru a afla cum puteți ajuta MSPoweruser să susțină echipa editorială Află mai multe

Cercetătorii de la Microsoft au dezvoltat un AI care poate găsi erori în cod, ajutând dezvoltatorii să-și depaneze aplicațiile mai precis și mai eficient.

Cercetătorii Miltos Allamanis, cercetător principal și Marc Brockschmidt, director principal principal de cercetare și-au dezvoltat AI, BugLabs, aproape în același mod în care sunt create rețelele generative adverse (GAN).

Microsoft a stabilit două rețele una împotriva celeilalte – una concepută pentru a introduce erori mici erori în codul existent și alta menită să găsească acele erori. Cele două rețele au devenit din ce în ce mai bune, rezultând un AI care a fost bun la identificarea erorilor ascunse în codul real.

Avantajul acestei abordări a fost că procesul a fost complet auto-supravegheat și nu a avut nevoie de date etichetate.

Ei raportează rezultatele după cum urmează:

În teorie, am putea aplica jocul de-a v-ați ascunselea pe scară largă, învățând o mașină să identifice erori arbitrar complexe. Cu toate acestea, astfel de erori sunt încă în afara accesului metodelor moderne de AI. În schimb, ne concentrăm asupra unui set de erori care apar frecvent. Acestea includ comparații incorecte (de exemplu, folosirea „<=” în loc de „<” sau „>”), operatori booleeni incorecți (de exemplu, utilizarea „și” în loc de „sau” și invers), abuzuri ale variabilelor (de exemplu, utilizarea incorect „i” în loc de „j”) și alte câteva. Pentru a testa sistemul nostru, ne concentrăm pe codul Python.

Odată ce detectorul nostru este antrenat, îl folosim pentru a detecta și repara erorile în codul real. Pentru a măsura performanța, adnotăm manual un mic set de date de erori din pachete din Indexul pachetelor Python cu astfel de erori și arătăm că modelele antrenate cu metoda noastră „ascunsă și caută” sunt cu până la 30% mai bune în comparație cu alte alternative, de exemplu, detectoare antrenate cu bug-uri introduse aleatoriu. Rezultatele sunt promițătoare, arătând că aproximativ 26% dintre erori pot fi găsite și remediate automat. Printre erorile găsite de detectorul nostru s-au numărat 19 erori necunoscute anterior în codul GitHub open source din viața reală. Cu toate acestea, rezultatele au arătat, de asemenea, multe avertismente fals pozitive, sugerând că sunt necesare progrese suplimentare înainte ca astfel de modele să poată fi implementate practic.

Ei ajung la concluzia că abordarea lor este promițătoare, deși, desigur, este nevoie de mult mai multă muncă pentru ca astfel de detectoare să fie fiabile pentru utilizare practică. Dat GPT-3 de la Microsoft funcționează pe GitHub cu toate acestea, este foarte posibil ca această lucrare să fie comercializată în cele din urmă.

Citiți lucrarea lor integrală aici.

Mai multe despre subiecte: ai, Dezvoltatorii, microsoft