diff --git a/src/plugins/e-acsl/doc/Changelog b/src/plugins/e-acsl/doc/Changelog
index 631226b2fe3ac6eb9798284c6a2cd5fb49146e06..b68a16c8ae191100bf7696cdd39403fb8ce7fd16 100644
--- a/src/plugins/e-acsl/doc/Changelog
+++ b/src/plugins/e-acsl/doc/Changelog
@@ -25,6 +25,8 @@
 Plugin E-ACSL <next-release>
 ############################
 
+-* E-ACSL       [2021-06-04] Do not translate contracts of E-ACSL built-ins.
+
 #############################
 Plugin E-ACSL 23.0 (Vanadium)
 #############################
diff --git a/src/plugins/e-acsl/src/libraries/misc.ml b/src/plugins/e-acsl/src/libraries/misc.ml
index 92d0e9bfef74a16e235e04f84301a1f25b2ce6cc..95e8177eaab3ea44db06987a7c26de20c2d803c7 100644
--- a/src/plugins/e-acsl/src/libraries/misc.ml
+++ b/src/plugins/e-acsl/src/libraries/misc.ml
@@ -34,6 +34,9 @@ let is_fc_or_compiler_builtin vi =
    &&
    let prefix = String.sub vi.vname 0 prefix_length in
    Datatype.String.equal prefix "__builtin_")
+  ||
+  (Options.Replace_libc_functions.get ()
+   && Functions.RTL.has_rtl_replacement vi.vname)
 
 let is_fc_stdlib_generated vi =
   Cil.hasAttribute "fc_stdlib_generated" vi.vattr
diff --git a/src/plugins/e-acsl/tests/builtin/oracle_ci/gen_strcat.c b/src/plugins/e-acsl/tests/builtin/oracle_ci/gen_strcat.c
index ae145b13224ff965dc48e8a56ce5258fbbce5896..c2bfeb3f43d81709cc3a5d4eada221e6ac1cac83 100644
--- a/src/plugins/e-acsl/tests/builtin/oracle_ci/gen_strcat.c
+++ b/src/plugins/e-acsl/tests/builtin/oracle_ci/gen_strcat.c
@@ -75,159 +75,6 @@ pid_t __gen_e_acsl_waitpid(pid_t pid, int *stat_loc, int options);
  */
 pid_t __gen_e_acsl_fork(void);
 
-/*@ requires valid_string_src: valid_read_string(src);
-    requires valid_string_dest: valid_string(dest);
-    requires room_string: \valid(dest + (0 .. strlen(dest) + strlen(src)));
-    ensures
-      sum_of_lengths: strlen(\old(dest)) ≡ \old(strlen(dest) + strlen(src));
-    ensures
-      initialization: dest:
-        \initialized(\old(dest) + (0 .. \old(strlen(dest) + strlen(src))));
-    ensures
-      dest_null_terminated:
-        *(\old(dest) + \old(strlen(dest) + strlen(src))) ≡ 0;
-    ensures result_ptr: \result ≡ \old(dest);
-    assigns *(dest +
-              (strlen{Old}(dest) .. strlen{Old}(dest) + strlen{Old}(src))),
-            \result;
-    assigns
-    *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + strlen{Old}(src)))
-      \from *(src + (0 .. strlen{Old}(src)));
-    assigns \result \from dest;
- */
-char *__gen_e_acsl_strcat(char * restrict dest, char const * restrict src);
-
-/*@ requires valid_nstring_src: valid_read_nstring(src, n);
-    requires valid_string_dest: valid_string(dest);
-    ensures result_ptr: \result ≡ \old(dest);
-    assigns *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + n)), \result;
-    assigns *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + n))
-      \from *(src + (0 .. n));
-    assigns \result \from dest;
-    
-    behavior complete:
-      assumes
-        valid_string_src_fits: valid_read_string(src) ∧ strlen(src) ≤ n;
-      requires
-        room_string: \valid((dest + strlen(dest)) + (0 .. strlen(src)));
-      ensures
-        sum_of_lengths:
-          strlen(\old(dest)) ≡ \old(strlen(dest) + strlen(src));
-      assigns *(dest +
-                (strlen{Old}(dest) .. strlen{Old}(dest) + strlen{Old}(src))),
-              \result;
-      assigns
-      *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + strlen{Old}(src)))
-        \from *(src + (0 .. strlen{Old}(src)));
-      assigns \result \from dest;
-    
-    behavior partial:
-      assumes
-        valid_string_src_too_large:
-          ¬(valid_read_string(src) ∧ strlen(src) ≤ n);
-      requires room_string: \valid((dest + strlen(dest)) + (0 .. n));
-      ensures
-        sum_of_bounded_lengths:
-          strlen(\old(dest)) ≡ \old(strlen(dest)) + \old(n);
-      assigns *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + n)),
-              \result;
-      assigns *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + n))
-        \from *(src + (0 .. strlen{Old}(src)));
-      assigns \result \from dest;
- */
-char *__gen_e_acsl_strncat(char * restrict dest, char const * restrict src,
-                           size_t n);
-
-/*@ requires valid_nstring_src: valid_read_nstring(src, n);
-    requires valid_string_dest: valid_string(dest);
-    ensures result_ptr: \result ≡ \old(dest);
-    assigns *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + n)), \result;
-    assigns *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + n))
-      \from *(src + (0 .. n));
-    assigns \result \from dest;
-    
-    behavior complete:
-      assumes
-        valid_string_src_fits: valid_read_string(src) ∧ strlen(src) ≤ n;
-      requires
-        room_string: \valid((dest + strlen(dest)) + (0 .. strlen(src)));
-      ensures
-        sum_of_lengths:
-          strlen(\old(dest)) ≡ \old(strlen(dest) + strlen(src));
-      assigns *(dest +
-                (strlen{Old}(dest) .. strlen{Old}(dest) + strlen{Old}(src))),
-              \result;
-      assigns
-      *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + strlen{Old}(src)))
-        \from *(src + (0 .. strlen{Old}(src)));
-      assigns \result \from dest;
-    
-    behavior partial:
-      assumes
-        valid_string_src_too_large:
-          ¬(valid_read_string(src) ∧ strlen(src) ≤ n);
-      requires room_string: \valid((dest + strlen(dest)) + (0 .. n));
-      ensures
-        sum_of_bounded_lengths:
-          strlen(\old(dest)) ≡ \old(strlen(dest)) + \old(n);
-      assigns *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + n)),
-              \result;
-      assigns *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + n))
-        \from *(src + (0 .. strlen{Old}(src)));
-      assigns \result \from dest;
- */
-char *__gen_e_acsl_strncat(char * restrict dest, char const * restrict src,
-                           size_t n)
-{
-  char *__gen_e_acsl_at;
-  __e_acsl_contract_t *__gen_e_acsl_contract;
-  char *__retres;
-  __e_acsl_store_block((void *)(& dest),(size_t)8);
-  __gen_e_acsl_contract = __e_acsl_contract_init((size_t)2);
-  __gen_e_acsl_at = dest;
-  __retres = __e_acsl_builtin_strncat(dest,src,n);
-  __e_acsl_assert(__retres == __gen_e_acsl_at,1,"Postcondition","strncat",
-                  "result_ptr: \\result == \\old(dest)",
-                  "FRAMAC_SHARE/libc/string.h",430);
-  __e_acsl_contract_clean(__gen_e_acsl_contract);
-  __e_acsl_delete_block((void *)(& dest));
-  return __retres;
-}
-
-/*@ requires valid_string_src: valid_read_string(src);
-    requires valid_string_dest: valid_string(dest);
-    requires room_string: \valid(dest + (0 .. strlen(dest) + strlen(src)));
-    ensures
-      sum_of_lengths: strlen(\old(dest)) ≡ \old(strlen(dest) + strlen(src));
-    ensures
-      initialization: dest:
-        \initialized(\old(dest) + (0 .. \old(strlen(dest) + strlen(src))));
-    ensures
-      dest_null_terminated:
-        *(\old(dest) + \old(strlen(dest) + strlen(src))) ≡ 0;
-    ensures result_ptr: \result ≡ \old(dest);
-    assigns *(dest +
-              (strlen{Old}(dest) .. strlen{Old}(dest) + strlen{Old}(src))),
-            \result;
-    assigns
-    *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + strlen{Old}(src)))
-      \from *(src + (0 .. strlen{Old}(src)));
-    assigns \result \from dest;
- */
-char *__gen_e_acsl_strcat(char * restrict dest, char const * restrict src)
-{
-  char *__gen_e_acsl_at;
-  char *__retres;
-  __e_acsl_store_block((void *)(& dest),(size_t)8);
-  __gen_e_acsl_at = dest;
-  __retres = __e_acsl_builtin_strcat(dest,src);
-  __e_acsl_assert(__retres == __gen_e_acsl_at,1,"Postcondition","strcat",
-                  "result_ptr: \\result == \\old(dest)",
-                  "FRAMAC_SHARE/libc/string.h",421);
-  __e_acsl_delete_block((void *)(& dest));
-  return __retres;
-}
-
 /*@ ensures
       result_ok_child_or_error:
         \result ≡ 0 ∨ \result > 0 ∨ \result ≡ -1;
@@ -498,11 +345,7 @@ int main(int argc, char const **argv)
   __e_acsl_memory_init(& argc,(char ***)(& argv),(size_t)8);
   __e_acsl_globals_init();
   char *const_str = (char *)__gen_e_acsl_literal_string_6;
-  __e_acsl_store_block((void *)(& const_str),(size_t)8);
-  __e_acsl_full_init((void *)(& const_str));
   char *unalloc_str = malloc((unsigned long)5);
-  __e_acsl_store_block((void *)(& unalloc_str),(size_t)8);
-  __e_acsl_full_init((void *)(& unalloc_str));
   char *_barrier = malloc((unsigned long)1);
   char *empty_str = (char *)__gen_e_acsl_literal_string_7;
   free((void *)unalloc_str);
@@ -538,7 +381,7 @@ int main(int argc, char const **argv)
     {
       pid_t pid = __gen_e_acsl_fork();
       if (! pid) {
-        __gen_e_acsl_strcat(dest1,(char const *)const_str);
+        __e_acsl_builtin_strcat(dest1,(char const *)const_str);
         __gen_e_acsl_exit(0);
       }
       else {
@@ -552,7 +395,7 @@ int main(int argc, char const **argv)
     {
       pid_t pid_0 = __gen_e_acsl_fork();
       if (! pid_0) {
-        __gen_e_acsl_strcat(dest3,(char const *)empty_str);
+        __e_acsl_builtin_strcat(dest3,(char const *)empty_str);
         __gen_e_acsl_exit(0);
       }
       else {
@@ -566,7 +409,7 @@ int main(int argc, char const **argv)
     {
       pid_t pid_1 = __gen_e_acsl_fork();
       if (! pid_1) {
-        __gen_e_acsl_strcat(dest2,(char const *)const_str);
+        __e_acsl_builtin_strcat(dest2,(char const *)const_str);
         __gen_e_acsl_exit(0);
       }
       else {
@@ -580,7 +423,7 @@ int main(int argc, char const **argv)
     {
       pid_t pid_2 = __gen_e_acsl_fork();
       if (! pid_2) {
-        __gen_e_acsl_strcat(unalloc_str,(char const *)const_str);
+        __e_acsl_builtin_strcat(unalloc_str,(char const *)const_str);
         __gen_e_acsl_exit(0);
       }
       else {
@@ -594,7 +437,7 @@ int main(int argc, char const **argv)
     {
       pid_t pid_3 = __gen_e_acsl_fork();
       if (! pid_3) {
-        __gen_e_acsl_strcat(dest2,(char const *)unalloc_str);
+        __e_acsl_builtin_strcat(dest2,(char const *)unalloc_str);
         __gen_e_acsl_exit(0);
       }
       else {
@@ -608,7 +451,7 @@ int main(int argc, char const **argv)
     {
       pid_t pid_4 = __gen_e_acsl_fork();
       if (! pid_4) {
-        __gen_e_acsl_strcat((char *)0,__gen_e_acsl_literal_string_7);
+        __e_acsl_builtin_strcat((char *)0,__gen_e_acsl_literal_string_7);
         __gen_e_acsl_exit(0);
       }
       else {
@@ -622,7 +465,7 @@ int main(int argc, char const **argv)
     {
       pid_t pid_5 = __gen_e_acsl_fork();
       if (! pid_5) {
-        __gen_e_acsl_strcat(dest1,(char const *)0);
+        __e_acsl_builtin_strcat(dest1,(char const *)0);
         __gen_e_acsl_exit(0);
       }
       else {
@@ -636,7 +479,7 @@ int main(int argc, char const **argv)
     {
       pid_t pid_6 = __gen_e_acsl_fork();
       if (! pid_6) {
-        __gen_e_acsl_strcat(const_str,(char const *)const_str);
+        __e_acsl_builtin_strcat(const_str,(char const *)const_str);
         __gen_e_acsl_exit(0);
       }
       else {
@@ -650,7 +493,7 @@ int main(int argc, char const **argv)
     {
       pid_t pid_7 = __gen_e_acsl_fork();
       if (! pid_7) {
-        __gen_e_acsl_strcat(pd1,(char const *)pd1);
+        __e_acsl_builtin_strcat(pd1,(char const *)pd1);
         __gen_e_acsl_exit(0);
       }
       else {
@@ -664,7 +507,7 @@ int main(int argc, char const **argv)
     {
       pid_t pid_8 = __gen_e_acsl_fork();
       if (! pid_8) {
-        __gen_e_acsl_strcat(pd1 + 3,(char const *)pd1);
+        __e_acsl_builtin_strcat(pd1 + 3,(char const *)pd1);
         __gen_e_acsl_exit(0);
       }
       else {
@@ -678,7 +521,7 @@ int main(int argc, char const **argv)
     {
       pid_t pid_9 = __gen_e_acsl_fork();
       if (! pid_9) {
-        __gen_e_acsl_strcat(pd4 + 4,(char const *)pd4);
+        __e_acsl_builtin_strcat(pd4 + 4,(char const *)pd4);
         __gen_e_acsl_exit(0);
       }
       else {
@@ -694,7 +537,7 @@ int main(int argc, char const **argv)
       if (! pid_10) {
         __e_acsl_initialize((void *)(pd4 + 5),sizeof(char));
         *(pd4 + 5) = (char)'\000';
-        __gen_e_acsl_strcat(pd4 + 5,(char const *)pd4);
+        __e_acsl_builtin_strcat(pd4 + 5,(char const *)pd4);
         __gen_e_acsl_exit(0);
       }
       else {
@@ -746,8 +589,8 @@ int main(int argc, char const **argv)
     {
       pid_t pid_11 = __gen_e_acsl_fork();
       if (! pid_11) {
-        __gen_e_acsl_strncat(dest1_0,(char const *)const_str,
-                             (unsigned long)4);
+        __e_acsl_builtin_strncat(dest1_0,(char const *)const_str,
+                                 (unsigned long)4);
         __gen_e_acsl_exit(0);
       }
       else {
@@ -761,8 +604,8 @@ int main(int argc, char const **argv)
     {
       pid_t pid_12 = __gen_e_acsl_fork();
       if (! pid_12) {
-        __gen_e_acsl_strncat(dest2_0,(char const *)const_str,
-                             (unsigned long)4);
+        __e_acsl_builtin_strncat(dest2_0,(char const *)const_str,
+                                 (unsigned long)4);
         __gen_e_acsl_exit(0);
       }
       else {
@@ -776,8 +619,8 @@ int main(int argc, char const **argv)
     {
       pid_t pid_13 = __gen_e_acsl_fork();
       if (! pid_13) {
-        __gen_e_acsl_strncat(unalloc_str,(char const *)const_str,
-                             (unsigned long)1);
+        __e_acsl_builtin_strncat(unalloc_str,(char const *)const_str,
+                                 (unsigned long)1);
         __gen_e_acsl_exit(0);
       }
       else {
@@ -791,8 +634,8 @@ int main(int argc, char const **argv)
     {
       pid_t pid_14 = __gen_e_acsl_fork();
       if (! pid_14) {
-        __gen_e_acsl_strncat(dest2_0,(char const *)unalloc_str,
-                             (unsigned long)1);
+        __e_acsl_builtin_strncat(dest2_0,(char const *)unalloc_str,
+                                 (unsigned long)1);
         __gen_e_acsl_exit(0);
       }
       else {
@@ -806,8 +649,8 @@ int main(int argc, char const **argv)
     {
       pid_t pid_15 = __gen_e_acsl_fork();
       if (! pid_15) {
-        __gen_e_acsl_strncat((char *)0,(char const *)const_str,
-                             (unsigned long)1);
+        __e_acsl_builtin_strncat((char *)0,(char const *)const_str,
+                                 (unsigned long)1);
         __gen_e_acsl_exit(0);
       }
       else {
@@ -821,7 +664,7 @@ int main(int argc, char const **argv)
     {
       pid_t pid_16 = __gen_e_acsl_fork();
       if (! pid_16) {
-        __gen_e_acsl_strncat(dest2_0,(char const *)0,(unsigned long)1);
+        __e_acsl_builtin_strncat(dest2_0,(char const *)0,(unsigned long)1);
         __gen_e_acsl_exit(0);
       }
       else {
@@ -835,8 +678,8 @@ int main(int argc, char const **argv)
     {
       pid_t pid_17 = __gen_e_acsl_fork();
       if (! pid_17) {
-        __gen_e_acsl_strncat(const_str,(char const *)const_str,
-                             (unsigned long)1);
+        __e_acsl_builtin_strncat(const_str,(char const *)const_str,
+                                 (unsigned long)1);
         __gen_e_acsl_exit(0);
       }
       else {
@@ -850,7 +693,7 @@ int main(int argc, char const **argv)
     {
       pid_t pid_18 = __gen_e_acsl_fork();
       if (! pid_18) {
-        __gen_e_acsl_strncat(pd1_0,(char const *)pd1_0,(unsigned long)1);
+        __e_acsl_builtin_strncat(pd1_0,(char const *)pd1_0,(unsigned long)1);
         __gen_e_acsl_exit(0);
       }
       else {
@@ -864,7 +707,8 @@ int main(int argc, char const **argv)
     {
       pid_t pid_19 = __gen_e_acsl_fork();
       if (! pid_19) {
-        __gen_e_acsl_strncat(pd1_0 + 3,(char const *)pd1_0,(unsigned long)5);
+        __e_acsl_builtin_strncat(pd1_0 + 3,(char const *)pd1_0,
+                                 (unsigned long)5);
         __gen_e_acsl_exit(0);
       }
       else {
@@ -878,7 +722,8 @@ int main(int argc, char const **argv)
     {
       pid_t pid_20 = __gen_e_acsl_fork();
       if (! pid_20) {
-        __gen_e_acsl_strncat(pd4_0 + 4,(char const *)pd4_0,(unsigned long)5);
+        __e_acsl_builtin_strncat(pd4_0 + 4,(char const *)pd4_0,
+                                 (unsigned long)5);
         __gen_e_acsl_exit(0);
       }
       else {
@@ -899,8 +744,6 @@ int main(int argc, char const **argv)
     }
   }
   __retres = 0;
-  __e_acsl_delete_block((void *)(& unalloc_str));
-  __e_acsl_delete_block((void *)(& const_str));
   __e_acsl_memory_clean();
   return __retres;
 }
diff --git a/src/plugins/e-acsl/tests/builtin/oracle_ci/gen_strcmp.c b/src/plugins/e-acsl/tests/builtin/oracle_ci/gen_strcmp.c
index 5032458f73323645d0ec6794819761816c63528d..5c56e4f5c0923e9f0ea9df75a97d12fb18ddbd47 100644
--- a/src/plugins/e-acsl/tests/builtin/oracle_ci/gen_strcmp.c
+++ b/src/plugins/e-acsl/tests/builtin/oracle_ci/gen_strcmp.c
@@ -85,25 +85,6 @@ pid_t __gen_e_acsl_waitpid(pid_t pid, int *stat_loc, int options);
  */
 pid_t __gen_e_acsl_fork(void);
 
-/*@ requires valid_string_s1: valid_read_string(s1);
-    requires valid_string_s2: valid_read_string(s2);
-    ensures acsl_c_equiv: \result ≡ strcmp(\old(s1), \old(s2));
-    assigns \result;
-    assigns \result
-      \from (indirect: *(s1 + (0 ..))), (indirect: *(s2 + (0 ..)));
- */
-int __gen_e_acsl_strcmp(char const *s1, char const *s2);
-
-/*@ requires valid_string_s1: valid_read_nstring(s1, n);
-    requires valid_string_s2: valid_read_nstring(s2, n);
-    ensures acsl_c_equiv: \result ≡ strncmp(\old(s1), \old(s2), \old(n));
-    assigns \result;
-    assigns \result
-      \from (indirect: *(s1 + (0 .. n - 1))),
-            (indirect: *(s2 + (0 .. n - 1))), (indirect: n);
- */
-int __gen_e_acsl_strncmp(char const *s1, char const *s2, size_t n);
-
 /*@ requires valid_string_s: valid_read_string(s);
     assigns \result;
     assigns \result
@@ -201,35 +182,6 @@ char *__gen_e_acsl_strdup(char const *s)
   }
 }
 
-/*@ requires valid_string_s1: valid_read_nstring(s1, n);
-    requires valid_string_s2: valid_read_nstring(s2, n);
-    ensures acsl_c_equiv: \result ≡ strncmp(\old(s1), \old(s2), \old(n));
-    assigns \result;
-    assigns \result
-      \from (indirect: *(s1 + (0 .. n - 1))),
-            (indirect: *(s2 + (0 .. n - 1))), (indirect: n);
- */
-int __gen_e_acsl_strncmp(char const *s1, char const *s2, size_t n)
-{
-  int __retres;
-  __retres = __e_acsl_builtin_strncmp(s1,s2,n);
-  return __retres;
-}
-
-/*@ requires valid_string_s1: valid_read_string(s1);
-    requires valid_string_s2: valid_read_string(s2);
-    ensures acsl_c_equiv: \result ≡ strcmp(\old(s1), \old(s2));
-    assigns \result;
-    assigns \result
-      \from (indirect: *(s1 + (0 ..))), (indirect: *(s2 + (0 ..)));
- */
-int __gen_e_acsl_strcmp(char const *s1, char const *s2)
-{
-  int __retres;
-  __retres = __e_acsl_builtin_strcmp(s1,s2);
-  return __retres;
-}
-
 /*@ ensures
       result_ok_child_or_error:
         \result ≡ 0 ∨ \result > 0 ∨ \result ≡ -1;
@@ -539,8 +491,8 @@ int main(int argc, char const **argv)
     if (! pid) {
       int tmp_2;
       int tmp_3;
-      tmp_2 = __gen_e_acsl_strcmp(cl,cr);
-      tmp_3 = __gen_e_acsl_strcmp(cl,cr);
+      tmp_2 = __e_acsl_builtin_strcmp(cl,cr);
+      tmp_3 = __e_acsl_builtin_strcmp(cl,cr);
       fail_ncomp(tmp_3 != 0,(char *)__gen_e_acsl_literal_string_7,tmp_2,0);
       __gen_e_acsl_exit(0);
     }
@@ -557,8 +509,8 @@ int main(int argc, char const **argv)
     if (! pid_0) {
       int tmp_5;
       int tmp_6;
-      tmp_5 = __gen_e_acsl_strcmp((char const *)(al),(char const *)(ar));
-      tmp_6 = __gen_e_acsl_strcmp((char const *)(al),(char const *)(ar));
+      tmp_5 = __e_acsl_builtin_strcmp((char const *)(al),(char const *)(ar));
+      tmp_6 = __e_acsl_builtin_strcmp((char const *)(al),(char const *)(ar));
       fail_ncomp(tmp_6 != 0,(char *)__gen_e_acsl_literal_string_7,tmp_5,0);
       __gen_e_acsl_exit(0);
     }
@@ -575,8 +527,8 @@ int main(int argc, char const **argv)
     if (! pid_1) {
       int tmp_8;
       int tmp_9;
-      tmp_8 = __gen_e_acsl_strcmp((char const *)dl,(char const *)dr);
-      tmp_9 = __gen_e_acsl_strcmp((char const *)dl,(char const *)dr);
+      tmp_8 = __e_acsl_builtin_strcmp((char const *)dl,(char const *)dr);
+      tmp_9 = __e_acsl_builtin_strcmp((char const *)dl,(char const *)dr);
       fail_ncomp(tmp_9 != 0,(char *)__gen_e_acsl_literal_string_7,tmp_8,0);
       __gen_e_acsl_exit(0);
     }
@@ -594,8 +546,8 @@ int main(int argc, char const **argv)
     if (! pid_2) {
       int tmp_11;
       int tmp_12;
-      tmp_11 = __gen_e_acsl_strcmp((char const *)(al),(char const *)(ar));
-      tmp_12 = __gen_e_acsl_strcmp((char const *)(al),(char const *)(ar));
+      tmp_11 = __e_acsl_builtin_strcmp((char const *)(al),(char const *)(ar));
+      tmp_12 = __e_acsl_builtin_strcmp((char const *)(al),(char const *)(ar));
       fail_ncomp(tmp_12 != 0,(char *)__gen_e_acsl_literal_string_7,tmp_11,0);
       __gen_e_acsl_exit(0);
     }
@@ -614,8 +566,8 @@ int main(int argc, char const **argv)
     if (! pid_3) {
       int tmp_14;
       int tmp_15;
-      tmp_14 = __gen_e_acsl_strcmp((char const *)(al),(char const *)(ar));
-      tmp_15 = __gen_e_acsl_strcmp((char const *)(al),(char const *)(ar));
+      tmp_14 = __e_acsl_builtin_strcmp((char const *)(al),(char const *)(ar));
+      tmp_15 = __e_acsl_builtin_strcmp((char const *)(al),(char const *)(ar));
       fail_ncomp(tmp_15 != 0,(char *)__gen_e_acsl_literal_string_7,tmp_14,0);
       __gen_e_acsl_exit(0);
     }
@@ -633,8 +585,8 @@ int main(int argc, char const **argv)
     if (! pid_4) {
       int tmp_17;
       int tmp_18;
-      tmp_17 = __gen_e_acsl_strcmp((char const *)dl,(char const *)dr);
-      tmp_18 = __gen_e_acsl_strcmp((char const *)dl,(char const *)dr);
+      tmp_17 = __e_acsl_builtin_strcmp((char const *)dl,(char const *)dr);
+      tmp_18 = __e_acsl_builtin_strcmp((char const *)dl,(char const *)dr);
       fail_ncomp(tmp_18 != 0,(char *)__gen_e_acsl_literal_string_7,tmp_17,0);
       __gen_e_acsl_exit(0);
     }
@@ -653,8 +605,8 @@ int main(int argc, char const **argv)
     if (! pid_5) {
       int tmp_20;
       int tmp_21;
-      tmp_20 = __gen_e_acsl_strcmp((char const *)dl,(char const *)dr);
-      tmp_21 = __gen_e_acsl_strcmp((char const *)dl,(char const *)dr);
+      tmp_20 = __e_acsl_builtin_strcmp((char const *)dl,(char const *)dr);
+      tmp_21 = __e_acsl_builtin_strcmp((char const *)dl,(char const *)dr);
       fail_ncomp(tmp_21 != 0,(char *)__gen_e_acsl_literal_string_7,tmp_20,0);
       __gen_e_acsl_exit(0);
     }
@@ -671,8 +623,8 @@ int main(int argc, char const **argv)
     if (! pid_6) {
       int tmp_23;
       int tmp_24;
-      tmp_23 = __gen_e_acsl_strcmp((char const *)dl,(char const *)0);
-      tmp_24 = __gen_e_acsl_strcmp((char const *)dl,(char const *)0);
+      tmp_23 = __e_acsl_builtin_strcmp((char const *)dl,(char const *)0);
+      tmp_24 = __e_acsl_builtin_strcmp((char const *)dl,(char const *)0);
       fail_ncomp(tmp_24 != 0,(char *)__gen_e_acsl_literal_string_7,tmp_23,0);
       __gen_e_acsl_exit(0);
     }
@@ -689,8 +641,8 @@ int main(int argc, char const **argv)
     if (! pid_7) {
       int tmp_26;
       int tmp_27;
-      tmp_26 = __gen_e_acsl_strcmp((char const *)0,(char const *)dr);
-      tmp_27 = __gen_e_acsl_strcmp((char const *)0,(char const *)dr);
+      tmp_26 = __e_acsl_builtin_strcmp((char const *)0,(char const *)dr);
+      tmp_27 = __e_acsl_builtin_strcmp((char const *)0,(char const *)dr);
       fail_ncomp(tmp_27 != 0,(char *)__gen_e_acsl_literal_string_7,tmp_26,0);
       __gen_e_acsl_exit(0);
     }
@@ -709,8 +661,8 @@ int main(int argc, char const **argv)
     if (! pid_8) {
       int tmp_29;
       int tmp_30;
-      tmp_29 = __gen_e_acsl_strcmp((char const *)dl,(char const *)(ar));
-      tmp_30 = __gen_e_acsl_strcmp((char const *)dl,(char const *)(ar));
+      tmp_29 = __e_acsl_builtin_strcmp((char const *)dl,(char const *)(ar));
+      tmp_30 = __e_acsl_builtin_strcmp((char const *)dl,(char const *)(ar));
       fail_ncomp(tmp_30 != 0,(char *)__gen_e_acsl_literal_string_7,tmp_29,0);
       __gen_e_acsl_exit(0);
     }
@@ -727,8 +679,8 @@ int main(int argc, char const **argv)
     if (! pid_9) {
       int tmp_32;
       int tmp_33;
-      tmp_32 = __gen_e_acsl_strcmp((char const *)(al),(char const *)dr);
-      tmp_33 = __gen_e_acsl_strcmp((char const *)(al),(char const *)dr);
+      tmp_32 = __e_acsl_builtin_strcmp((char const *)(al),(char const *)dr);
+      tmp_33 = __e_acsl_builtin_strcmp((char const *)(al),(char const *)dr);
       fail_ncomp(tmp_33 != 0,(char *)__gen_e_acsl_literal_string_7,tmp_32,0);
       __gen_e_acsl_exit(0);
     }
@@ -749,8 +701,8 @@ int main(int argc, char const **argv)
     if (! pid_10) {
       int tmp_35;
       int tmp_36;
-      tmp_35 = __gen_e_acsl_strncmp(cl,cr,(unsigned long)3);
-      tmp_36 = __gen_e_acsl_strncmp(cl,cr,(unsigned long)3);
+      tmp_35 = __e_acsl_builtin_strncmp(cl,cr,(unsigned long)3);
+      tmp_36 = __e_acsl_builtin_strncmp(cl,cr,(unsigned long)3);
       fail_ncomp(tmp_36 != 0,(char *)__gen_e_acsl_literal_string_7,tmp_35,0);
       __gen_e_acsl_exit(0);
     }
@@ -767,10 +719,10 @@ int main(int argc, char const **argv)
     if (! pid_11) {
       int tmp_38;
       int tmp_39;
-      tmp_38 = __gen_e_acsl_strncmp((char const *)(nal),(char const *)(nar),
-                                    (unsigned long)3);
-      tmp_39 = __gen_e_acsl_strncmp((char const *)(nal),(char const *)(nar),
-                                    (unsigned long)3);
+      tmp_38 = __e_acsl_builtin_strncmp((char const *)(nal),
+                                        (char const *)(nar),(unsigned long)3);
+      tmp_39 = __e_acsl_builtin_strncmp((char const *)(nal),
+                                        (char const *)(nar),(unsigned long)3);
       fail_ncomp(tmp_39 != 0,(char *)__gen_e_acsl_literal_string_7,tmp_38,0);
       __gen_e_acsl_exit(0);
     }
@@ -787,10 +739,10 @@ int main(int argc, char const **argv)
     if (! pid_12) {
       int tmp_41;
       int tmp_42;
-      tmp_41 = __gen_e_acsl_strncmp((char const *)dl,(char const *)dr,
-                                    (unsigned long)3);
-      tmp_42 = __gen_e_acsl_strncmp((char const *)dl,(char const *)dr,
-                                    (unsigned long)3);
+      tmp_41 = __e_acsl_builtin_strncmp((char const *)dl,(char const *)dr,
+                                        (unsigned long)3);
+      tmp_42 = __e_acsl_builtin_strncmp((char const *)dl,(char const *)dr,
+                                        (unsigned long)3);
       fail_ncomp(tmp_42 != 0,(char *)__gen_e_acsl_literal_string_7,tmp_41,0);
       __gen_e_acsl_exit(0);
     }
@@ -807,10 +759,10 @@ int main(int argc, char const **argv)
     if (! pid_13) {
       int tmp_44;
       int tmp_45;
-      tmp_44 = __gen_e_acsl_strncmp((char const *)(nal),(char const *)(nar),
-                                    (unsigned long)6);
-      tmp_45 = __gen_e_acsl_strncmp((char const *)(nal),(char const *)(nar),
-                                    (unsigned long)6);
+      tmp_44 = __e_acsl_builtin_strncmp((char const *)(nal),
+                                        (char const *)(nar),(unsigned long)6);
+      tmp_45 = __e_acsl_builtin_strncmp((char const *)(nal),
+                                        (char const *)(nar),(unsigned long)6);
       fail_ncomp(tmp_45 != 0,(char *)__gen_e_acsl_literal_string_7,tmp_44,0);
       __gen_e_acsl_exit(0);
     }
@@ -827,10 +779,10 @@ int main(int argc, char const **argv)
     if (! pid_14) {
       int tmp_47;
       int tmp_48;
-      tmp_47 = __gen_e_acsl_strncmp((char const *)dl,(char const *)dr,
-                                    (unsigned long)6);
-      tmp_48 = __gen_e_acsl_strncmp((char const *)dl,(char const *)dr,
-                                    (unsigned long)6);
+      tmp_47 = __e_acsl_builtin_strncmp((char const *)dl,(char const *)dr,
+                                        (unsigned long)6);
+      tmp_48 = __e_acsl_builtin_strncmp((char const *)dl,(char const *)dr,
+                                        (unsigned long)6);
       fail_ncomp(tmp_48 != 0,(char *)__gen_e_acsl_literal_string_7,tmp_47,0);
       __gen_e_acsl_exit(0);
     }
@@ -848,10 +800,10 @@ int main(int argc, char const **argv)
     if (! pid_15) {
       int tmp_50;
       int tmp_51;
-      tmp_50 = __gen_e_acsl_strncmp((char const *)(nal),(char const *)(nar),
-                                    (unsigned long)4);
-      tmp_51 = __gen_e_acsl_strncmp((char const *)(nal),(char const *)(nar),
-                                    (unsigned long)4);
+      tmp_50 = __e_acsl_builtin_strncmp((char const *)(nal),
+                                        (char const *)(nar),(unsigned long)4);
+      tmp_51 = __e_acsl_builtin_strncmp((char const *)(nal),
+                                        (char const *)(nar),(unsigned long)4);
       fail_ncomp(tmp_51 == 0,(char *)__gen_e_acsl_literal_string_24,tmp_50,0);
       __gen_e_acsl_exit(0);
     }
@@ -870,10 +822,10 @@ int main(int argc, char const **argv)
     if (! pid_16) {
       int tmp_53;
       int tmp_54;
-      tmp_53 = __gen_e_acsl_strncmp((char const *)(nal),(char const *)(nar),
-                                    (unsigned long)4);
-      tmp_54 = __gen_e_acsl_strncmp((char const *)(nal),(char const *)(nar),
-                                    (unsigned long)4);
+      tmp_53 = __e_acsl_builtin_strncmp((char const *)(nal),
+                                        (char const *)(nar),(unsigned long)4);
+      tmp_54 = __e_acsl_builtin_strncmp((char const *)(nal),
+                                        (char const *)(nar),(unsigned long)4);
       fail_ncomp(tmp_54 == 0,(char *)__gen_e_acsl_literal_string_24,tmp_53,0);
       __gen_e_acsl_exit(0);
     }
@@ -891,10 +843,10 @@ int main(int argc, char const **argv)
     if (! pid_17) {
       int tmp_56;
       int tmp_57;
-      tmp_56 = __gen_e_acsl_strncmp((char const *)dl,(char const *)dr,
-                                    (unsigned long)4);
-      tmp_57 = __gen_e_acsl_strncmp((char const *)dl,(char const *)dr,
-                                    (unsigned long)4);
+      tmp_56 = __e_acsl_builtin_strncmp((char const *)dl,(char const *)dr,
+                                        (unsigned long)4);
+      tmp_57 = __e_acsl_builtin_strncmp((char const *)dl,(char const *)dr,
+                                        (unsigned long)4);
       fail_ncomp(tmp_57 == 0,(char *)__gen_e_acsl_literal_string_24,tmp_56,0);
       __gen_e_acsl_exit(0);
     }
@@ -913,10 +865,10 @@ int main(int argc, char const **argv)
     if (! pid_18) {
       int tmp_59;
       int tmp_60;
-      tmp_59 = __gen_e_acsl_strncmp((char const *)dl,(char const *)dr,
-                                    (unsigned long)4);
-      tmp_60 = __gen_e_acsl_strncmp((char const *)dl,(char const *)dr,
-                                    (unsigned long)4);
+      tmp_59 = __e_acsl_builtin_strncmp((char const *)dl,(char const *)dr,
+                                        (unsigned long)4);
+      tmp_60 = __e_acsl_builtin_strncmp((char const *)dl,(char const *)dr,
+                                        (unsigned long)4);
       fail_ncomp(tmp_60 == 0,(char *)__gen_e_acsl_literal_string_24,tmp_59,0);
       __gen_e_acsl_exit(0);
     }
@@ -931,8 +883,8 @@ int main(int argc, char const **argv)
   {
     pid_t pid_19 = __gen_e_acsl_fork();
     if (! pid_19) {
-      res = __gen_e_acsl_strncmp((char const *)(nal),(char const *)(nar),
-                                 (unsigned long)5);
+      res = __e_acsl_builtin_strncmp((char const *)(nal),(char const *)(nar),
+                                     (unsigned long)5);
       __gen_e_acsl_exit(0);
     }
     else {
@@ -948,8 +900,8 @@ int main(int argc, char const **argv)
   {
     pid_t pid_20 = __gen_e_acsl_fork();
     if (! pid_20) {
-      res = __gen_e_acsl_strncmp((char const *)(al),(char const *)(ar),
-                                 (unsigned long)5);
+      res = __e_acsl_builtin_strncmp((char const *)(al),(char const *)(ar),
+                                     (unsigned long)5);
       __gen_e_acsl_exit(0);
     }
     else {
@@ -963,8 +915,8 @@ int main(int argc, char const **argv)
   {
     pid_t pid_21 = __gen_e_acsl_fork();
     if (! pid_21) {
-      res = __gen_e_acsl_strncmp((char const *)dl,(char const *)dr,
-                                 (unsigned long)5);
+      res = __e_acsl_builtin_strncmp((char const *)dl,(char const *)dr,
+                                     (unsigned long)5);
       __gen_e_acsl_exit(0);
     }
     else {
@@ -980,8 +932,8 @@ int main(int argc, char const **argv)
   {
     pid_t pid_22 = __gen_e_acsl_fork();
     if (! pid_22) {
-      res = __gen_e_acsl_strncmp((char const *)dl,(char const *)dr,
-                                 (unsigned long)5);
+      res = __e_acsl_builtin_strncmp((char const *)dl,(char const *)dr,
+                                     (unsigned long)5);
       __gen_e_acsl_exit(0);
     }
     else {
diff --git a/src/plugins/e-acsl/tests/builtin/oracle_ci/gen_strcpy.c b/src/plugins/e-acsl/tests/builtin/oracle_ci/gen_strcpy.c
index 93d63197ed80be0e7170a58068a95c2d46d23744..3642669d9d345e9377703f99c1c579c008fc728e 100644
--- a/src/plugins/e-acsl/tests/builtin/oracle_ci/gen_strcpy.c
+++ b/src/plugins/e-acsl/tests/builtin/oracle_ci/gen_strcpy.c
@@ -70,42 +70,6 @@ pid_t __gen_e_acsl_waitpid(pid_t pid, int *stat_loc, int options);
  */
 pid_t __gen_e_acsl_fork(void);
 
-/*@ requires valid_string_src: valid_read_string(src);
-    requires room_string: \valid(dest + (0 .. strlen(src)));
-    requires
-      separation:
-        \separated(dest + (0 .. strlen(src)), src + (0 .. strlen(src)));
-    ensures equal_contents: strcmp(\old(dest), \old(src)) ≡ 0;
-    ensures result_ptr: \result ≡ \old(dest);
-    assigns *(dest + (0 .. strlen{Old}(src))), \result;
-    assigns *(dest + (0 .. strlen{Old}(src)))
-      \from *(src + (0 .. strlen{Old}(src)));
-    assigns \result \from dest;
- */
-char *__gen_e_acsl_strcpy(char * restrict dest, char const * restrict src);
-
-/*@ requires valid_nstring_src: valid_read_nstring(src, n);
-    requires room_nstring: \valid(dest + (0 .. n - 1));
-    requires separation: \separated(dest + (0 .. n - 1), src + (0 .. n - 1));
-    ensures result_ptr: \result ≡ \old(dest);
-    ensures initialization: \initialized(\old(dest) + (0 .. \old(n) - 1));
-    assigns *(dest + (0 .. n - 1)), \result;
-    assigns *(dest + (0 .. n - 1)) \from *(src + (0 .. n - 1));
-    assigns \result \from dest;
-    
-    behavior complete:
-      assumes src_fits: strlen(src) < n;
-      ensures equal_after_copy: strcmp(\old(dest), \old(src)) ≡ 0;
-    
-    behavior partial:
-      assumes src_too_long: n ≤ strlen(src);
-      ensures
-        equal_prefix:
-          memcmp{Post, Post}(\old(dest), \old(src), \old(n)) ≡ 0;
- */
-char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src,
-                           size_t n);
-
 /*@ requires valid_string_s: valid_read_string(s);
     assigns \result;
     assigns \result
@@ -164,7 +128,6 @@ char *__gen_e_acsl_strdup(char const *s)
 {
   __e_acsl_contract_t *__gen_e_acsl_contract;
   char *__retres;
-  __e_acsl_store_block((void *)(& __retres),(size_t)8);
   __gen_e_acsl_contract = __e_acsl_contract_init((size_t)2);
   __retres = strdup(s);
   {
@@ -177,226 +140,10 @@ char *__gen_e_acsl_strdup(char const *s)
                                                     "FRAMAC_SHARE/libc/string.h",
                                                     485);
     __e_acsl_contract_clean(__gen_e_acsl_contract);
-    __e_acsl_delete_block((void *)(& __retres));
     return __retres;
   }
 }
 
-/*@ requires valid_nstring_src: valid_read_nstring(src, n);
-    requires room_nstring: \valid(dest + (0 .. n - 1));
-    requires separation: \separated(dest + (0 .. n - 1), src + (0 .. n - 1));
-    ensures result_ptr: \result ≡ \old(dest);
-    ensures initialization: \initialized(\old(dest) + (0 .. \old(n) - 1));
-    assigns *(dest + (0 .. n - 1)), \result;
-    assigns *(dest + (0 .. n - 1)) \from *(src + (0 .. n - 1));
-    assigns \result \from dest;
-    
-    behavior complete:
-      assumes src_fits: strlen(src) < n;
-      ensures equal_after_copy: strcmp(\old(dest), \old(src)) ≡ 0;
-    
-    behavior partial:
-      assumes src_too_long: n ≤ strlen(src);
-      ensures
-        equal_prefix:
-          memcmp{Post, Post}(\old(dest), \old(src), \old(n)) ≡ 0;
- */
-char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src,
-                           size_t n)
-{
-  __e_acsl_mpz_t __gen_e_acsl_at_3;
-  char *__gen_e_acsl_at_2;
-  char *__gen_e_acsl_at;
-  __e_acsl_contract_t *__gen_e_acsl_contract;
-  char *__retres;
-  {
-    unsigned long __gen_e_acsl_size;
-    __e_acsl_mpz_t __gen_e_acsl_n;
-    __e_acsl_mpz_t __gen_e_acsl_;
-    __e_acsl_mpz_t __gen_e_acsl_sub;
-    __e_acsl_mpz_t __gen_e_acsl__2;
-    __e_acsl_mpz_t __gen_e_acsl_sub_2;
-    __e_acsl_mpz_t __gen_e_acsl_add;
-    unsigned long __gen_e_acsl__3;
-    unsigned long __gen_e_acsl_if;
-    int __gen_e_acsl_valid;
-    unsigned long __gen_e_acsl_size_2;
-    unsigned long __gen_e_acsl__4;
-    unsigned long __gen_e_acsl_if_2;
-    int __gen_e_acsl_valid_read;
-    unsigned long __gen_e_acsl_size_3;
-    unsigned long __gen_e_acsl__5;
-    unsigned long __gen_e_acsl_if_3;
-    int __gen_e_acsl_valid_read_2;
-    unsigned long __gen_e_acsl_size_4;
-    unsigned long __gen_e_acsl__6;
-    unsigned long __gen_e_acsl_if_4;
-    unsigned long __gen_e_acsl_size_5;
-    unsigned long __gen_e_acsl__7;
-    unsigned long __gen_e_acsl_if_5;
-    int __gen_e_acsl_separated;
-    __e_acsl_store_block((void *)(& src),(size_t)8);
-    __e_acsl_store_block((void *)(& dest),(size_t)8);
-    __gen_e_acsl_contract = __e_acsl_contract_init((size_t)2);
-    __gmpz_init_set_ui(__gen_e_acsl_n,n);
-    __gmpz_init_set_si(__gen_e_acsl_,1L);
-    __gmpz_init(__gen_e_acsl_sub);
-    __gmpz_sub(__gen_e_acsl_sub,
-               (__e_acsl_mpz_struct const *)(__gen_e_acsl_n),
-               (__e_acsl_mpz_struct const *)(__gen_e_acsl_));
-    __gmpz_init_set_si(__gen_e_acsl__2,0L);
-    __gmpz_init(__gen_e_acsl_sub_2);
-    __gmpz_sub(__gen_e_acsl_sub_2,
-               (__e_acsl_mpz_struct const *)(__gen_e_acsl_sub),
-               (__e_acsl_mpz_struct const *)(__gen_e_acsl__2));
-    __gmpz_init(__gen_e_acsl_add);
-    __gmpz_add(__gen_e_acsl_add,
-               (__e_acsl_mpz_struct const *)(__gen_e_acsl_sub_2),
-               (__e_acsl_mpz_struct const *)(__gen_e_acsl_));
-    __gen_e_acsl__3 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_add));
-    __gen_e_acsl_size = 1UL * __gen_e_acsl__3;
-    if (__gen_e_acsl_size <= 0UL) __gen_e_acsl_if = 0UL;
-    else __gen_e_acsl_if = __gen_e_acsl_size;
-    __gen_e_acsl_valid = __e_acsl_valid((void *)(dest + 1 * 0),
-                                        __gen_e_acsl_if,(void *)dest,
-                                        (void *)(& dest));
-    __e_acsl_assert(__gen_e_acsl_valid,1,"Precondition","strncpy",
-                    "room_nstring: \\valid(dest + (0 .. n - 1))",
-                    "FRAMAC_SHARE/libc/string.h",367);
-    __gen_e_acsl__4 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_add));
-    __gen_e_acsl_size_2 = 1UL * __gen_e_acsl__4;
-    if (__gen_e_acsl_size_2 <= 0UL) __gen_e_acsl_if_2 = 0UL;
-    else __gen_e_acsl_if_2 = __gen_e_acsl_size_2;
-    __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)(dest + 1 * 0),
-                                                  __gen_e_acsl_if_2,
-                                                  (void *)dest,
-                                                  (void *)(& dest));
-    /*@ assert E_ACSL: separated_guard: \valid_read(dest + (0 .. n - 1)); */
-    __e_acsl_assert(__gen_e_acsl_valid_read,1,"RTE","strncpy",
-                    "separated_guard: \\valid_read(dest + (0 .. n - 1))",
-                    "FRAMAC_SHARE/libc/string.h",369);
-    __gen_e_acsl__5 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_add));
-    __gen_e_acsl_size_3 = 1UL * __gen_e_acsl__5;
-    if (__gen_e_acsl_size_3 <= 0UL) __gen_e_acsl_if_3 = 0UL;
-    else __gen_e_acsl_if_3 = __gen_e_acsl_size_3;
-    __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)(src + 1 * 0),
-                                                    __gen_e_acsl_if_3,
-                                                    (void *)src,
-                                                    (void *)(& src));
-    /*@ assert E_ACSL: separated_guard: \valid_read(src + (0 .. n - 1)); */
-    __e_acsl_assert(__gen_e_acsl_valid_read_2,1,"RTE","strncpy",
-                    "separated_guard: \\valid_read(src + (0 .. n - 1))",
-                    "FRAMAC_SHARE/libc/string.h",369);
-    __gen_e_acsl__6 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_add));
-    __gen_e_acsl_size_4 = 1UL * __gen_e_acsl__6;
-    if (__gen_e_acsl_size_4 <= 0UL) __gen_e_acsl_if_4 = 0UL;
-    else __gen_e_acsl_if_4 = __gen_e_acsl_size_4;
-    __gen_e_acsl__7 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_add));
-    __gen_e_acsl_size_5 = 1UL * __gen_e_acsl__7;
-    if (__gen_e_acsl_size_5 <= 0UL) __gen_e_acsl_if_5 = 0UL;
-    else __gen_e_acsl_if_5 = __gen_e_acsl_size_5;
-    __gen_e_acsl_separated = __e_acsl_separated((size_t)2,dest + 1 * 0,
-                                                __gen_e_acsl_if_4,
-                                                src + 1 * 0,
-                                                __gen_e_acsl_if_5);
-    __e_acsl_assert(__gen_e_acsl_separated,1,"Precondition","strncpy",
-                    "separation: \\separated(dest + (0 .. n - 1), src + (0 .. n - 1))",
-                    "FRAMAC_SHARE/libc/string.h",369);
-    __gmpz_clear(__gen_e_acsl_n);
-    __gmpz_clear(__gen_e_acsl_);
-    __gmpz_clear(__gen_e_acsl_sub);
-    __gmpz_clear(__gen_e_acsl__2);
-    __gmpz_clear(__gen_e_acsl_sub_2);
-    __gmpz_clear(__gen_e_acsl_add);
-  }
-  {
-    __e_acsl_mpz_t __gen_e_acsl_n_2;
-    __gmpz_init_set_ui(__gen_e_acsl_n_2,n);
-    __gmpz_init_set(__gen_e_acsl_at_3,
-                    (__e_acsl_mpz_struct const *)(__gen_e_acsl_n_2));
-    __gmpz_clear(__gen_e_acsl_n_2);
-  }
-  __gen_e_acsl_at_2 = dest;
-  __gen_e_acsl_at = dest;
-  __retres = __e_acsl_builtin_strncpy(dest,src,n);
-  {
-    unsigned long __gen_e_acsl_size_6;
-    __e_acsl_mpz_t __gen_e_acsl__8;
-    __e_acsl_mpz_t __gen_e_acsl_sub_3;
-    __e_acsl_mpz_t __gen_e_acsl__9;
-    __e_acsl_mpz_t __gen_e_acsl_sub_4;
-    __e_acsl_mpz_t __gen_e_acsl_add_2;
-    unsigned long __gen_e_acsl__10;
-    unsigned long __gen_e_acsl_if_6;
-    int __gen_e_acsl_initialized;
-    __e_acsl_assert(__retres == __gen_e_acsl_at,1,"Postcondition","strncpy",
-                    "result_ptr: \\result == \\old(dest)",
-                    "FRAMAC_SHARE/libc/string.h",372);
-    __gmpz_init_set_si(__gen_e_acsl__8,1L);
-    __gmpz_init(__gen_e_acsl_sub_3);
-    __gmpz_sub(__gen_e_acsl_sub_3,
-               (__e_acsl_mpz_struct const *)(__gen_e_acsl_at_3),
-               (__e_acsl_mpz_struct const *)(__gen_e_acsl__8));
-    __gmpz_init_set_si(__gen_e_acsl__9,0L);
-    __gmpz_init(__gen_e_acsl_sub_4);
-    __gmpz_sub(__gen_e_acsl_sub_4,
-               (__e_acsl_mpz_struct const *)(__gen_e_acsl_sub_3),
-               (__e_acsl_mpz_struct const *)(__gen_e_acsl__9));
-    __gmpz_init(__gen_e_acsl_add_2);
-    __gmpz_add(__gen_e_acsl_add_2,
-               (__e_acsl_mpz_struct const *)(__gen_e_acsl_sub_4),
-               (__e_acsl_mpz_struct const *)(__gen_e_acsl__8));
-    __gen_e_acsl__10 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_add_2));
-    __gen_e_acsl_size_6 = 1UL * __gen_e_acsl__10;
-    if (__gen_e_acsl_size_6 <= 0UL) __gen_e_acsl_if_6 = 0UL;
-    else __gen_e_acsl_if_6 = __gen_e_acsl_size_6;
-    __gen_e_acsl_initialized = __e_acsl_initialized((void *)(__gen_e_acsl_at_2 + 
-                                                             1 * 0),
-                                                    __gen_e_acsl_if_6);
-    __e_acsl_assert(__gen_e_acsl_initialized,1,"Postcondition","strncpy",
-                    "initialization: \\initialized(\\old(dest) + (0 .. \\old(n) - 1))",
-                    "FRAMAC_SHARE/libc/string.h",373);
-    __e_acsl_contract_clean(__gen_e_acsl_contract);
-    __e_acsl_delete_block((void *)(& src));
-    __e_acsl_delete_block((void *)(& dest));
-    __gmpz_clear(__gen_e_acsl__8);
-    __gmpz_clear(__gen_e_acsl_sub_3);
-    __gmpz_clear(__gen_e_acsl__9);
-    __gmpz_clear(__gen_e_acsl_sub_4);
-    __gmpz_clear(__gen_e_acsl_add_2);
-    __gmpz_clear(__gen_e_acsl_at_3);
-    return __retres;
-  }
-}
-
-/*@ requires valid_string_src: valid_read_string(src);
-    requires room_string: \valid(dest + (0 .. strlen(src)));
-    requires
-      separation:
-        \separated(dest + (0 .. strlen(src)), src + (0 .. strlen(src)));
-    ensures equal_contents: strcmp(\old(dest), \old(src)) ≡ 0;
-    ensures result_ptr: \result ≡ \old(dest);
-    assigns *(dest + (0 .. strlen{Old}(src))), \result;
-    assigns *(dest + (0 .. strlen{Old}(src)))
-      \from *(src + (0 .. strlen{Old}(src)));
-    assigns \result \from dest;
- */
-char *__gen_e_acsl_strcpy(char * restrict dest, char const * restrict src)
-{
-  char *__gen_e_acsl_at;
-  char *__retres;
-  __e_acsl_store_block((void *)(& src),(size_t)8);
-  __e_acsl_store_block((void *)(& dest),(size_t)8);
-  __gen_e_acsl_at = dest;
-  __retres = __e_acsl_builtin_strcpy(dest,src);
-  __e_acsl_assert(__retres == __gen_e_acsl_at,1,"Postcondition","strcpy",
-                  "result_ptr: \\result == \\old(dest)",
-                  "FRAMAC_SHARE/libc/string.h",361);
-  __e_acsl_delete_block((void *)(& src));
-  __e_acsl_delete_block((void *)(& dest));
-  return __retres;
-}
-
 /*@ ensures
       result_ok_child_or_error:
         \result ≡ 0 ∨ \result > 0 ∨ \result ≡ -1;
@@ -642,34 +389,20 @@ int main(int argc, char const **argv)
   __e_acsl_memory_init(& argc,(char ***)(& argv),(size_t)8);
   __e_acsl_globals_init();
   char empty_str[1] = {(char)'\000'};
-  __e_acsl_store_block((void *)(empty_str),(size_t)1);
-  __e_acsl_full_init((void *)(& empty_str));
   char *const_str = (char *)__gen_e_acsl_literal_string_6;
-  __e_acsl_store_block((void *)(& const_str),(size_t)8);
-  __e_acsl_full_init((void *)(& const_str));
   char *src = __gen_e_acsl_strdup(__gen_e_acsl_literal_string_6);
-  __e_acsl_store_block((void *)(& src),(size_t)8);
-  __e_acsl_full_init((void *)(& src));
   char *dest1 = malloc((unsigned long)5);
-  __e_acsl_store_block((void *)(& dest1),(size_t)8);
-  __e_acsl_full_init((void *)(& dest1));
   char *dest2 = malloc((unsigned long)4);
-  __e_acsl_store_block((void *)(& dest2),(size_t)8);
-  __e_acsl_full_init((void *)(& dest2));
   char dest3[256] =
     {(char)'a', (char)'b', (char)'c', (char)'d', (char)'\000'};
-  __e_acsl_store_block((void *)(dest3),(size_t)256);
-  __e_acsl_full_init((void *)(& dest3));
   size_t len = (unsigned long)0;
   char *unalloc_str = malloc((unsigned long)5);
-  __e_acsl_store_block((void *)(& unalloc_str),(size_t)8);
-  __e_acsl_full_init((void *)(& unalloc_str));
   char *_barrier = malloc((unsigned long)1);
   free((void *)unalloc_str);
   {
     pid_t pid = __gen_e_acsl_fork();
     if (! pid) {
-      __gen_e_acsl_strcpy(dest1,(char const *)src);
+      __e_acsl_builtin_strcpy(dest1,(char const *)src);
       __gen_e_acsl_exit(0);
     }
     else {
@@ -683,7 +416,7 @@ int main(int argc, char const **argv)
   {
     pid_t pid_0 = __gen_e_acsl_fork();
     if (! pid_0) {
-      __gen_e_acsl_strcpy(empty_str,__gen_e_acsl_literal_string_8);
+      __e_acsl_builtin_strcpy(empty_str,__gen_e_acsl_literal_string_8);
       __gen_e_acsl_exit(0);
     }
     else {
@@ -697,7 +430,7 @@ int main(int argc, char const **argv)
   {
     pid_t pid_1 = __gen_e_acsl_fork();
     if (! pid_1) {
-      __gen_e_acsl_strcpy(dest2,(char const *)src);
+      __e_acsl_builtin_strcpy(dest2,(char const *)src);
       __gen_e_acsl_exit(0);
     }
     else {
@@ -711,7 +444,7 @@ int main(int argc, char const **argv)
   {
     pid_t pid_2 = __gen_e_acsl_fork();
     if (! pid_2) {
-      __gen_e_acsl_strcpy(unalloc_str,(char const *)src);
+      __e_acsl_builtin_strcpy(unalloc_str,(char const *)src);
       __gen_e_acsl_exit(0);
     }
     else {
@@ -725,7 +458,7 @@ int main(int argc, char const **argv)
   {
     pid_t pid_3 = __gen_e_acsl_fork();
     if (! pid_3) {
-      __gen_e_acsl_strcpy(const_str,(char const *)src);
+      __e_acsl_builtin_strcpy(const_str,(char const *)src);
       __gen_e_acsl_exit(0);
     }
     else {
@@ -739,7 +472,7 @@ int main(int argc, char const **argv)
   {
     pid_t pid_4 = __gen_e_acsl_fork();
     if (! pid_4) {
-      __gen_e_acsl_strcpy(src,(char const *)const_str);
+      __e_acsl_builtin_strcpy(src,(char const *)const_str);
       __gen_e_acsl_exit(0);
     }
     else {
@@ -753,7 +486,7 @@ int main(int argc, char const **argv)
   {
     pid_t pid_5 = __gen_e_acsl_fork();
     if (! pid_5) {
-      __gen_e_acsl_strcpy(src,(char const *)src);
+      __e_acsl_builtin_strcpy(src,(char const *)src);
       __gen_e_acsl_exit(0);
     }
     else {
@@ -767,7 +500,7 @@ int main(int argc, char const **argv)
   {
     pid_t pid_6 = __gen_e_acsl_fork();
     if (! pid_6) {
-      __gen_e_acsl_strcpy(& dest3[5],(char const *)(dest3));
+      __e_acsl_builtin_strcpy(& dest3[5],(char const *)(dest3));
       __gen_e_acsl_exit(0);
     }
     else {
@@ -781,7 +514,7 @@ int main(int argc, char const **argv)
   {
     pid_t pid_7 = __gen_e_acsl_fork();
     if (! pid_7) {
-      __gen_e_acsl_strcpy(& dest3[4],(char const *)(dest3));
+      __e_acsl_builtin_strcpy(& dest3[4],(char const *)(dest3));
       __gen_e_acsl_exit(0);
     }
     else {
@@ -795,7 +528,7 @@ int main(int argc, char const **argv)
   {
     pid_t pid_8 = __gen_e_acsl_fork();
     if (! pid_8) {
-      __gen_e_acsl_strncpy(dest1,(char const *)src,(unsigned long)5);
+      __e_acsl_builtin_strncpy(dest1,(char const *)src,(unsigned long)5);
       __gen_e_acsl_exit(0);
     }
     else {
@@ -809,7 +542,7 @@ int main(int argc, char const **argv)
   {
     pid_t pid_9 = __gen_e_acsl_fork();
     if (! pid_9) {
-      __gen_e_acsl_strncpy(dest1,(char const *)src,(unsigned long)6);
+      __e_acsl_builtin_strncpy(dest1,(char const *)src,(unsigned long)6);
       __gen_e_acsl_exit(0);
     }
     else {
@@ -823,7 +556,8 @@ int main(int argc, char const **argv)
   {
     pid_t pid_10 = __gen_e_acsl_fork();
     if (! pid_10) {
-      __gen_e_acsl_strncpy(unalloc_str,(char const *)src,(unsigned long)5);
+      __e_acsl_builtin_strncpy(unalloc_str,(char const *)src,
+                               (unsigned long)5);
       __gen_e_acsl_exit(0);
     }
     else {
@@ -837,7 +571,7 @@ int main(int argc, char const **argv)
   {
     pid_t pid_11 = __gen_e_acsl_fork();
     if (! pid_11) {
-      __gen_e_acsl_strncpy(const_str,(char const *)src,(unsigned long)5);
+      __e_acsl_builtin_strncpy(const_str,(char const *)src,(unsigned long)5);
       __gen_e_acsl_exit(0);
     }
     else {
@@ -851,7 +585,7 @@ int main(int argc, char const **argv)
   {
     pid_t pid_12 = __gen_e_acsl_fork();
     if (! pid_12) {
-      __gen_e_acsl_strncpy(src,(char const *)const_str,(unsigned long)5);
+      __e_acsl_builtin_strncpy(src,(char const *)const_str,(unsigned long)5);
       __gen_e_acsl_exit(0);
     }
     else {
@@ -865,7 +599,7 @@ int main(int argc, char const **argv)
   {
     pid_t pid_13 = __gen_e_acsl_fork();
     if (! pid_13) {
-      __gen_e_acsl_strncpy(src,(char const *)src,(unsigned long)5);
+      __e_acsl_builtin_strncpy(src,(char const *)src,(unsigned long)5);
       __gen_e_acsl_exit(0);
     }
     else {
@@ -879,7 +613,8 @@ int main(int argc, char const **argv)
   {
     pid_t pid_14 = __gen_e_acsl_fork();
     if (! pid_14) {
-      __gen_e_acsl_strncpy(& dest3[5],(char const *)(dest3),(unsigned long)5);
+      __e_acsl_builtin_strncpy(& dest3[5],(char const *)(dest3),
+                               (unsigned long)5);
       __gen_e_acsl_exit(0);
     }
     else {
@@ -893,7 +628,8 @@ int main(int argc, char const **argv)
   {
     pid_t pid_15 = __gen_e_acsl_fork();
     if (! pid_15) {
-      __gen_e_acsl_strncpy(& dest3[4],(char const *)(dest3),(unsigned long)5);
+      __e_acsl_builtin_strncpy(& dest3[4],(char const *)(dest3),
+                               (unsigned long)5);
       __gen_e_acsl_exit(0);
     }
     else {
@@ -908,13 +644,6 @@ int main(int argc, char const **argv)
   free((void *)dest1);
   free((void *)dest2);
   __retres = 0;
-  __e_acsl_delete_block((void *)(& unalloc_str));
-  __e_acsl_delete_block((void *)(dest3));
-  __e_acsl_delete_block((void *)(& dest2));
-  __e_acsl_delete_block((void *)(& dest1));
-  __e_acsl_delete_block((void *)(& src));
-  __e_acsl_delete_block((void *)(& const_str));
-  __e_acsl_delete_block((void *)(empty_str));
   __e_acsl_memory_clean();
   return __retres;
 }
diff --git a/src/plugins/e-acsl/tests/builtin/oracle_ci/gen_strlen.c b/src/plugins/e-acsl/tests/builtin/oracle_ci/gen_strlen.c
index c41b52a79621e44ffd8faabe1a653779c03485f0..61f84cad5685515b4827dd8036335a21b4161a11 100644
--- a/src/plugins/e-acsl/tests/builtin/oracle_ci/gen_strlen.c
+++ b/src/plugins/e-acsl/tests/builtin/oracle_ci/gen_strlen.c
@@ -68,13 +68,6 @@ pid_t __gen_e_acsl_waitpid(pid_t pid, int *stat_loc, int options);
  */
 pid_t __gen_e_acsl_fork(void);
 
-/*@ requires valid_string_s: valid_read_string(s);
-    ensures acsl_c_equiv: \result ≡ strlen(\old(s));
-    assigns \result;
-    assigns \result \from (indirect: *(s + (0 ..)));
- */
-size_t __gen_e_acsl_strlen(char const *s);
-
 /*@ requires valid_string_s: valid_read_string(s);
     assigns \result;
     assigns \result
@@ -149,18 +142,6 @@ char *__gen_e_acsl_strdup(char const *s)
   }
 }
 
-/*@ requires valid_string_s: valid_read_string(s);
-    ensures acsl_c_equiv: \result ≡ strlen(\old(s));
-    assigns \result;
-    assigns \result \from (indirect: *(s + (0 ..)));
- */
-size_t __gen_e_acsl_strlen(char const *s)
-{
-  size_t __retres;
-  __retres = __e_acsl_builtin_strlen(s);
-  return __retres;
-}
-
 /*@ ensures
       result_ok_child_or_error:
         \result ≡ 0 ∨ \result > 0 ∨ \result ≡ -1;
@@ -390,7 +371,7 @@ int main(int argc, char const **argv)
     pid_t pid = __gen_e_acsl_fork();
     if (! pid) {
       size_t tmp_1;
-      tmp_1 = __gen_e_acsl_strlen((char const *)empty_str);
+      tmp_1 = __e_acsl_builtin_strlen((char const *)empty_str);
       len = tmp_1 != (size_t)0;
       if (len) __gen_e_acsl_abort();
       __gen_e_acsl_exit(0);
@@ -407,7 +388,7 @@ int main(int argc, char const **argv)
     pid_t pid_0 = __gen_e_acsl_fork();
     if (! pid_0) {
       size_t tmp_3;
-      tmp_3 = __gen_e_acsl_strlen((char const *)heap_str);
+      tmp_3 = __e_acsl_builtin_strlen((char const *)heap_str);
       len = tmp_3 != (size_t)7;
       if (len) __gen_e_acsl_abort();
       __gen_e_acsl_exit(0);
@@ -424,7 +405,7 @@ int main(int argc, char const **argv)
     pid_t pid_1 = __gen_e_acsl_fork();
     if (! pid_1) {
       size_t tmp_5;
-      tmp_5 = __gen_e_acsl_strlen((char const *)(stack_str));
+      tmp_5 = __e_acsl_builtin_strlen((char const *)(stack_str));
       len = tmp_5 != (size_t)7;
       if (len) __gen_e_acsl_abort();
       __gen_e_acsl_exit(0);
@@ -441,7 +422,7 @@ int main(int argc, char const **argv)
     pid_t pid_2 = __gen_e_acsl_fork();
     if (! pid_2) {
       size_t tmp_7;
-      tmp_7 = __gen_e_acsl_strlen((char const *)const_str);
+      tmp_7 = __e_acsl_builtin_strlen((char const *)const_str);
       len = tmp_7 != (size_t)7;
       if (len) __gen_e_acsl_abort();
       __gen_e_acsl_exit(0);
@@ -460,7 +441,7 @@ int main(int argc, char const **argv)
     pid_t pid_3 = __gen_e_acsl_fork();
     if (! pid_3) {
       size_t tmp_9;
-      tmp_9 = __gen_e_acsl_strlen((char const *)heap_str);
+      tmp_9 = __e_acsl_builtin_strlen((char const *)heap_str);
       len = tmp_9 != (size_t)7;
       if (len) __gen_e_acsl_abort();
       __gen_e_acsl_exit(0);
@@ -477,7 +458,7 @@ int main(int argc, char const **argv)
     pid_t pid_4 = __gen_e_acsl_fork();
     if (! pid_4) {
       size_t tmp_11;
-      tmp_11 = __gen_e_acsl_strlen((char const *)(stack_str));
+      tmp_11 = __e_acsl_builtin_strlen((char const *)(stack_str));
       len = tmp_11 != (size_t)7;
       if (len) __gen_e_acsl_abort();
       __gen_e_acsl_exit(0);
@@ -495,7 +476,7 @@ int main(int argc, char const **argv)
     pid_t pid_5 = __gen_e_acsl_fork();
     if (! pid_5) {
       size_t tmp_13;
-      tmp_13 = __gen_e_acsl_strlen((char const *)heap_str);
+      tmp_13 = __e_acsl_builtin_strlen((char const *)heap_str);
       len = tmp_13 != (size_t)7;
       if (len) __gen_e_acsl_abort();
       __gen_e_acsl_exit(0);
diff --git a/src/plugins/e-acsl/tests/builtin/oracle_ci/strcat.res.oracle b/src/plugins/e-acsl/tests/builtin/oracle_ci/strcat.res.oracle
index c671cb08c98861ff4f19e9bb3975242b6eadd4c7..cf30aa9d16ac57ed095e1a94371f345ed07b6467 100644
--- a/src/plugins/e-acsl/tests/builtin/oracle_ci/strcat.res.oracle
+++ b/src/plugins/e-acsl/tests/builtin/oracle_ci/strcat.res.oracle
@@ -8,79 +8,6 @@
 [e-acsl] Warning: annotating undefined function `fork':
   the generated program may miss memory instrumentation
   if there are memory-related annotations.
-[e-acsl] Warning: annotating undefined function `strcat':
-  the generated program may miss memory instrumentation
-  if there are memory-related annotations.
-[e-acsl] Warning: annotating undefined function `strncat':
-  the generated program may miss memory instrumentation
-  if there are memory-related annotations.
-[e-acsl] FRAMAC_SHARE/libc/string.h:432: Warning: 
-  E-ACSL construct `logic functions performing read accesses'
-  is not yet supported.
-  Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:440: Warning: 
-  E-ACSL construct `logic functions performing read accesses'
-  is not yet supported.
-  Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:426: Warning: 
-  E-ACSL construct `logic functions with labels' is not yet supported.
-  Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:427: Warning: 
-  E-ACSL construct `logic functions with labels' is not yet supported.
-  Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:433: Warning: 
-  E-ACSL construct `logic functions performing read accesses'
-  is not yet supported.
-  Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:441: Warning: 
-  E-ACSL construct `logic functions performing read accesses'
-  is not yet supported.
-  Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:425: Warning: 
-  Some assumes clauses could not be translated.
-  Ignoring complete and disjoint behaviors annotations.
-[e-acsl] FRAMAC_SHARE/libc/string.h:425: Warning: 
-  E-ACSL construct `assigns clause in behavior' is not yet supported.
-  Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:430: Warning: 
-  E-ACSL construct `assigns clause in behavior' is not yet supported.
-  Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:437: Warning: 
-  E-ACSL construct `logic functions performing read accesses'
-  is not yet supported.
-  Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:437: Warning: 
-  E-ACSL construct `assigns clause in behavior' is not yet supported.
-  Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:445: Warning: 
-  E-ACSL construct `logic functions performing read accesses'
-  is not yet supported.
-  Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:411: Warning: 
-  E-ACSL construct `logic functions with labels' is not yet supported.
-  Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:412: Warning: 
-  E-ACSL construct `logic functions with labels' is not yet supported.
-  Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:413: Warning: 
-  E-ACSL construct `logic functions performing read accesses'
-  is not yet supported.
-  Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:410: Warning: 
-  E-ACSL construct `assigns clause in behavior' is not yet supported.
-  Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:416: Warning: 
-  E-ACSL construct `logic functions performing read accesses'
-  is not yet supported.
-  Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:419: Warning: 
-  E-ACSL construct `logic functions performing read accesses'
-  is not yet supported.
-  Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:420: Warning: 
-  E-ACSL construct `logic functions performing read accesses'
-  is not yet supported.
-  Ignoring annotation.
 [e-acsl] FRAMAC_SHARE/libc/unistd.h:856: Warning: 
   E-ACSL construct `assigns clause in behavior' is not yet supported.
   Ignoring annotation.
@@ -102,5 +29,3 @@
   function __e_acsl_assert, behavior blocking: precondition got status unknown.
 [eva:alarm] FRAMAC_SHARE/libc/unistd.h:859: Warning: 
   function __gen_e_acsl_fork: postcondition 'result_ok_child_or_error' got status unknown.
-[eva:alarm] FRAMAC_SHARE/libc/string.h:416: Warning: 
-  function __gen_e_acsl_strcat: postcondition 'sum_of_lengths' got status unknown.
diff --git a/src/plugins/e-acsl/tests/builtin/oracle_ci/strcmp.res.oracle b/src/plugins/e-acsl/tests/builtin/oracle_ci/strcmp.res.oracle
index f6cbb2f80f2b420d8c1f639511a592fe4f85adec..0b3334f947372e5176288fef98afcaff4892b581 100644
--- a/src/plugins/e-acsl/tests/builtin/oracle_ci/strcmp.res.oracle
+++ b/src/plugins/e-acsl/tests/builtin/oracle_ci/strcmp.res.oracle
@@ -14,12 +14,6 @@
 [e-acsl] Warning: annotating undefined function `fork':
   the generated program may miss memory instrumentation
   if there are memory-related annotations.
-[e-acsl] Warning: annotating undefined function `strcmp':
-  the generated program may miss memory instrumentation
-  if there are memory-related annotations.
-[e-acsl] Warning: annotating undefined function `strncmp':
-  the generated program may miss memory instrumentation
-  if there are memory-related annotations.
 [e-acsl] Warning: annotating undefined function `strdup':
   the generated program may miss memory instrumentation
   if there are memory-related annotations.
@@ -49,32 +43,6 @@
 [e-acsl] FRAMAC_SHARE/libc/string.h:480: Warning: 
   E-ACSL construct `assigns clause in behavior' is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:147: Warning: 
-  E-ACSL construct `logic functions with labels' is not yet supported.
-  Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:148: Warning: 
-  E-ACSL construct `logic functions with labels' is not yet supported.
-  Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:147: Warning: 
-  E-ACSL construct `assigns clause in behavior' is not yet supported.
-  Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:150: Warning: 
-  E-ACSL construct `logic functions performing read accesses'
-  is not yet supported.
-  Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:140: Warning: 
-  E-ACSL construct `logic functions with labels' is not yet supported.
-  Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:141: Warning: 
-  E-ACSL construct `logic functions with labels' is not yet supported.
-  Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:140: Warning: 
-  E-ACSL construct `assigns clause in behavior' is not yet supported.
-  Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:143: Warning: 
-  E-ACSL construct `logic functions performing read accesses'
-  is not yet supported.
-  Ignoring annotation.
 [e-acsl] FRAMAC_SHARE/libc/unistd.h:856: Warning: 
   E-ACSL construct `assigns clause in behavior' is not yet supported.
   Ignoring annotation.
diff --git a/src/plugins/e-acsl/tests/builtin/oracle_ci/strcpy.res.oracle b/src/plugins/e-acsl/tests/builtin/oracle_ci/strcpy.res.oracle
index b36d6936026e912519fc77c972b7cbd084fb1fce..8825987199ec9197f0dde125be642354da7b9bfc 100644
--- a/src/plugins/e-acsl/tests/builtin/oracle_ci/strcpy.res.oracle
+++ b/src/plugins/e-acsl/tests/builtin/oracle_ci/strcpy.res.oracle
@@ -8,12 +8,6 @@
 [e-acsl] Warning: annotating undefined function `fork':
   the generated program may miss memory instrumentation
   if there are memory-related annotations.
-[e-acsl] Warning: annotating undefined function `strcpy':
-  the generated program may miss memory instrumentation
-  if there are memory-related annotations.
-[e-acsl] Warning: annotating undefined function `strncpy':
-  the generated program may miss memory instrumentation
-  if there are memory-related annotations.
 [e-acsl] Warning: annotating undefined function `strdup':
   the generated program may miss memory instrumentation
   if there are memory-related annotations.
@@ -43,49 +37,6 @@
 [e-acsl] FRAMAC_SHARE/libc/string.h:480: Warning: 
   E-ACSL construct `assigns clause in behavior' is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:375: Warning: 
-  E-ACSL construct `logic functions performing read accesses'
-  is not yet supported.
-  Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:378: Warning: 
-  E-ACSL construct `logic functions performing read accesses'
-  is not yet supported.
-  Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:366: Warning: 
-  E-ACSL construct `logic functions with labels' is not yet supported.
-  Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:365: Warning: 
-  Some assumes clauses could not be translated.
-  Ignoring complete and disjoint behaviors annotations.
-[e-acsl] FRAMAC_SHARE/libc/string.h:365: Warning: 
-  E-ACSL construct `assigns clause in behavior' is not yet supported.
-  Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:376: Warning: 
-  E-ACSL construct `logic functions performing read accesses'
-  is not yet supported.
-  Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:379: Warning: 
-  E-ACSL construct `logic functions performing read accesses'
-  is not yet supported.
-  Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:354: Warning: 
-  E-ACSL construct `logic functions with labels' is not yet supported.
-  Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:355: Warning: 
-  E-ACSL construct `logic functions performing read accesses'
-  is not yet supported.
-  Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:357: Warning: 
-  E-ACSL construct `logic functions performing read accesses'
-  is not yet supported.
-  Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:354: Warning: 
-  E-ACSL construct `assigns clause in behavior' is not yet supported.
-  Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:360: Warning: 
-  E-ACSL construct `logic functions performing read accesses'
-  is not yet supported.
-  Ignoring annotation.
 [e-acsl] FRAMAC_SHARE/libc/unistd.h:856: Warning: 
   E-ACSL construct `assigns clause in behavior' is not yet supported.
   Ignoring annotation.
diff --git a/src/plugins/e-acsl/tests/builtin/oracle_ci/strlen.res.oracle b/src/plugins/e-acsl/tests/builtin/oracle_ci/strlen.res.oracle
index b1dce3cca73734a26bbe419c6e8ebece8913c525..77c57316bb0d811d79a914934545aae5a9efa4cc 100644
--- a/src/plugins/e-acsl/tests/builtin/oracle_ci/strlen.res.oracle
+++ b/src/plugins/e-acsl/tests/builtin/oracle_ci/strlen.res.oracle
@@ -11,9 +11,6 @@
 [e-acsl] Warning: annotating undefined function `fork':
   the generated program may miss memory instrumentation
   if there are memory-related annotations.
-[e-acsl] Warning: annotating undefined function `strlen':
-  the generated program may miss memory instrumentation
-  if there are memory-related annotations.
 [e-acsl] Warning: annotating undefined function `strdup':
   the generated program may miss memory instrumentation
   if there are memory-related annotations.
@@ -43,16 +40,6 @@
 [e-acsl] FRAMAC_SHARE/libc/string.h:480: Warning: 
   E-ACSL construct `assigns clause in behavior' is not yet supported.
   Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:128: Warning: 
-  E-ACSL construct `logic functions with labels' is not yet supported.
-  Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:128: Warning: 
-  E-ACSL construct `assigns clause in behavior' is not yet supported.
-  Ignoring annotation.
-[e-acsl] FRAMAC_SHARE/libc/string.h:130: Warning: 
-  E-ACSL construct `logic functions performing read accesses'
-  is not yet supported.
-  Ignoring annotation.
 [e-acsl] FRAMAC_SHARE/libc/unistd.h:856: Warning: 
   E-ACSL construct `assigns clause in behavior' is not yet supported.
   Ignoring annotation.