15

データ フロー分析と抽象解釈の違いは何ですか?また、同じ目的で使用されますか? これら 2 つの相互の長所と短所は何ですか。

4

3 に答える 3

14

要するに、それらは異なるカテゴリに属しています。布とズボンを比較するようなものです。

抽象解釈は、抽象ドメインと抽象伝達関数を使用して固定小数点計算を形式化するフレームワークです。抽象解釈は、特定の条件が満たされている場合、不動点が有限ステップで見つかることを保証します (詳細については: http://www.di.ens.fr/~cousot/COUSOTpapers/POPL77.shtml )。抽象的な解釈の偉大さは、広げたり狭めたりすることから生まれます。それらのおかげで、抽象解釈は無限ドメイン上の不動点を計算できます。

IMO、データ フロー分析は抽象的な解釈の 1 つの例にすぎません。データ フロー分析で使用されるほとんどの具体的なドメインは有限であるため、拡大縮小も必要ありません。

于 2014-09-23T12:32:07.830 に答える
0

要するに「効率 vs 正確さ」です。

データフロー分析は、抽象的な解釈よりもはるかに多くのパス データをマージしようとします。抽象解釈は、データ値を抽象的に保ちながら、すべてのパスを歩きます。

于 2013-06-29T06:12:58.987 に答える