20.4.2020.

Programske greške su prošlost?


Microsoft je koristio skup podataka od 13 milijuna radnih predmeta i grešaka od 47 000 svojih programera pohranjenih u AzureDevOps i GitHub spremištima kako bi razvio model procesa i strojnog učenja koji ispravno razlikuje sigurnosne i nesigurne pogreške.
Sustav je također u mogućnosti točno identificirati kritične pogreške visokog prioriteta u prosjeku 97 posto vremena. Model se prvo naučio klasificirati sigurnosne i nesigurne bugove, a zatim je naučio primijeniti sigurnosne oznake (kritične, važne ili slabo utjecajne) na te bugove.

Kako bi otkrio svoje pogreške, model koristi dvije tehnike. Prvi je pristup pronalaženju informacija nazvan algoritam frekvencije obrnutog dokumenta (TF-IDF) koji identificira koliko se puta neka riječ pojavljuje u dokumentu, a zatim provjerava koliko je riječ relevantna u zbirci naslova. Prema Microsoftu, naslovi bugova obično su prilično kratki i sadrže oko 10 riječi.
Druga tehnika koju softverski div koristi je logistički regresijski model koji koristi logističku funkciju za modeliranje vjerojatnosti postojanja određene klase ili događaja.