It may not scale for a large program of interest to you, but you may find this error with Frama-C :
$ frama-c -cpp-command "gcc -C -E -I`frama-c -print-share-path`/libc/ -nostdinc" mem.c `frama-c -print-share-path`/libc/fc_runtime.c -val ... [value] computing for function memcpy <- main. Called from mem.c:13. .../libc/string.h:54:[value] Function memcpy: precondition got status invalid.
This message means that you are calling memcpy() with arguments that do not satisfy its contract. In this case, the precondition that fails is the first in the list about the validity of the destination for the record:
extern void *memcpy(void *restrict dest, const void *restrict src, size_t n);
source share