0

私はフレームワーク Frama-c を研究していますが、C/Frama-c と Spark Ada の間に同等性があるかどうか疑問に思っています。このような異なる言語を比較するのは非常に奇妙に思えるかもしれませんが、David A. Wheeler の記事Johannes Kanig の比較、および SPARK のユーザーマニュアルを少し読んだ後、SPARK と C/Frama-c/ACSL が与えるかどうかを推測するのに苦労しています。同じ証明の堅牢性と同じコードの信頼性。

あなたの視点/経験を与えてくれてありがとう!

PS: 私は frama-c を初めて使用し、SPARK プログラミングについてあまり知りません。

4

1 に答える 1

0

私は Frama-C を知りませんが、SPARK プルーフは - 私が理解しているように - それらは絶対的な保証です。SPARK を使用すると、証明が必要な量をある程度選択できます。

基本的なレベルは、実行時エラー (例外) がないことを証明することですが、SPARK は、ソース テキストに挿入されたすべてのアサーション (事前および事後条件を含む) を証明しようとします。したがって、いくつかの機能要件を文書化するアサーションを挿入すると、(SPARK ツールがアサーションが正しいことを証明できると仮定して) 保証がそれらの機能要件にまで及びます。

于 2018-05-26T09:08:29.303 に答える