0

私はプログラム分析分野に不慣れで、この分野のいくつかの資料を読んだ後、対応する答えが見つからないいくつかの質問があります..

ツールを実装する場合を参照してください:シンボリック実行+ DARTのような具体的な実行

次に、動的分析機能を維持しながら、すべての実行パスをカバーする必要があると思います..

動的解析ではすべての実行パスをカバーできないとのことですが、そもそもなぜなのでしょうか? DARTのようなテクニックは今ではかなり成熟していると思います...

モデル チェックのような他のものは、理論的には 100% のコード カバレッジを保証します...そうですか?

誰か助けてくれませんか?ありがとうございました!

4

1 に答える 1

1

コードの一部を通るパスの数は、「if」ステートメントの数で指数関数的です。たとえば、次のようなコードがあるとします。

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

26 個のブール変数の値に応じて、67108864 の可能なコード パスがあります。

于 2014-02-27T05:27:06.230 に答える