2

たとえば、などを使用せずにsymbolic executionforを実装するにはどうすればよいですか? それについての詳細が必要です。たとえば、このシンボリック実行を実装できる言語と、他に知っておくべきことは何ですか?particular languagemodel checkingFinite State Machine (FSM)notJava Path Finder

4

1 に答える 1

3

必要なもの:

  • AST を構築できる、シンボリックに実行される言語のパーサー
  • 名前解決 (および関連するシンボル テーブル)。実行エンジンが識別子に遭遇したときに、関連する型と値を判断できます。
  • シンボリック実行エンジンがプログラムを通じて制御の流れをたどることができるように、制御フロー分析
  • 記号項を構成および簡素化できる記号代数。これには、パーサー (そのような方程式を入力できるようにするため) と prettyprinter (計算内容を確認できるようにするため) が必要です。
  • シンボリック実行開始時の想定値の指定方法

これはかなり多くの機械であり、すべてを 1 か所で見つけるのは困難です。1 つのツールだけですべてを構築するのは困難です。これが、このようなツールが多くない理由の 1 つです。

当社のDMS ソフトウェア リエンジニアリング ツールキットには、すべての必要条件が含まれています。DMS で実装されたシンボリック言語の例が興味深いかもしれません。

于 2016-09-14T14:59:40.437 に答える