Domanda

Sono nuovo nell'area di analisi del programma e dopo aver letto alcuni materiali in questo settore, ho alcune domande che non riesco a trovare le risposte corrispondenti ..

Vedi, se implemendo uno strumento: esecuzione simbolica + esecuzione concreta Proprio come DART

Allora penso che dovrebbe coprire tutto il percorso di esecuzione mantenendo le funzionalità di analisi dinamica.

Mi viene detto che l'analisi dinamica non può coprire tutto il percorso di esecuzione, ma in pratica perché?Penso che tecniche come DART siano abbastanza mature ora ...

altri, come il controllo del modello, garantiscono teoricamente una copertura del codice del 100% ... Sono giusto?

Qualcuno potrebbe darmi qualche aiuto?Grazie!

È stato utile?

Soluzione

Il numero di percorsi attraverso un pezzo di codice è esponenziale nel numero di dichiarazioni "IF".Ad esempio, se hai un pezzo di codice come questo:

if (a) {
  // do something
}
if (b) {
  // do something
}
...
if (z) {
  // do something
}
.

Poi ci sono 67108864 possibili percorsi di codice, a seconda dei valori delle 26 variabili booleane.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top