ControlFlag: alat za otklanjanje pogrešaka koda

Intel je objavio objavljivanje značajne verzije Kontrolna zastavica 1.0, koji je a softverski upravljački sustav omogućujući otkriti pogreške i anomalije u vašem kodu izvor pomoću sustava strojnog učenja obučenog na velikoj količini postojećeg koda.

Za razliku od tradicionalnih statičkih analizatora, ControlFlag ne primjenjuje unaprijed definirana pravila, u kojem je teško predvidjeti sve moguće opcije, nego dio statistike korištenja svih vrsta građevina jezika u velikom broju postojećih projekata.

Prema istraživanjima, pronalaženje i uklanjanje bugova u kodu najčešće se obavlja ručno i oduzima više od 50% radnog vremena programera. 

Alat uči kako identificirati i označiti ove stilske opcije i možete prilagoditi identifikaciju bugova i ispraviti preporuke na temelju svog znanja, minimizirajući ControlFlag loše karakterizacije koda koje mogu jednostavno biti stilsko odstupanje između dva tima programera. .

O ControlFlagu

Sustav trenira se izgradnjom statističkog modela iz postojeće matrice izvornog koda open objavljeno na GitHubu i sličnim javnim spremištima. U fazi obuke, sustav određuje tipične predloške za izgradnju struktura u kodu i gradi sintaktičko stablo veza između tih predložaka, odražavajući tijek izvršavanja koda u programu.

Kao rezultat, formira se referentno stablo odlučivanja koje kombinira razvojno iskustvo svih analiziranih izvornih tekstova. Sličan proces postavljanja uzorka izvodi se za kod koji se testira, koji se uspoređuje s referentnim stablom odlučivanja. Velika odstupanja sa susjednim granama ukazuju na anomaliju uzorka koji se provjerava.

Od karakteristika Od verzije ControlFlag 1.0, puna podrška za C predloške je istaknuta i sposobnost otkrivanja anomalije u uvjetnim izjavama "ako".

Na primjer, prilikom raščlanjivanja isječka koda "if (x = 7) y = x;" sustav će otkriti da se konstrukcija "varijable == broj" općenito koristi u naredbi "if" za usporedbu brojčanih vrijednosti, tako da je indikacija "varijable = broj" u naredbi "if" vjerojatno uzrokovana tipografskom pogreškom.

Kit pruža skriptu koja omogućuje preuzimanje C spremišta dostupnih na GitHubu i koristiti ih za izgradnju modela. Dostupni su i modeli spremni za rad koji vam omogućuju da odmah počnete provjeravati kod

Sustav dio je projekta Machine Programming Research (MPR) tvrtke Intel, čiji je glavni cilj smanjiti vrijeme potrebno za razvoj softvera za 1000 puta zbog automatizacije.

Konkretno, Intel trenutno radi na obuci Controlflag-a da automatski ispravi otkrivene pogreške. Također 2020., tvrtka je objavila MISIM alat, razvijen u suradnji s MIT laboratorijima, koji može proučavati isječke koda kako bi shvatio što dio koda pokušava učiniti. Sustav je namijenjen za korištenje kako bi razvojnim programerima pružio načine za poboljšanje učinkovitosti koda.

"Očekuje se da će otklanjanje pogrešaka uzrokovati još više štete programerima i industriji u cjelini", rekao je Intel. Najava… "Kada se u potpunosti implementira, ControlFlag može pomoći u ublažavanju ovog izazova automatizirajući gnjavažu razvoja softvera kao što je testiranje, praćenje i otklanjanje pogrešaka."

“Glavna prednost ControlFlagovog nenadziranog pristupa prepoznavanju uzoraka je ta što se u biti možete naučiti prilagoditi se stilu programera. Budući da program ima ograničen ulaz u kontrolne alate koje trebate procijeniti. ControlFlag može identificirati tipografske varijacije u programskim jezicima na isti način na koji čitatelji mogu prepoznati potpune razlike između riječi i koristiti engleske kratice”, piše Intel.

Konačno ako vas zanima više o tome Što se tiče ControlFlag-a, trebali biste znati da je napisan na C ++ i da je otvorenog koda pod MIT licencom i njegovim kodom nalazi se na GitHubu.


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.