Question

Je suis nouveau dans la zone d'analyse de programme et après avoir lu des matériaux dans ce domaine, j'ai quelques questions que je ne trouve pas les réponses correspondantes ..

Voir, si je mettez en place un outil: exécution symbolique + exécution concrète Tout comme dart

Puis je pense qu'il devrait couvrir tout le chemin d'exécution tout en conservant les fonctionnalités d'analyse dynamique.

On me dit qu'une analyse dynamique ne peut pas couvrir tout le chemin d'exécution, mais essentiellement pourquoi?Je pense que des techniques comme Dart sont assez matures maintenant ...

Autres, comme la vérification du modèle, garantissent théoriquement 100% de couverture de code ... Ai-je raison?

Quelqu'un pourrait-il me donner une aide?Merci!

Était-ce utile?

La solution

Le nombre de chemins via un morceau de code est exponentiel dans le nombre de déclarations "si".Par exemple, si vous avez un morceau de code comme celui-ci:

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

Il existe ensuite 67108864 des chemins de code possibles, en fonction des valeurs des 26 variables booléennes.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top