FRAMA-C/WP Цели не подтверждаются

Я пытаюсь доказать упрощенную версию примера из руководства по WP, но постоянно получаю сообщение об ошибке для одного из условий обеспечения.

Вот мой код:

      /*@ requires \valid(a) && \valid(b);
@ ensures A: *a == \old(*b) ;
@ ensures B: *b == \old(*a) ;
@ assigns *a,*b ;
@*/
void swap(int *a,int *b)
{
    int tmp = *a;
    *a = *b;
    *b = tmp;
}

Когда я бегуframa-c -wp -wp-rte swap.c, я получаю следующую ошибку:

      [kernel] Parsing main_wp.c (with preprocessing)
[rte] annotating function swap
Collecting axiomatic usagewarning: [Warning] cannot load an editor: missing field 'options'

warning: [Warning] cannot load an editor: missing field 'options'

warning: [Warning] cannot load an editor: missing field 'options'

warning: [Warning] cannot load an editor: missing field 'options'

warning: [Warning] cannot load an editor: missing field 'options'

[wp] 8 goals scheduled
[wp] [Alt-Ergo 2.0.0] Goal typed_swap_ensures_A : Failed
[wp] [Cache] found:3
[wp] Proved goals:    7 / 8
  Qed:               5  (1ms-2ms-4ms)
  Alt-Ergo 2.0.0:    2  (12ms-15ms) (22) (cached: 3) (failed: 1)

Мне было интересно, делаю ли я что-то не так, или это проблема с проверщиками, поскольку я сталкивался с аналогичными ошибками с Alt-Ergo при тестировании файлов из больших кодовых баз.

Я использую Frama-C 24.0 и Alt-Ergo 2.0.0.

0 ответов

Другие вопросы по тегам