I am new to frama-c
. I did some tutorials and would like to build a tiny real world application. I didn't get far, because I ran into a warning that bugs me.
This is the program I would like to verify:
#include <unistd.h>
/*@
assigns __fc_fds[0];
ensures \result == 0;
*/
int main()
{
char s[] = "hello\n";
(void)write(1, (const void*)s, 6);
return 0;
}
I run the following command to verify it:
frama-c -wp -wp-rte -wp-timeout 1 main.c
Then I get the warning, that does not make sense to me.
[kernel] Parsing main2.c (with preprocessing)
[rte:annot] annotating function main
[wp] 6 goals scheduled
[wp] Proved goals: 6 / 6
Qed: 6 (0.51ms-1ms-2ms)
[wp] FRAMAC_SHARE/libc/unistd.h:1158: Warning:
Memory model hypotheses for function 'write':
/*@
behavior wp_typed:
requires \separated(buf + (..), (int volatile *)__fc_fds + (..));
*/
extern ssize_t write(int fd, void const *buf, size_t count);