Pregunta

Soy nuevo en el área de análisis de programas y después de leer algunos materiales en esta área, tengo algunas preguntas que no puedo encontrar las respuestas correspondientes.

ver, si implemento una herramienta: ejecución simbólica + ejecución concreta Al igual que dart

Entonces creo que debe cubrir toda la ruta de ejecución mientras mantiene las características de análisis dinámico.

Me dicen que el análisis dinámico no puede cubrir todo el camino de ejecución, pero básicamente por qué?Creo que las técnicas como el dardo es bastante maduro ahora ...

Otros, como la verificación de modelos, teóricamente garantizan la cobertura del código 100% ... ¿Estoy en lo cierto?

¿Podría alguien darme ayuda?¡Gracias!

¿Fue útil?

Solución

El número de caminos a través de una pieza de código es exponencial en el número de declaraciones 'si'.Por ejemplo, si tiene un código de código como este:

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

Luego, hay 67108864 posibles rutas de código, dependiendo de los valores de las 26 variables booleanas.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top