いくつかの非効率性を避けるために、モジュラ算術に依存する次のようなコードの正確性を証明するにはどうすればよいですか? #include <stdint.h>
uint32_t my_add(uint32_t a, uint32_t b) {
uint32_t r = a + b;
if (r < a)
return UINT32_MAX;
return
私は現在のステートメントの値を取得するFrama-C-Pluginを開発したいと思います。 Frama-C Plugin development: Getting result of value-analysis私はステートメントの値を印刷することができましたが、必要な方法でポインタが表示されませんでした。 コメントの助けを借りて、私は状態全体(文の変数だけでなく)を印刷することができました。 私
私は、合計44個の一時変数が存在する特定のプログラムの弱い前提条件を生成しようとしていました。 2つの一時変数の値が仮定されます。他のすべての変数は、これらの2つの変数から導出されます。また、2つの入力変数があります。ここに私のコードのセグメントです。 void main(int err1_10, int err2_10){
int x_mkfirm1,x_mkfirm2;
i
ポインタの値(ポインターのアドレスではなく、そのアドレスの値)を取得する、frama-c-pluginを開発しています。 単純なポインタでこれまでの動作です。今私はポインタへのポインタを扱いたい。例えば : int k=12;
int *l=&k;
int **m = &l;
int ***n = &m;
私の実際のバージョンでこのコードを分析し、私は値を取得: k=12
l=12
私はちょうどOpamのパッケージマネージャからインストールしてビルドしました。frama-cウェブサイトのチュートリアルのバリュー分析の使い方を学んでいます。私は現在、builtin.cファイルを使用することができません。共有フォルダにはありません。また、-val-builtin(それが適切であれば)を使用する方法を理解することはできません。 これを行う方法に関するアイデアはありますか? Fram