30 mila bug al mese: ecco come Microsoft li gestisce con il machine learning

30 mila bug al mese: ecco come Microsoft li gestisce con il machine learning

La software house di Redmond divulga pubblicamente i dettagli del suo approccio alla gestione dei bug nel lavoro degli sviluppatori: il machine learning per classificare e dare priorità

di pubblicata il , alle 19:41 nel canale Innovazione
Microsoft
 

Gestire i circa 30 mila bug ogni mese generati da un esercito di 47 mila sviluppatori non è impresa che si possa improvvisare e tantomeno affrontare superficialmente. Soprattutto se sei una realtà come Microsoft e i tuoi software sono usati sulla stragrande maggioranza dei PC in tutto il mondo.

Scoot Christiansen, senior security program manager per Microsoft ha spiegato come la società affronta l'oneroso compito che, oltre a prevedere la documentazione dei bug su repository come GitHub e AzureDevOps, coinvolge anche le capacità delle tecniche di machine learning per aiutare nell'identificazione dei bug, nella loro classificazione e assegnazione di priorità.

"Il nostro obiettivo è stato quello di costruire un sistema di machine learning che classifichi i bug come security/non-security e come critici/non-critici con un livello di accuratezza che fosse il più vicino possibile a quello di un esperto di sicurezza" spiega Christiansen.

Machine Learning a caccia di bug: ora si punta ad aprire l'approccio

Microsoft si è basata su quasi 20 anni di dati storici, per allenare il suo modello di machine learning somministrando bug classificati come security o non-security. Il modello ha imparato a classificarei bug e ad applicare etichette di gravità come "critico", "importante" o "basso impatto". Il lavoro è stato condotto assieme ad esperti di sicurezza e scienziati dei dati, assicurandosi inoltre di poter monitorare il modello anche una volta messo in produzione. Per fare ciò viene revisionato periodicamente un campione casuale di ciò che il sistema ha classificato, e il modello viene inoltre riallenato continuamente con nuovi dati revisionati dagli esperti di sicurezza Microsoft.

I risultati di questo approccio sembrano dare ragione al colosso di Redmond: il modello riesce ad identificare bug di sicurezza nel 99% dei casi ed etichettarli correttamente il 97% delle volte. Certo è abbastanza insolito che una realtà come Microsoft riveli pubblicamente il volume di bug generato mensilmente dai suoi sviluppatori, e addirittura le modalità con cui si affronta il problema. Ma in realtà l'azienda di Redmond vuole andare ancor oltre: l'intenzione è quella di rendere open source la sua metodologia su GitHub, così che altre realtà possano implementare un modello simile.

Coloro i quali sono interessati all'argomento da un punto di vista più tecnico e dettagliato possono consultare la documentazione accademica pubblicata dalla stessa Microsoft.

10 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - info
Axios200623 Aprile 2020, 20:27 #1
l'intenzione è quella di rendere open source la sua metodologia su GitHub, così che altre realtà possano implementare un modello simile.


Se l'obiettivo e' avere software in perenne beta con bug gravi nella versione definita stabile, buona idea.
Vul23 Aprile 2020, 21:13 #2
30 mila bug al mese per 47 mila sviluppatori è un numero estremamente basso.
amd-novello23 Aprile 2020, 21:48 #3
edit
amd-novello23 Aprile 2020, 21:48 #4
(⊙_&#8857
rockroll24 Aprile 2020, 02:01 #5
Originariamente inviato da: Vul
30 mila bug al mese per 47 mila sviluppatori è un numero estremamente basso.


Veramente 47000 sviluppatori è un numero estremamente alto!

Se ognuno di questi produce meno di un bug al mese, o è veramente bravo o (più credibilmente) produce poche decine di righe di codice al mese.
AlPaBo24 Aprile 2020, 05:19 #6
Originariamente inviato da: rockroll
Veramente 47000 sviluppatori è un numero estremamente alto!

Se ognuno di questi produce meno di un bug al mese, o è veramente bravo o (più credibilmente) produce poche decine di righe di codice al mese.


Forse ti interesserà sapere che su grossi progetti (e quelli di Microsoft sono grossi), la produttività media di uno sviluppatore è poco più di 10 linee di codice al giorno (ovviamente c'è un problema a definire cos'è una linea di codice, ma tant'è Per cui sì, un programmatore in un progetto complesso produce in media circa 200 linee di codice al mese.

Una fonte iniziale come referenza: https://skeptics.stackexchange.com/...of-code-per-day .
In realtà un solo bug su 300 linee di codice (se vuoi, un bug in un mese e mezzo di lavoro) mi sembra un ottimo risultato.
AlPaBo24 Aprile 2020, 05:23 #7
Originariamente inviato da: Axios2006
Se l'obiettivo e' avere software in perenne beta con bug gravi nella versione definita stabile, buona idea.


Soltanto chi è completamente ignorante dell'Ingegneria del software pensa che si possano produrre software senza bug.
Soprattutto quando si compongono di decine di milioni di linee.
Va detto che per fare chiacchiere non è necessario saperne di cosa si sta parlando.
P@sticcione24 Aprile 2020, 08:20 #8
Va detto che per fare chiacchiere non è necessario saperne di cosa si sta parlando.

Cerca di essere compassionevole, la solitudine e la ricerca di attenzione ha molte forme…
AlPaBo24 Aprile 2020, 14:31 #9
Originariamente inviato da: P@sticcione
Cerca di essere compassionevole, la solitudine e la ricerca di attenzione ha molte forme…


Sono mesi che sono compassionevole. Il fatto è che i suoi continui commenti pieni di rancore mi stanno sfracellando i cosiddetti.
futu|2e24 Aprile 2020, 14:47 #10
Originariamente inviato da: Vul
30 mila bug al mese per 47 mila sviluppatori è un numero estremamente basso.


Ma neanche, è quasi insignificante

Devi effettuare il login per poter commentare
Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".

La discussione è consultabile anche qui, sul forum.
 
^