Рассмотрим этот маленький файл C:
#include <stdio.h>
void f(void) {
puts(NULL);
}
Я использую плагины Frama-C для WP и RTE следующим образом:
frama-c-gui puts.c -wp -rte -wp-rte
Я ожидаю, что этот код будет генерировать обязательство по доказательству valid_read_string(NULL);
или подобное, что было бы явно недоказуемым. Однако, к моему удивлению, ничего подобного не происходит. Является ли это недостатком спецификации ACSL стандартной библиотеки?