Il numero di errori in una sezione di codice è proporzionale al numero di righe? Il quadrato del numero di linee?

0

Esistono studi che aggregano dati su una vasta popolazione di codice fornito, che stabiliscono una correlazione tra la quantità di codice scritto in un commit e il numero di bug scoperti in quel codice? Sarebbe difficile fare in github senza sapere se un cambiamento fosse dovuto a nuove funzionalità o bug, ma si poteva determinare una relazione tra le righe di codice per commit e quanto thrashing andasse avanti in quel codice.

    
posta Dean Radcliffe 24.01.2013 - 19:06
fonte

3 risposte

3

Dipende solo.

Se tutto il tuo programma fa Console.WriteLine più e più volte, è probabile che non ci siano bug, non importa quanto sia grande. Se stai scrivendo il prossimo grande database di documenti, è probabile che avrai molti bug.

Non potevi racimolare queste informazioni da github perché non sai quanto siano difficili i problemi che le persone stanno cercando di risolvere .. Se la maggior parte dei progetti su gitHub sono la complessità di un gioco di tris, ancora una volta, probabilmente hai vinto " vedo un sacco di bug. La tua analisi potrebbe ingannarti e dire "Wow codebases può espandersi con relativamente pochi bug o addirittura nessuno!".

I bug sono più legati alla complessità, è quello che sto ottenendo.

    
risposta data 24.01.2013 - 19:14
fonte
1

L'unica metrica che conosco che cerca di mettere in relazione possibili difetti con le dimensioni del programma è una delle misure di complessità di Halstead . La figura utilizzata è B = (E^(2/3))/3000 o B = V/3000 dove B è il numero di bug consegnati, E è la quantità di sforzo e V è il volume del programma. Se si semplificano i valori conteggiati, questi corrispondono a B = ((n1/2)(N2/n2))/3000 o B = (N1 + N2) * log2(n1 + n2) dove n1 è il numero di operatori distinti, n2 è il numero di operandi distinti, N1 è il numero totale di operatori e N2 è il totale numero di operandi.

Il numero di bug per commit può essere correlato al delta in bug prima del commit e bug dopo il commit.

Tuttavia, la validità delle metriche di Halstead è stata messa in discussione - se tu ricerca per studi accademici , troverete documenti che indicano la loro validità e documenti che sembrano indicare poca o nessuna validità della metrica. Per quanto ne so, non sono ampiamente accettati, né esistono prove schiaccianti che siano empiricamente validi.

    
risposta data 24.01.2013 - 19:21
fonte
-7

È proporzionale al numero di funzioni / metodi non coperti dai test unitari.

Bugs = K + M * <functions that are not tested> - N * <Integration Test Coverage>
    
risposta data 24.01.2013 - 19:32
fonte

Leggi altre domande sui tag