Perché i Risultati a Bassa Gravità Dicono di Più sul Tuo Audit Rispetto ai Bug Critici Molti studi di audit concentrano il loro discorso di vendita sul numero di problemi gravi trovati, come se questo numero non fosse solo rumore senza contestualizzazione: audit precedenti, revisione tra pari, livelli di copertura dei test, complessità del codice, conteggio delle righe e molti altri metriche. È la forma più bassa di vendita, non diversa dal confrontare, ad esempio, la qualità di una chiavetta USB in base alla sua lunghezza in millimetri. Per mostrare un'alternativa, dobbiamo prima affermare la correttezza di diverse affermazioni di supporto: - La probabilità di iniezione accidentale di bug non ha un bias verso impatti più elevati (gli sviluppatori non sono più imprudenti nel codice ad alto rischio, di solito è l'opposto). - Le stesse metodologie complete utilizzate per scoprire difetti di varie gravità scoprirebbero anche problemi di alta gravità (l'opposto non è vero). - Ci sono requisiti molto più elevati affinché un bug casuale possa qualificarsi come di alta gravità (spesso sarebbe bloccato dietro condizioni irraggiungibili o riguarderebbe funzionalità non critiche). - Dalla statistica di base: un tasso di campionamento più elevato si correla con una minore deviazione/varianza attesa e quindi una misurazione più accurata. Definiamo un rapporto di audit come il risultato del campionamento della qualità di un codice. Deduciamo che il numero atteso di problemi gravi (senza mancanze) è molto inferiore a quello dei problemi a bassa gravità, e la deviazione attesa attorno ad esso è molto più alta (a causa di un campione più piccolo). In altre parole, il numero di problemi gravi ci dice molto poco sul numero di problemi gravi mancati. Quindi sorprendentemente, un rapporto di 1 problema grave e 10 problemi a bassa gravità è più rassicurante di un rapporto di 10 problemi gravi e 1 problema a bassa gravità, a parità di condizioni. Anche se in realtà la stragrande maggioranza dei venditori preferirebbe mostrare quest'ultimo come indicazione di qualità. Il punto è che una metrica ad alta frequenza è uno strumento migliore per misurare risultati a bassa frequenza. Costruttori di Web3, la prossima volta che le aziende vi mostrano i loro conteggi di Crit/High e miliardi di $ garantiti, sapete dove concentrarvi per cercare il vero segnale. Auditori di Web3, riconoscete che non esiste una formula segreta consistente per trovare tutti i problemi gravi senza anche cercare i problemi a bassa gravità - ogni problema a bassa gravità non completamente investigato è un potenziale problema grave - e dedicate la vostra massima attenzione a ogni singola riga. Il vostro cliente vi ringrazierà per questo. La bassa gravità è definita come errori di codifica concreti che non comportano impatti di livello superiore. Non include formattazione, migliori pratiche e risultati di riempimento.
4,31K