私はほとんどのコードの塊をデバッグしようとしています簡単な16状態のステートマシン。ただし、遷移がそれほど単純ではない場合もあります(状態の変更が処理されるデータは、C ++クラスのカップルで約200バイトのデータです)。
マシンが「最終」で終わるのを見つけています予想よりもはるかに早い状態。まだコードに精通していないので、さまざまな遷移パスをすばやく識別してデバッグしやすくする方法で、さまざまな状態と遷移を確認できることを望んでいます。
このような状態マシンをマッピングするための便利なツールやテクニックはありますか?
リバースエンジニアリングの観点からこれを行っていることは注目に値するかもしれません。そのため、利用可能なシステムの計画に関するドキュメントはありません。
回答:
回答№1は0次のような正式なモデルチェックツールを調べることができます。 UPPAAL。このツールは、モデリングと時限オートマトンのネットワークとしてモデル化できるシステムの検証-これにはステートマシンが含まれます。以前にそれを使用して検証しました不変量と可能な状態の到達可能性。