diff --git a/src/plugins/e-acsl/doc/Changelog b/src/plugins/e-acsl/doc/Changelog
index 0fea8bfb71a79a2f880769b7dcd3505a7b13e49a..64146494153d5145a2364601c52ed3bb2589d03e 100644
--- a/src/plugins/e-acsl/doc/Changelog
+++ b/src/plugins/e-acsl/doc/Changelog
@@ -19,6 +19,7 @@
 #   configure	configure
 ###############################################################################
 
+-  E-ACSL       [2020/02/09] Improve verdict messages emitted by e_acsl_assert.
 -* E-ACSL       [2020/01/06] Fix typing bug in presence of variable-length
 	        arrays that may lead to incorrect generated code.
 -* E-ACSL       [2019/12/04] Fix bug with compiler built-ins.
diff --git a/src/plugins/e-acsl/share/e-acsl/e_acsl.h b/src/plugins/e-acsl/share/e-acsl/e_acsl.h
index 343e4dc188115a031e707b69c52bbfe7c503ce44..e046cc017a73b9471b1b28a5434c9d8127fb2d24 100644
--- a/src/plugins/e-acsl/share/e-acsl/e_acsl.h
+++ b/src/plugins/e-acsl/share/e-acsl/e_acsl.h
@@ -124,10 +124,12 @@
  *  \param kind  C string representing a kind an annotation (e.g., "Assertion")
  *  \param fct
  *  \param pred_txt  stringified predicate
+ *  \param file un-instrumented file of predicate placement
  *  \param line line of predicate placement in the un-instrumented file */
 /*@ requires pred != 0;
   @ assigns \nothing; */
-void assert(int pred, char *kind, char *fct, char *pred_txt, int line)
+void assert(int pred, const char *kind, const char *fct, const char *pred_txt,
+    const char * file, int line)
   __attribute__((FC_BUILTIN));
 /* }}} */
 
diff --git a/src/plugins/e-acsl/share/e-acsl/e_acsl_assert.h b/src/plugins/e-acsl/share/e-acsl/e_acsl_assert.h
index 6414027a6f4c4081215eda78de26a5c5da465f23..baadfa947816c29c000fd8b89bcb1c076a6843f8 100644
--- a/src/plugins/e-acsl/share/e-acsl/e_acsl_assert.h
+++ b/src/plugins/e-acsl/share/e-acsl/e_acsl_assert.h
@@ -105,11 +105,15 @@ int runtime_sound_verdict = 1;
 
 #ifndef E_ACSL_EXTERNAL_ASSERT
 /*! \brief Default implementation of E-ACSL runtime assertions */
-void runtime_assert(int predicate, char *kind, char *fct, char *pred_txt, int line) {
+void runtime_assert(int predicate, const char *kind, const char *fct,
+    const char *pred_txt, const char * file, int line) {
   if (runtime_sound_verdict) {
     if (! predicate) {
-      STDERR("%s failed at line %d (function %s).\n"
-             "The failing predicate is:\n%s.\n", kind, line, fct, pred_txt);
+      STDERR("%s: In function '%s'\n"
+             "%s:%d: Error: %s failed:\n"
+             "\tThe failing predicate is:\n"
+             "\t%s.\n",
+             file, fct, file, line, kind, pred_txt);
 #ifndef E_ACSL_NO_ASSERT_FAIL /* Do fail on assertions */
 #ifdef E_ACSL_FAIL_EXITCODE /* Fail by exit with a given code */
       exit(E_ACSL_FAIL_EXITCODE);
@@ -119,10 +123,11 @@ void runtime_assert(int predicate, char *kind, char *fct, char *pred_txt, int li
 #endif
     }
   } else
-    STDERR("warning: no sound verdict (guess: %s) at line %d "
-           "(function %s).\nThe considered predicate is:\n%s.\n",
-           predicate ? "ok" : "FAIL",
-           line, fct, pred_txt);
+    STDERR("%s: In function '%s'\n"
+           "%s:%d: Warning: no sound verdict for %s (guess: %s).\n"
+           "\tthe considered predicate is:\n"
+           "\t%s\n",
+           file, fct, file, line, kind, predicate ? "ok": "FAIL", pred_txt);
 }
 #endif
 
diff --git a/src/plugins/e-acsl/src/code_generator/constructor.ml b/src/plugins/e-acsl/src/code_generator/constructor.ml
index f644b57934783aa10f73b64eb379eedc37ca6abf..8146800bdab39eebbb0eed6cf4e3197db5a02fe4 100644
--- a/src/plugins/e-acsl/src/code_generator/constructor.ml
+++ b/src/plugins/e-acsl/src/code_generator/constructor.ml
@@ -158,6 +158,7 @@ let mk_runtime_check ?(reverse=false) kind kf e p =
     Kernel.Unicode.without_unicode
       (Format.asprintf "%a@?" Printer.pp_predicate) p
   in
+  let file = (fst loc).Filepath.pos_path in
   let line = (fst loc).Filepath.pos_lnum in
   let e =
     if reverse
@@ -170,6 +171,7 @@ let mk_runtime_check ?(reverse=false) kind kf e p =
       kind_to_string loc kind;
       Cil.mkString ~loc (Functions.RTL.get_original_name kf);
       Cil.mkString ~loc msg;
+      Cil.mkString ~loc (Filepath.Normalized.to_pretty_string file);
       Cil.integer loc line ]
 
 (*
diff --git a/src/plugins/e-acsl/tests/arith/oracle_ci/gen_arith.c b/src/plugins/e-acsl/tests/arith/oracle_ci/gen_arith.c
index ed2d4ca7206a10bea0e634ebaca9f4ea5340cd4c..9ae1f7c21ddc07f63bc7df4fb9bc58cd321fc08b 100644
--- a/src/plugins/e-acsl/tests/arith/oracle_ci/gen_arith.c
+++ b/src/plugins/e-acsl/tests/arith/oracle_ci/gen_arith.c
@@ -8,25 +8,25 @@ int main(void)
   int x = -3;
   int y = 2;
   long z = 2L;
-  __e_acsl_assert(-3 == x,(char *)"Assertion",(char *)"main",
-                  (char *)"-3 == x",10);
+  __e_acsl_assert(-3 == x,"Assertion","main","-3 == x","tests/arith/arith.i",
+                  10);
   /*@ assert -3 ≡ x; */ ;
-  __e_acsl_assert(x == -3,(char *)"Assertion",(char *)"main",
-                  (char *)"x == -3",11);
+  __e_acsl_assert(x == -3,"Assertion","main","x == -3","tests/arith/arith.i",
+                  11);
   /*@ assert x ≡ -3; */ ;
-  __e_acsl_assert(1,(char *)"Assertion",(char *)"main",(char *)"0 != ~0",12);
+  __e_acsl_assert(1,"Assertion","main","0 != ~0","tests/arith/arith.i",12);
   /*@ assert 0 ≢ ~0; */ ;
-  __e_acsl_assert(x + 1L == -2L,(char *)"Assertion",(char *)"main",
-                  (char *)"x + 1 == -2",14);
+  __e_acsl_assert(x + 1L == -2L,"Assertion","main","x + 1 == -2",
+                  "tests/arith/arith.i",14);
   /*@ assert x + 1 ≡ -2; */ ;
-  __e_acsl_assert(x - 1L == -4L,(char *)"Assertion",(char *)"main",
-                  (char *)"x - 1 == -4",15);
+  __e_acsl_assert(x - 1L == -4L,"Assertion","main","x - 1 == -4",
+                  "tests/arith/arith.i",15);
   /*@ assert x - 1 ≡ -4; */ ;
-  __e_acsl_assert(x * 3L == -9L,(char *)"Assertion",(char *)"main",
-                  (char *)"x * 3 == -9",16);
+  __e_acsl_assert(x * 3L == -9L,"Assertion","main","x * 3 == -9",
+                  "tests/arith/arith.i",16);
   /*@ assert x * 3 ≡ -9; */ ;
-  __e_acsl_assert(x / 3 == -1,(char *)"Assertion",(char *)"main",
-                  (char *)"x / 3 == -1",17);
+  __e_acsl_assert(x / 3 == -1,"Assertion","main","x / 3 == -1",
+                  "tests/arith/arith.i",17);
   /*@ assert x / 3 ≡ -1; */ ;
   {
     __e_acsl_mpz_t __gen_e_acsl_;
@@ -40,53 +40,53 @@ int main(void)
                                         (__e_acsl_mpz_struct const *)(__gen_e_acsl__2));
     __gmpz_init(__gen_e_acsl_div);
     /*@ assert E_ACSL: 0xffffffffffffffffffffff ≢ 0; */
-    __e_acsl_assert(! (__gen_e_acsl_div_guard == 0),(char *)"Assertion",
-                    (char *)"main",(char *)"0xffffffffffffffffffffff == 0",
-                    18);
+    __e_acsl_assert(! (__gen_e_acsl_div_guard == 0),"Assertion","main",
+                    "0xffffffffffffffffffffff == 0","tests/arith/arith.i",18);
     __gmpz_tdiv_q(__gen_e_acsl_div,
                   (__e_acsl_mpz_struct const *)(__gen_e_acsl_),
                   (__e_acsl_mpz_struct const *)(__gen_e_acsl_));
     __gen_e_acsl__3 = __gmpz_get_si((__e_acsl_mpz_struct const *)(__gen_e_acsl_div));
-    __e_acsl_assert(__gen_e_acsl__3 == 1L,(char *)"Assertion",(char *)"main",
-                    (char *)"0xffffffffffffffffffffff / 0xffffffffffffffffffffff == 1",
-                    18);
+    __e_acsl_assert(__gen_e_acsl__3 == 1L,"Assertion","main",
+                    "0xffffffffffffffffffffff / 0xffffffffffffffffffffff == 1",
+                    "tests/arith/arith.i",18);
     __gmpz_clear(__gen_e_acsl_);
     __gmpz_clear(__gen_e_acsl__2);
     __gmpz_clear(__gen_e_acsl_div);
   }
   /*@ assert 0xffffffffffffffffffffff / 0xffffffffffffffffffffff ≡ 1; */ ;
-  __e_acsl_assert(x % 2 == -1,(char *)"Assertion",(char *)"main",
-                  (char *)"x % 2 == -1",19);
+  __e_acsl_assert(x % 2 == -1,"Assertion","main","x % 2 == -1",
+                  "tests/arith/arith.i",19);
   /*@ assert x % 2 ≡ -1; */ ;
-  __e_acsl_assert(1,(char *)"Assertion",(char *)"main",
-                  (char *)"-3 % -2 == -1",20);
+  __e_acsl_assert(1,"Assertion","main","-3 % -2 == -1","tests/arith/arith.i",
+                  20);
   /*@ assert -3 % -2 ≡ -1; */ ;
-  __e_acsl_assert(1,(char *)"Assertion",(char *)"main",(char *)"3 % -2 == 1",
+  __e_acsl_assert(1,"Assertion","main","3 % -2 == 1","tests/arith/arith.i",
                   21);
   /*@ assert 3 % -2 ≡ 1; */ ;
   __e_acsl_assert(((x * 2L + (3L + y)) - 4L) + (x - (long)y) == -10L,
-                  (char *)"Assertion",(char *)"main",
-                  (char *)"((x * 2 + (3 + y)) - 4) + (x - y) == -10",23);
+                  "Assertion","main",
+                  "((x * 2 + (3 + y)) - 4) + (x - y) == -10",
+                  "tests/arith/arith.i",23);
   /*@ assert ((x * 2 + (3 + y)) - 4) + (x - y) ≡ -10; */ ;
-  __e_acsl_assert(1,(char *)"Assertion",(char *)"main",
-                  (char *)"(0 == 1) == !(0 == 0)",25);
+  __e_acsl_assert(1,"Assertion","main","(0 == 1) == !(0 == 0)",
+                  "tests/arith/arith.i",25);
   /*@ assert (0 ≡ 1) ≡ !(0 ≡ 0); */ ;
-  __e_acsl_assert(1,(char *)"Assertion",(char *)"main",
-                  (char *)"(0 <= -1) == (0 > 0)",26);
+  __e_acsl_assert(1,"Assertion","main","(0 <= -1) == (0 > 0)",
+                  "tests/arith/arith.i",26);
   /*@ assert (0 ≤ -1) ≡ (0 > 0); */ ;
-  __e_acsl_assert(1,(char *)"Assertion",(char *)"main",
-                  (char *)"(0 >= -1) == (0 <= 0)",27);
+  __e_acsl_assert(1,"Assertion","main","(0 >= -1) == (0 <= 0)",
+                  "tests/arith/arith.i",27);
   /*@ assert (0 ≥ -1) ≡ (0 ≤ 0); */ ;
-  __e_acsl_assert(1,(char *)"Assertion",(char *)"main",
-                  (char *)"(0 != 1) == !(0 != 0)",28);
+  __e_acsl_assert(1,"Assertion","main","(0 != 1) == !(0 != 0)",
+                  "tests/arith/arith.i",28);
   /*@ assert (0 ≢ 1) ≡ !(0 ≢ 0); */ ;
-  __e_acsl_assert(1,(char *)"Assertion",(char *)"main",
-                  (char *)"(0 != 0) == !(1 != 0)",30);
+  __e_acsl_assert(1,"Assertion","main","(0 != 0) == !(1 != 0)",
+                  "tests/arith/arith.i",30);
   /*@ assert (0 ≢ 0) ≡ !(1 ≢ 0); */ ;
-  __e_acsl_assert(y != 0,(char *)"RTE",(char *)"main",
-                  (char *)"division_by_zero: y != 0",31);
-  __e_acsl_assert(4 / y == 2,(char *)"Assertion",(char *)"main",
-                  (char *)"4 / y == 2",31);
+  __e_acsl_assert(y != 0,"RTE","main","division_by_zero: y != 0",
+                  "tests/arith/arith.i",31);
+  __e_acsl_assert(4 / y == 2,"Assertion","main","4 / y == 2",
+                  "tests/arith/arith.i",31);
   /*@ assert 4 / y ≡ 2; */ ;
   {
     __e_acsl_mpz_t __gen_e_acsl_z;
@@ -109,17 +109,17 @@ int main(void)
                                           (__e_acsl_mpz_struct const *)(__gen_e_acsl__6));
     __gmpz_init(__gen_e_acsl_div_2);
     /*@ assert E_ACSL: y - 123456789123456789 ≢ 0; */
-    __e_acsl_assert(! (__gen_e_acsl_div_guard_2 == 0),(char *)"Assertion",
-                    (char *)"main",(char *)"y - 123456789123456789 == 0",34);
+    __e_acsl_assert(! (__gen_e_acsl_div_guard_2 == 0),"Assertion","main",
+                    "y - 123456789123456789 == 0","tests/arith/arith.i",34);
     __gmpz_tdiv_q(__gen_e_acsl_div_2,
                   (__e_acsl_mpz_struct const *)(__gen_e_acsl_add),
                   (__e_acsl_mpz_struct const *)(__gen_e_acsl__5));
     __gen_e_acsl__7 = __gmpz_get_si((__e_acsl_mpz_struct const *)(__gen_e_acsl_div_2));
     /*@ assert Eva: signed_overflow: -2147483648 ≤ 1 + __gen_e_acsl__7; */
     /*@ assert Eva: signed_overflow: 1 + __gen_e_acsl__7 ≤ 2147483647; */
-    __e_acsl_assert(1 + __gen_e_acsl__7 == 1,(char *)"Assertion",
-                    (char *)"main",
-                    (char *)"1 + (z + 1) / (y - 123456789123456789) == 1",34);
+    __e_acsl_assert(1 + __gen_e_acsl__7 == 1,"Assertion","main",
+                    "1 + (z + 1) / (y - 123456789123456789) == 1",
+                    "tests/arith/arith.i",34);
     __gmpz_clear(__gen_e_acsl_z);
     __gmpz_clear(__gen_e_acsl__4);
     __gmpz_clear(__gen_e_acsl_add);
@@ -128,8 +128,8 @@ int main(void)
     __gmpz_clear(__gen_e_acsl_div_2);
   }
   /*@ assert 1 + (z + 1) / (y - 123456789123456789) ≡ 1; */ ;
-  __e_acsl_assert(1L - x == - ((long)x) + 1L,(char *)"Assertion",
-                  (char *)"main",(char *)"1 - x == -x + 1",36);
+  __e_acsl_assert(1L - x == - ((long)x) + 1L,"Assertion","main",
+                  "1 - x == -x + 1","tests/arith/arith.i",36);
   /*@ assert 1 - x ≡ -x + 1; */ ;
   __retres = 0;
   return __retres;
diff --git a/src/plugins/e-acsl/tests/arith/oracle_ci/gen_array.c b/src/plugins/e-acsl/tests/arith/oracle_ci/gen_array.c
index 968efaf862301867af98bdd12763160b9045b311..b5a38e3d9d550321295f8dbc1d106711339907bd 100644
--- a/src/plugins/e-acsl/tests/arith/oracle_ci/gen_array.c
+++ b/src/plugins/e-acsl/tests/arith/oracle_ci/gen_array.c
@@ -21,11 +21,11 @@ int main(void)
       i_0 ++;
     }
   }
-  __e_acsl_assert(T1[0] == T2[0],(char *)"Assertion",(char *)"main",
-                  (char *)"T1[0] == T2[0]",13);
+  __e_acsl_assert(T1[0] == T2[0],"Assertion","main","T1[0] == T2[0]",
+                  "tests/arith/array.i",13);
   /*@ assert T1[0] ≡ T2[0]; */ ;
-  __e_acsl_assert(T1[1] != T2[1],(char *)"Assertion",(char *)"main",
-                  (char *)"T1[1] != T2[1]",14);
+  __e_acsl_assert(T1[1] != T2[1],"Assertion","main","T1[1] != T2[1]",
+                  "tests/arith/array.i",14);
   /*@ assert T1[1] ≢ T2[1]; */ ;
   __retres = 0;
   return __retres;
diff --git a/src/plugins/e-acsl/tests/arith/oracle_ci/gen_at.c b/src/plugins/e-acsl/tests/arith/oracle_ci/gen_at.c
index 2a86f5c2ca7e545c0933ec024c6f1278600bf669..ee37178a854e61491d674d217859bdedbc1fa830 100644
--- a/src/plugins/e-acsl/tests/arith/oracle_ci/gen_at.c
+++ b/src/plugins/e-acsl/tests/arith/oracle_ci/gen_at.c
@@ -21,17 +21,17 @@ void f(void)
        __gen_e_acsl_at_2 = A;
        A = 2;
      }
-  __e_acsl_assert(__gen_e_acsl_at == 0,(char *)"Assertion",(char *)"f",
-                  (char *)"\\at(A,Pre) == 0",11);
+  __e_acsl_assert(__gen_e_acsl_at == 0,"Assertion","f","\\at(A,Pre) == 0",
+                  "tests/arith/at.i",11);
   /*@ assert \at(A,Pre) ≡ 0; */ ;
-  __e_acsl_assert(__gen_e_acsl_at_2 == 1,(char *)"Assertion",(char *)"f",
-                  (char *)"\\at(A,F) == 1",12);
+  __e_acsl_assert(__gen_e_acsl_at_2 == 1,"Assertion","f","\\at(A,F) == 1",
+                  "tests/arith/at.i",12);
   /*@ assert \at(A,F) ≡ 1; */ ;
-  __e_acsl_assert(A == 2,(char *)"Assertion",(char *)"f",
-                  (char *)"\\at(A,Here) == 2",13);
+  __e_acsl_assert(A == 2,"Assertion","f","\\at(A,Here) == 2",
+                  "tests/arith/at.i",13);
   /*@ assert \at(A,Here) ≡ 2; */ ;
-  __e_acsl_assert(__gen_e_acsl_at_4 == 0,(char *)"Assertion",(char *)"f",
-                  (char *)"\\at(\\at(A,Pre),F) == 0",14);
+  __e_acsl_assert(__gen_e_acsl_at_4 == 0,"Assertion","f",
+                  "\\at(\\at(A,Pre),F) == 0","tests/arith/at.i",14);
   /*@ assert \at(\at(A,Pre),F) ≡ 0; */ ;
   A = 3;
   return;
@@ -57,16 +57,16 @@ void g(int *p, int *q)
       __gen_e_acsl_valid_read_3 = __e_acsl_valid_read((void *)q,sizeof(int),
                                                       (void *)q,
                                                       (void *)(& q));
-      __e_acsl_assert(__gen_e_acsl_valid_read_3,(char *)"RTE",(char *)"g",
-                      (char *)"mem_access: \\valid_read(q)",28);
+      __e_acsl_assert(__gen_e_acsl_valid_read_3,"RTE","g",
+                      "mem_access: \\valid_read(q)","tests/arith/at.i",28);
       __gen_e_acsl_at_3 = *q;
     }
     {
       int __gen_e_acsl_valid_read;
       __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)q,sizeof(int),
                                                     (void *)q,(void *)(& q));
-      __e_acsl_assert(__gen_e_acsl_valid_read,(char *)"RTE",(char *)"g",
-                      (char *)"mem_access: \\valid_read(q)",26);
+      __e_acsl_assert(__gen_e_acsl_valid_read,"RTE","g",
+                      "mem_access: \\valid_read(q)","tests/arith/at.i",26);
       __gen_e_acsl_at = *q;
     }
     __e_acsl_initialize((void *)p,sizeof(int));
@@ -83,15 +83,16 @@ void g(int *p, int *q)
       __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)(p + __gen_e_acsl_at),
                                                       sizeof(int),(void *)p,
                                                       (void *)(& p));
-      __e_acsl_assert(__gen_e_acsl_valid_read_2,(char *)"RTE",(char *)"g",
-                      (char *)"mem_access: \\valid_read(p + __gen_e_acsl_at)",
-                      26);
+      __e_acsl_assert(__gen_e_acsl_valid_read_2,"RTE","g",
+                      "mem_access: \\valid_read(p + __gen_e_acsl_at)",
+                      "tests/arith/at.i",26);
       __gen_e_acsl_at_2 = *(p + __gen_e_acsl_at);
     }
     A = 4;
   }
-  __e_acsl_assert(__gen_e_acsl_at_2 == 2,(char *)"Assertion",(char *)"g",
-                  (char *)"\\at(*(p + \\at(*q,__invalid_label)),L2) == 2",26);
+  __e_acsl_assert(__gen_e_acsl_at_2 == 2,"Assertion","g",
+                  "\\at(*(p + \\at(*q,__invalid_label)),L2) == 2",
+                  "tests/arith/at.i",26);
   /*@ assert \at(*(p + \at(*q,__invalid_label)),L2) ≡ 2; */ ;
   L3:
   /*@ assert \at(*(p + \at(*q,__invalid_label)),Here) ≡ 2; */
@@ -100,13 +101,12 @@ void g(int *p, int *q)
     __gen_e_acsl_valid_read_4 = __e_acsl_valid_read((void *)(p + __gen_e_acsl_at_3),
                                                     sizeof(int),(void *)p,
                                                     (void *)(& p));
-    __e_acsl_assert(__gen_e_acsl_valid_read_4,(char *)"RTE",(char *)"g",
-                    (char *)"mem_access: \\valid_read(p + __gen_e_acsl_at_3)",
-                    28);
-    __e_acsl_assert(*(p + __gen_e_acsl_at_3) == 2,(char *)"Assertion",
-                    (char *)"g",
-                    (char *)"\\at(*(p + \\at(*q,__invalid_label)),Here) == 2",
-                    28);
+    __e_acsl_assert(__gen_e_acsl_valid_read_4,"RTE","g",
+                    "mem_access: \\valid_read(p + __gen_e_acsl_at_3)",
+                    "tests/arith/at.i",28);
+    __e_acsl_assert(*(p + __gen_e_acsl_at_3) == 2,"Assertion","g",
+                    "\\at(*(p + \\at(*q,__invalid_label)),Here) == 2",
+                    "tests/arith/at.i",28);
   }
   __e_acsl_delete_block((void *)(& q));
   __e_acsl_delete_block((void *)(& p));
@@ -142,23 +142,21 @@ int main(void)
     __gen_e_acsl_at_3 = (long)x;
     __gen_e_acsl_at_2 = x + 1L;
     __gen_e_acsl_at = x;
-    __e_acsl_assert(x == 0,(char *)"Assertion",(char *)"main",
-                    (char *)"x == 0",43);
+    __e_acsl_assert(x == 0,"Assertion","main","x == 0","tests/arith/at.i",43);
   }
   __e_acsl_full_init((void *)(& x));
   x = 1;
   __e_acsl_full_init((void *)(& x));
   x = 2;
   __gen_e_acsl_f();
-  __e_acsl_assert(__gen_e_acsl_at == 0,(char *)"Assertion",(char *)"main",
-                  (char *)"\\at(x,__invalid_label) == 0",48);
+  __e_acsl_assert(__gen_e_acsl_at == 0,"Assertion","main",
+                  "\\at(x,__invalid_label) == 0","tests/arith/at.i",48);
   /*@ assert \at(x,__invalid_label) ≡ 0; */ ;
-  __e_acsl_assert(__gen_e_acsl_at_2 == 1L,(char *)"Assertion",(char *)"main",
-                  (char *)"\\at(x + 1,__invalid_label) == 1",49);
+  __e_acsl_assert(__gen_e_acsl_at_2 == 1L,"Assertion","main",
+                  "\\at(x + 1,__invalid_label) == 1","tests/arith/at.i",49);
   /*@ assert \at(x + 1,__invalid_label) ≡ 1; */ ;
-  __e_acsl_assert(__gen_e_acsl_at_3 + 1L == 1L,(char *)"Assertion",
-                  (char *)"main",(char *)"\\at(x,__invalid_label) + 1 == 1",
-                  50);
+  __e_acsl_assert(__gen_e_acsl_at_3 + 1L == 1L,"Assertion","main",
+                  "\\at(x,__invalid_label) + 1 == 1","tests/arith/at.i",50);
   /*@ assert \at(x,__invalid_label) + 1 ≡ 1; */ ;
   g(t,& x);
   __retres = 0;
@@ -177,8 +175,8 @@ int __gen_e_acsl_h(int x)
   __e_acsl_store_block((void *)(& x),(size_t)4);
   __gen_e_acsl_at = x;
   __retres = h(x);
-  __e_acsl_assert(__retres == __gen_e_acsl_at,(char *)"Postcondition",
-                  (char *)"h",(char *)"\\result == \\old(x)",35);
+  __e_acsl_assert(__retres == __gen_e_acsl_at,"Postcondition","h",
+                  "\\result == \\old(x)","tests/arith/at.i",35);
   __e_acsl_delete_block((void *)(& x));
   __e_acsl_delete_block((void *)(& __retres));
   return __retres;
@@ -190,8 +188,8 @@ void __gen_e_acsl_f(void)
   int __gen_e_acsl_at;
   f();
   __gen_e_acsl_at = A;
-  __e_acsl_assert(__gen_e_acsl_at == 3,(char *)"Postcondition",(char *)"f",
-                  (char *)"\\at(A,Post) == 3",7);
+  __e_acsl_assert(__gen_e_acsl_at == 3,"Postcondition","f",
+                  "\\at(A,Post) == 3","tests/arith/at.i",7);
   return;
 }
 
diff --git a/src/plugins/e-acsl/tests/arith/oracle_ci/gen_at_on-purely-logic-variables.c b/src/plugins/e-acsl/tests/arith/oracle_ci/gen_at_on-purely-logic-variables.c
index 380561e1f4db4b599248a7305228e60db1542c38..53a78260d27a4826b13c5b82e090bfa74cc7d5f9 100644
--- a/src/plugins/e-acsl/tests/arith/oracle_ci/gen_at_on-purely-logic-variables.c
+++ b/src/plugins/e-acsl/tests/arith/oracle_ci/gen_at_on-purely-logic-variables.c
@@ -51,9 +51,9 @@ void g(void)
                                                       sizeof(int),
                                                       (void *)__gen_e_acsl_at,
                                                       (void *)(& __gen_e_acsl_at));
-        __e_acsl_assert(__gen_e_acsl_valid_read,(char *)"RTE",(char *)"g",
-                        (char *)"mem_access: \\valid_read(__gen_e_acsl_at + (int)(__gen_e_acsl_w - 3))",
-                        16);
+        __e_acsl_assert(__gen_e_acsl_valid_read,"RTE","g",
+                        "mem_access: \\valid_read(__gen_e_acsl_at + (int)(__gen_e_acsl_w - 3))",
+                        "tests/arith/at_on-purely-logic-variables.c",16);
         /*@ assert
             Eva: initialization:
               \initialized(__gen_e_acsl_at + (__gen_e_acsl_w - 3));
@@ -67,9 +67,9 @@ void g(void)
       __gen_e_acsl_w ++;
     }
     e_acsl_end_loop1: ;
-    __e_acsl_assert(__gen_e_acsl_exists,(char *)"Assertion",(char *)"g",
-                    (char *)"\\exists integer w; 3 <= w < 6 && \\at(m + w == 12,Q)",
-                    16);
+    __e_acsl_assert(__gen_e_acsl_exists,"Assertion","g",
+                    "\\exists integer w; 3 <= w < 6 && \\at(m + w == 12,Q)",
+                    "tests/arith/at_on-purely-logic-variables.c",16);
   }
   /*@ assert ∃ ℤ w; 3 ≤ w < 6 ∧ \at(m + w ≡ 12,Q); */ ;
   free((void *)__gen_e_acsl_at);
@@ -213,12 +213,12 @@ int main(void)
                                                   sizeof(int),
                                                   (void *)__gen_e_acsl_at,
                                                   (void *)(& __gen_e_acsl_at));
-    __e_acsl_assert(__gen_e_acsl_valid_read,(char *)"RTE",(char *)"main",
-                    (char *)"mem_access: \\valid_read(__gen_e_acsl_at + 0)",
-                    28);
-    __e_acsl_assert(*(__gen_e_acsl_at + 0),(char *)"Assertion",
-                    (char *)"main",
-                    (char *)"\\let i = 3; \\at(n + i == 10,L)",28);
+    __e_acsl_assert(__gen_e_acsl_valid_read,"RTE","main",
+                    "mem_access: \\valid_read(__gen_e_acsl_at + 0)",
+                    "tests/arith/at_on-purely-logic-variables.c",28);
+    __e_acsl_assert(*(__gen_e_acsl_at + 0),"Assertion","main",
+                    "\\let i = 3; \\at(n + i == 10,L)",
+                    "tests/arith/at_on-purely-logic-variables.c",28);
   }
   /*@ assert \let i = 3; \at(n + i ≡ 10,L); */ ;
   {
@@ -235,10 +235,9 @@ int main(void)
                                                         sizeof(int),
                                                         (void *)__gen_e_acsl_at_2,
                                                         (void *)(& __gen_e_acsl_at_2));
-        __e_acsl_assert(__gen_e_acsl_valid_read_2,(char *)"RTE",
-                        (char *)"main",
-                        (char *)"mem_access: \\valid_read(__gen_e_acsl_at_2 + (int)(__gen_e_acsl_j - 2))",
-                        29);
+        __e_acsl_assert(__gen_e_acsl_valid_read_2,"RTE","main",
+                        "mem_access: \\valid_read(__gen_e_acsl_at_2 + (int)(__gen_e_acsl_j - 2))",
+                        "tests/arith/at_on-purely-logic-variables.c",29);
         /*@ assert
             Eva: initialization:
               \initialized(__gen_e_acsl_at_2 + (__gen_e_acsl_j - 2));
@@ -252,9 +251,9 @@ int main(void)
       __gen_e_acsl_j ++;
     }
     e_acsl_end_loop2: ;
-    __e_acsl_assert(__gen_e_acsl_exists,(char *)"Assertion",(char *)"main",
-                    (char *)"\\exists integer j; 2 <= j < 5 && \\at(n + j == 11,L)",
-                    29);
+    __e_acsl_assert(__gen_e_acsl_exists,"Assertion","main",
+                    "\\exists integer j; 2 <= j < 5 && \\at(n + j == 11,L)",
+                    "tests/arith/at_on-purely-logic-variables.c",29);
   }
   /*@ assert ∃ ℤ j; 2 ≤ j < 5 ∧ \at(n + j ≡ 11,L); */ ;
   {
@@ -284,10 +283,9 @@ int main(void)
                                                             sizeof(int),
                                                             (void *)__gen_e_acsl_at_3,
                                                             (void *)(& __gen_e_acsl_at_3));
-            __e_acsl_assert(__gen_e_acsl_valid_read_3,(char *)"RTE",
-                            (char *)"main",
-                            (char *)"mem_access:\n  \\valid_read(__gen_e_acsl_at_3 +\n              (int)((int)((int)(__gen_e_acsl_u - 9) * 11) +\n                    (int)((int)(__gen_e_acsl_v - -5) - 1)))",
-                            34);
+            __e_acsl_assert(__gen_e_acsl_valid_read_3,"RTE","main",
+                            "mem_access:\n  \\valid_read(__gen_e_acsl_at_3 +\n              (int)((int)((int)(__gen_e_acsl_u - 9) * 11) +\n                    (int)((int)(__gen_e_acsl_v - -5) - 1)))",
+                            "tests/arith/at_on-purely-logic-variables.c",34);
             /*@ assert
                 Eva: initialization:
                   \initialized(__gen_e_acsl_at_3 +
@@ -314,9 +312,9 @@ int main(void)
       __gen_e_acsl_u ++;
     }
     e_acsl_end_loop4: ;
-    __e_acsl_assert(__gen_e_acsl_exists_2,(char *)"Assertion",(char *)"main",
-                    (char *)"\\let k = -7;\n\\exists integer u;\n  9 <= u < 21 &&\n  (\\forall integer v; -5 < v <= 6 ==> \\at((u > 0? n + k: u + v) > 0,K))",
-                    31);
+    __e_acsl_assert(__gen_e_acsl_exists_2,"Assertion","main",
+                    "\\let k = -7;\n\\exists integer u;\n  9 <= u < 21 &&\n  (\\forall integer v; -5 < v <= 6 ==> \\at((u > 0? n + k: u + v) > 0,K))",
+                    "tests/arith/at_on-purely-logic-variables.c",31);
   }
   /*@
   assert \let k = -7;
@@ -333,12 +331,12 @@ int main(void)
                                                     sizeof(long),
                                                     (void *)__gen_e_acsl_at_4,
                                                     (void *)(& __gen_e_acsl_at_4));
-    __e_acsl_assert(__gen_e_acsl_valid_read_4,(char *)"RTE",(char *)"main",
-                    (char *)"mem_access: \\valid_read(__gen_e_acsl_at_4 + 0)",
-                    37);
-    __e_acsl_assert(*(__gen_e_acsl_at_4 + 0) == 10L,(char *)"Assertion",
-                    (char *)"main",
-                    (char *)"\\let i = 3; \\at(n + i,L) == 10",37);
+    __e_acsl_assert(__gen_e_acsl_valid_read_4,"RTE","main",
+                    "mem_access: \\valid_read(__gen_e_acsl_at_4 + 0)",
+                    "tests/arith/at_on-purely-logic-variables.c",37);
+    __e_acsl_assert(*(__gen_e_acsl_at_4 + 0) == 10L,"Assertion","main",
+                    "\\let i = 3; \\at(n + i,L) == 10",
+                    "tests/arith/at_on-purely-logic-variables.c",37);
   }
   /*@ assert \let i = 3; \at(n + i,L) ≡ 10; */ ;
   unsigned int m = (unsigned int)3;
@@ -371,10 +369,9 @@ int main(void)
                                                         sizeof(long),
                                                         (void *)__gen_e_acsl_at_5,
                                                         (void *)(& __gen_e_acsl_at_5));
-        __e_acsl_assert(__gen_e_acsl_valid_read_5,(char *)"RTE",
-                        (char *)"main",
-                        (char *)"mem_access:\n  \\valid_read(__gen_e_acsl_at_5 + (int)((int)(__gen_e_acsl_k_3 - -9) - 1))",
-                        41);
+        __e_acsl_assert(__gen_e_acsl_valid_read_5,"RTE","main",
+                        "mem_access:\n  \\valid_read(__gen_e_acsl_at_5 + (int)((int)(__gen_e_acsl_k_3 - -9) - 1))",
+                        "tests/arith/at_on-purely-logic-variables.c",41);
         /*@ assert
             Eva: initialization:
               \initialized(__gen_e_acsl_at_5 + ((__gen_e_acsl_k_3 - -9) - 1));
@@ -389,9 +386,9 @@ int main(void)
       __gen_e_acsl_k_3 ++;
     }
     e_acsl_end_loop5: ;
-    __e_acsl_assert(__gen_e_acsl_exists_3,(char *)"Assertion",(char *)"main",
-                    (char *)"\\exists integer k; -9 < k < 0 && \\at(m + k,G) == 0",
-                    41);
+    __e_acsl_assert(__gen_e_acsl_exists_3,"Assertion","main",
+                    "\\exists integer k; -9 < k < 0 && \\at(m + k,G) == 0",
+                    "tests/arith/at_on-purely-logic-variables.c",41);
   }
   /*@ assert ∃ ℤ k; -9 < k < 0 ∧ \at(m + k,G) ≡ 0; */ ;
   {
@@ -424,10 +421,9 @@ int main(void)
                                                             sizeof(int),
                                                             (void *)__gen_e_acsl_at_6,
                                                             (void *)(& __gen_e_acsl_at_6));
-            __e_acsl_assert(__gen_e_acsl_valid_read_6,(char *)"RTE",
-                            (char *)"main",
-                            (char *)"mem_access:\n  \\valid_read(__gen_e_acsl_at_6 +\n              (int)((int)((int)(__gen_e_acsl_u_3 - 9) * 32) +\n                    (int)((int)(__gen_e_acsl_v_3 - -5) - 1)))",
-                            45);
+            __e_acsl_assert(__gen_e_acsl_valid_read_6,"RTE","main",
+                            "mem_access:\n  \\valid_read(__gen_e_acsl_at_6 +\n              (int)((int)((int)(__gen_e_acsl_u_3 - 9) * 32) +\n                    (int)((int)(__gen_e_acsl_v_3 - -5) - 1)))",
+                            "tests/arith/at_on-purely-logic-variables.c",45);
             /*@ assert
                 Eva: initialization:
                   \initialized(__gen_e_acsl_at_6 +
@@ -454,9 +450,9 @@ int main(void)
       __gen_e_acsl_u_3 ++;
     }
     e_acsl_end_loop7: ;
-    __e_acsl_assert(__gen_e_acsl_exists_4,(char *)"Assertion",(char *)"main",
-                    (char *)"\\exists integer u;\n  9 <= u < 21 &&\n  (\\forall integer v; -5 < v <= (u < 15? u + 6: 3) ==> \\at((n + u) + v > 0,K))",
-                    43);
+    __e_acsl_assert(__gen_e_acsl_exists_4,"Assertion","main",
+                    "\\exists integer u;\n  9 <= u < 21 &&\n  (\\forall integer v; -5 < v <= (u < 15? u + 6: 3) ==> \\at((n + u) + v > 0,K))",
+                    "tests/arith/at_on-purely-logic-variables.c",43);
   }
   /*@
   assert
@@ -511,9 +507,9 @@ int main(void)
                                                                 sizeof(int),
                                                                 (void *)__gen_e_acsl_at_7,
                                                                 (void *)(& __gen_e_acsl_at_7));
-                __e_acsl_assert(__gen_e_acsl_valid_read_7,(char *)"RTE",
-                                (char *)"main",
-                                (char *)"mem_access:\n  \\valid_read(__gen_e_acsl_at_7 +\n              (int)((int)((int)(__gen_e_acsl_u_5 - 10) * 300) +\n                    (int)((int)((int)((int)(__gen_e_acsl_v_5 - -10) - 1) *\n                                100)\n                          + (int)((int)(__gen_e_acsl_w - 100) - 1))))",
+                __e_acsl_assert(__gen_e_acsl_valid_read_7,"RTE","main",
+                                "mem_access:\n  \\valid_read(__gen_e_acsl_at_7 +\n              (int)((int)((int)(__gen_e_acsl_u_5 - 10) * 300) +\n                    (int)((int)((int)((int)(__gen_e_acsl_v_5 - -10) - 1) *\n                                100)\n                          + (int)((int)(__gen_e_acsl_w - 100) - 1))))",
+                                "tests/arith/at_on-purely-logic-variables.c",
                                 57);
                 /*@ assert
                     Eva: initialization:
@@ -552,9 +548,9 @@ int main(void)
       __gen_e_acsl_u_5 ++;
     }
     e_acsl_end_loop10: ;
-    __e_acsl_assert(__gen_e_acsl_exists_5,(char *)"Assertion",(char *)"main",
-                    (char *)"\\exists integer u;\n  10 <= u < 20 &&\n  (\\exists integer v;\n     -10 < v <= -5 + (\\let u = -2; u) &&\n     (\\exists integer w;\n        100 < w <= 200 && \\at((((n - u) + (\\let u = 42; u)) + v) + w > 0,K)))",
-                    54);
+    __e_acsl_assert(__gen_e_acsl_exists_5,"Assertion","main",
+                    "\\exists integer u;\n  10 <= u < 20 &&\n  (\\exists integer v;\n     -10 < v <= -5 + (\\let u = -2; u) &&\n     (\\exists integer w;\n        100 < w <= 200 && \\at((((n - u) + (\\let u = 42; u)) + v) + w > 0,K)))",
+                    "tests/arith/at_on-purely-logic-variables.c",54);
   }
   /*@
   assert
@@ -649,9 +645,9 @@ void __gen_e_acsl_f(int *t)
                                                       sizeof(int),
                                                       (void *)__gen_e_acsl_at,
                                                       (void *)(& __gen_e_acsl_at));
-        __e_acsl_assert(__gen_e_acsl_valid_read,(char *)"RTE",(char *)"f",
-                        (char *)"mem_access:\n  \\valid_read(__gen_e_acsl_at + (int)((int)(__gen_e_acsl_n - 1) - 1))",
-                        7);
+        __e_acsl_assert(__gen_e_acsl_valid_read,"RTE","f",
+                        "mem_access:\n  \\valid_read(__gen_e_acsl_at + (int)((int)(__gen_e_acsl_n - 1) - 1))",
+                        "tests/arith/at_on-purely-logic-variables.c",7);
         /*@ assert
             Eva: initialization:
               \initialized(__gen_e_acsl_at + ((__gen_e_acsl_n - 1) - 1));
@@ -664,10 +660,9 @@ void __gen_e_acsl_f(int *t)
                                                           sizeof(int),
                                                           (void *)__gen_e_acsl_at_2,
                                                           (void *)(& __gen_e_acsl_at_2));
-          __e_acsl_assert(__gen_e_acsl_valid_read_2,(char *)"RTE",
-                          (char *)"f",
-                          (char *)"mem_access:\n  \\valid_read(__gen_e_acsl_at_2 + (int)((int)(__gen_e_acsl_n - 1) - 1))",
-                          7);
+          __e_acsl_assert(__gen_e_acsl_valid_read_2,"RTE","f",
+                          "mem_access:\n  \\valid_read(__gen_e_acsl_at_2 + (int)((int)(__gen_e_acsl_n - 1) - 1))",
+                          "tests/arith/at_on-purely-logic-variables.c",7);
           /*@ assert
               Eva: initialization:
                 \initialized(__gen_e_acsl_at_2 + ((__gen_e_acsl_n - 1) - 1));
@@ -684,32 +679,32 @@ void __gen_e_acsl_f(int *t)
       __gen_e_acsl_n ++;
     }
     e_acsl_end_loop11: ;
-    __e_acsl_assert(__gen_e_acsl_forall,(char *)"Postcondition",(char *)"f",
-                    (char *)"\\forall integer n;\n  1 < n <= 3 ==> \\old(*(t + n) == 12) && \\old(*(t + (n - 1)) > 5)",
-                    6);
+    __e_acsl_assert(__gen_e_acsl_forall,"Postcondition","f",
+                    "\\forall integer n;\n  1 < n <= 3 ==> \\old(*(t + n) == 12) && \\old(*(t + (n - 1)) > 5)",
+                    "tests/arith/at_on-purely-logic-variables.c",6);
     __gen_e_acsl_m = 4;
     __gen_e_acsl_valid_read_3 = __e_acsl_valid_read((void *)(__gen_e_acsl_at_3 + 0),
                                                     sizeof(int),
                                                     (void *)__gen_e_acsl_at_3,
                                                     (void *)(& __gen_e_acsl_at_3));
-    __e_acsl_assert(__gen_e_acsl_valid_read_3,(char *)"RTE",(char *)"f",
-                    (char *)"mem_access: \\valid_read(__gen_e_acsl_at_3 + 0)",
-                    8);
+    __e_acsl_assert(__gen_e_acsl_valid_read_3,"RTE","f",
+                    "mem_access: \\valid_read(__gen_e_acsl_at_3 + 0)",
+                    "tests/arith/at_on-purely-logic-variables.c",8);
     if (*(__gen_e_acsl_at_3 + 0)) {
       int __gen_e_acsl_valid_read_4;
       __gen_e_acsl_valid_read_4 = __e_acsl_valid_read((void *)(__gen_e_acsl_at_4 + 0),
                                                       sizeof(int),
                                                       (void *)__gen_e_acsl_at_4,
                                                       (void *)(& __gen_e_acsl_at_4));
-      __e_acsl_assert(__gen_e_acsl_valid_read_4,(char *)"RTE",(char *)"f",
-                      (char *)"mem_access: \\valid_read(__gen_e_acsl_at_4 + 0)",
-                      8);
+      __e_acsl_assert(__gen_e_acsl_valid_read_4,"RTE","f",
+                      "mem_access: \\valid_read(__gen_e_acsl_at_4 + 0)",
+                      "tests/arith/at_on-purely-logic-variables.c",8);
       __gen_e_acsl_and_2 = *(__gen_e_acsl_at_4 + 0) == 9;
     }
     else __gen_e_acsl_and_2 = 0;
-    __e_acsl_assert(__gen_e_acsl_and_2,(char *)"Postcondition",(char *)"f",
-                    (char *)"\\let m = 4; \\old(*(t + m) == -4) && \\old(*(t + (m - 4))) == 9",
-                    8);
+    __e_acsl_assert(__gen_e_acsl_and_2,"Postcondition","f",
+                    "\\let m = 4; \\old(*(t + m) == -4) && \\old(*(t + (m - 4))) == 9",
+                    "tests/arith/at_on-purely-logic-variables.c",8);
     __e_acsl_delete_block((void *)(& t));
     free((void *)__gen_e_acsl_at_4);
     free((void *)__gen_e_acsl_at_3);
diff --git a/src/plugins/e-acsl/tests/arith/oracle_ci/gen_cast.c b/src/plugins/e-acsl/tests/arith/oracle_ci/gen_cast.c
index 80708bc6ac97f157e2c7c8f263bcc9e58f7a881b..1d262fa573a8968eb3baee7c27bb2fac552e0bb5 100644
--- a/src/plugins/e-acsl/tests/arith/oracle_ci/gen_cast.c
+++ b/src/plugins/e-acsl/tests/arith/oracle_ci/gen_cast.c
@@ -7,25 +7,25 @@ int main(void)
   __e_acsl_memory_init((int *)0,(char ***)0,(size_t)8);
   long x = (long)0;
   int y = 0;
-  __e_acsl_assert((int)x == y,(char *)"Assertion",(char *)"main",
-                  (char *)"(int)x == y",9);
+  __e_acsl_assert((int)x == y,"Assertion","main","(int)x == y",
+                  "tests/arith/cast.i",9);
   /*@ assert (int)x ≡ y; */ ;
-  __e_acsl_assert(x == (long)y,(char *)"Assertion",(char *)"main",
-                  (char *)"x == (long)y",10);
+  __e_acsl_assert(x == (long)y,"Assertion","main","x == (long)y",
+                  "tests/arith/cast.i",10);
   /*@ assert x ≡ (long)y; */ ;
-  __e_acsl_assert(y == 0,(char *)"Assertion",(char *)"main",
-                  (char *)"y == (int)0",12);
+  __e_acsl_assert(y == 0,"Assertion","main","y == (int)0",
+                  "tests/arith/cast.i",12);
   /*@ assert y ≡ (int)0; */ ;
-  __e_acsl_assert((unsigned int)y == 0U,(char *)"Assertion",(char *)"main",
-                  (char *)"(unsigned int)y == (unsigned int)0",13);
+  __e_acsl_assert((unsigned int)y == 0U,"Assertion","main",
+                  "(unsigned int)y == (unsigned int)0","tests/arith/cast.i",
+                  13);
   /*@ assert (unsigned int)y ≡ (unsigned int)0; */ ;
-  __e_acsl_assert(y != -1,(char *)"Assertion",(char *)"main",
-                  (char *)"y != (int)0xfffffffffffffff",16);
+  __e_acsl_assert(y != -1,"Assertion","main","y != (int)0xfffffffffffffff",
+                  "tests/arith/cast.i",16);
   /*@ assert y ≢ (int)0xfffffffffffffff; */ ;
-  __e_acsl_assert((unsigned int)y != 4294967295U,(char *)"Assertion",
-                  (char *)"main",
-                  (char *)"(unsigned int)y != (unsigned int)0xfffffffffffffff",
-                  17);
+  __e_acsl_assert((unsigned int)y != 4294967295U,"Assertion","main",
+                  "(unsigned int)y != (unsigned int)0xfffffffffffffff",
+                  "tests/arith/cast.i",17);
   /*@ assert (unsigned int)y ≢ (unsigned int)0xfffffffffffffff; */ ;
   int t[2] = {0, 1};
   /*@ assert (float)x ≡ t[(int)0.1]; */ ;
diff --git a/src/plugins/e-acsl/tests/arith/oracle_ci/gen_comparison.c b/src/plugins/e-acsl/tests/arith/oracle_ci/gen_comparison.c
index 1509b3c5dfdae585324b37b300039d46667aea7f..80676d549eb3bb932c301f5540ea2683166304be 100644
--- a/src/plugins/e-acsl/tests/arith/oracle_ci/gen_comparison.c
+++ b/src/plugins/e-acsl/tests/arith/oracle_ci/gen_comparison.c
@@ -7,48 +7,57 @@ int main(void)
   __e_acsl_memory_init((int *)0,(char ***)0,(size_t)8);
   int x = 0;
   int y = 1;
-  __e_acsl_assert(x < y,(char *)"Assertion",(char *)"main",(char *)"x < y",7);
+  __e_acsl_assert(x < y,"Assertion","main","x < y",
+                  "tests/arith/comparison.i",7);
   /*@ assert x < y; */ ;
-  __e_acsl_assert(y > x,(char *)"Assertion",(char *)"main",(char *)"y > x",8);
+  __e_acsl_assert(y > x,"Assertion","main","y > x",
+                  "tests/arith/comparison.i",8);
   /*@ assert y > x; */ ;
-  __e_acsl_assert(x <= 0,(char *)"Assertion",(char *)"main",(char *)"x <= 0",
-                  9);
+  __e_acsl_assert(x <= 0,"Assertion","main","x <= 0",
+                  "tests/arith/comparison.i",9);
   /*@ assert x ≤ 0; */ ;
-  __e_acsl_assert(y >= 1,(char *)"Assertion",(char *)"main",(char *)"y >= 1",
-                  10);
+  __e_acsl_assert(y >= 1,"Assertion","main","y >= 1",
+                  "tests/arith/comparison.i",10);
   /*@ assert y ≥ 1; */ ;
   char *s = (char *)"toto";
-  __e_acsl_assert(s == s,(char *)"Assertion",(char *)"main",(char *)"s == s",
-                  12);
+  __e_acsl_assert(s == s,"Assertion","main","s == s",
+                  "tests/arith/comparison.i",12);
   /*@ assert s ≡ s; */ ;
-  __e_acsl_assert(1,(char *)"Assertion",(char *)"main",(char *)"5 < 18",15);
+  __e_acsl_assert(1,"Assertion","main","5 < 18","tests/arith/comparison.i",
+                  15);
   /*@ assert 5 < 18; */ ;
-  __e_acsl_assert(1,(char *)"Assertion",(char *)"main",(char *)"32 > 3",16);
+  __e_acsl_assert(1,"Assertion","main","32 > 3","tests/arith/comparison.i",
+                  16);
   /*@ assert 32 > 3; */ ;
-  __e_acsl_assert(1,(char *)"Assertion",(char *)"main",(char *)"12 <= 13",17);
+  __e_acsl_assert(1,"Assertion","main","12 <= 13","tests/arith/comparison.i",
+                  17);
   /*@ assert 12 ≤ 13; */ ;
-  __e_acsl_assert(1,(char *)"Assertion",(char *)"main",(char *)"123 >= 12",
-                  18);
+  __e_acsl_assert(1,"Assertion","main","123 >= 12",
+                  "tests/arith/comparison.i",18);
   /*@ assert 123 ≥ 12; */ ;
-  __e_acsl_assert(1,(char *)"Assertion",(char *)"main",
-                  (char *)"0xff == 0xff",19);
+  __e_acsl_assert(1,"Assertion","main","0xff == 0xff",
+                  "tests/arith/comparison.i",19);
   /*@ assert 0xff ≡ 0xff; */ ;
-  __e_acsl_assert(1,(char *)"Assertion",(char *)"main",(char *)"1 != 2",20);
+  __e_acsl_assert(1,"Assertion","main","1 != 2","tests/arith/comparison.i",
+                  20);
   /*@ assert 1 ≢ 2; */ ;
-  __e_acsl_assert(1,(char *)"Assertion",(char *)"main",(char *)"-5 < 18",22);
+  __e_acsl_assert(1,"Assertion","main","-5 < 18","tests/arith/comparison.i",
+                  22);
   /*@ assert -5 < 18; */ ;
-  __e_acsl_assert(1,(char *)"Assertion",(char *)"main",(char *)"32 > -3",23);
+  __e_acsl_assert(1,"Assertion","main","32 > -3","tests/arith/comparison.i",
+                  23);
   /*@ assert 32 > -3; */ ;
-  __e_acsl_assert(1,(char *)"Assertion",(char *)"main",(char *)"-12 <= 13",
-                  24);
+  __e_acsl_assert(1,"Assertion","main","-12 <= 13",
+                  "tests/arith/comparison.i",24);
   /*@ assert -12 ≤ 13; */ ;
-  __e_acsl_assert(1,(char *)"Assertion",(char *)"main",(char *)"123 >= -12",
-                  25);
+  __e_acsl_assert(1,"Assertion","main","123 >= -12",
+                  "tests/arith/comparison.i",25);
   /*@ assert 123 ≥ -12; */ ;
-  __e_acsl_assert(1,(char *)"Assertion",(char *)"main",
-                  (char *)"-0xff == -0xff",26);
+  __e_acsl_assert(1,"Assertion","main","-0xff == -0xff",
+                  "tests/arith/comparison.i",26);
   /*@ assert -0xff ≡ -0xff; */ ;
-  __e_acsl_assert(1,(char *)"Assertion",(char *)"main",(char *)"1 != -2",27);
+  __e_acsl_assert(1,"Assertion","main","1 != -2","tests/arith/comparison.i",
+                  27);
   /*@ assert 1 ≢ -2; */ ;
   __retres = 0;
   return __retres;
diff --git a/src/plugins/e-acsl/tests/arith/oracle_ci/gen_functions.c b/src/plugins/e-acsl/tests/arith/oracle_ci/gen_functions.c
index 578940f123bbe44bec320116eaf386a513eb8116..c5a633e03505673ed4d11a1effefc365b23443d7 100644
--- a/src/plugins/e-acsl/tests/arith/oracle_ci/gen_functions.c
+++ b/src/plugins/e-acsl/tests/arith/oracle_ci/gen_functions.c
@@ -91,15 +91,15 @@ int main(void)
   {
     int __gen_e_acsl_p1_2;
     __gen_e_acsl_p1_2 = __gen_e_acsl_p1(x,y);
-    __e_acsl_assert(__gen_e_acsl_p1_2,(char *)"Assertion",(char *)"main",
-                    (char *)"p1(x, y)",42);
+    __e_acsl_assert(__gen_e_acsl_p1_2,"Assertion","main","p1(x, y)",
+                    "tests/arith/functions.c",42);
   }
   /*@ assert p1(x, y); */ ;
   {
     int __gen_e_acsl_p2_2;
     __gen_e_acsl_p2_2 = __gen_e_acsl_p2(3,4);
-    __e_acsl_assert(__gen_e_acsl_p2_2,(char *)"Assertion",(char *)"main",
-                    (char *)"p2(3, 4)",43);
+    __e_acsl_assert(__gen_e_acsl_p2_2,"Assertion","main","p2(3, 4)",
+                    "tests/arith/functions.c",43);
   }
   /*@ assert p2(3, 4); */ ;
   {
@@ -108,16 +108,17 @@ int main(void)
     __gmpz_init_set_str(__gen_e_acsl_,"99999999999999999999999999999",10);
     __gen_e_acsl_p2_4 = __gen_e_acsl_p2_3(5,
                                           (__e_acsl_mpz_struct *)__gen_e_acsl_);
-    __e_acsl_assert(__gen_e_acsl_p2_4,(char *)"Assertion",(char *)"main",
-                    (char *)"p2(5, 99999999999999999999999999999)",44);
+    __e_acsl_assert(__gen_e_acsl_p2_4,"Assertion","main",
+                    "p2(5, 99999999999999999999999999999)",
+                    "tests/arith/functions.c",44);
     __gmpz_clear(__gen_e_acsl_);
   }
   /*@ assert p2(5, 99999999999999999999999999999); */ ;
   {
     long __gen_e_acsl_f1_2;
     __gen_e_acsl_f1_2 = __gen_e_acsl_f1(x,y);
-    __e_acsl_assert(__gen_e_acsl_f1_2 == 3L,(char *)"Assertion",
-                    (char *)"main",(char *)"f1(x, y) == 3",46);
+    __e_acsl_assert(__gen_e_acsl_f1_2 == 3L,"Assertion","main",
+                    "f1(x, y) == 3","tests/arith/functions.c",46);
   }
   /*@ assert f1(x, y) ≡ 3; */ ;
   {
@@ -125,8 +126,8 @@ int main(void)
     int __gen_e_acsl_p2_6;
     __gen_e_acsl_f1_4 = __gen_e_acsl_f1(3,4);
     __gen_e_acsl_p2_6 = __gen_e_acsl_p2_5(x,__gen_e_acsl_f1_4);
-    __e_acsl_assert(__gen_e_acsl_p2_6,(char *)"Assertion",(char *)"main",
-                    (char *)"p2(x, f1(3, 4))",47);
+    __e_acsl_assert(__gen_e_acsl_p2_6,"Assertion","main","p2(x, f1(3, 4))",
+                    "tests/arith/functions.c",47);
   }
   /*@ assert p2(x, f1(3, 4)); */ ;
   {
@@ -140,8 +141,9 @@ int main(void)
     __gmpz_init_set_si(__gen_e_acsl__5,0L);
     __gen_e_acsl_gt_3 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_f1_6),
                                    (__e_acsl_mpz_struct const *)(__gen_e_acsl__5));
-    __e_acsl_assert(__gen_e_acsl_gt_3 > 0,(char *)"Assertion",(char *)"main",
-                    (char *)"f1(9, 99999999999999999999999999999) > 0",48);
+    __e_acsl_assert(__gen_e_acsl_gt_3 > 0,"Assertion","main",
+                    "f1(9, 99999999999999999999999999999) > 0",
+                    "tests/arith/functions.c",48);
     __gmpz_clear(__gen_e_acsl__4);
     __gmpz_clear(__gen_e_acsl_f1_6);
     __gmpz_clear(__gen_e_acsl__5);
@@ -159,9 +161,9 @@ int main(void)
     __gmpz_init_set_str(__gen_e_acsl__7,"199999999999999999999999999998",10);
     __gen_e_acsl_eq = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_f1_8),
                                  (__e_acsl_mpz_struct const *)(__gen_e_acsl__7));
-    __e_acsl_assert(__gen_e_acsl_eq == 0,(char *)"Assertion",(char *)"main",
-                    (char *)"f1(99999999999999999999999999999, 99999999999999999999999999999) ==\n199999999999999999999999999998",
-                    49);
+    __e_acsl_assert(__gen_e_acsl_eq == 0,"Assertion","main",
+                    "f1(99999999999999999999999999999, 99999999999999999999999999999) ==\n199999999999999999999999999998",
+                    "tests/arith/functions.c",49);
     __gmpz_clear(__gen_e_acsl__6);
     __gmpz_clear(__gen_e_acsl_f1_8);
     __gmpz_clear(__gen_e_acsl__7);
@@ -174,24 +176,24 @@ int main(void)
   {
     int __gen_e_acsl_g_2;
     __gen_e_acsl_g_2 = __gen_e_acsl_g(x);
-    __e_acsl_assert(__gen_e_acsl_g_2 == x,(char *)"Assertion",(char *)"main",
-                    (char *)"g(x) == x",53);
+    __e_acsl_assert(__gen_e_acsl_g_2 == x,"Assertion","main","g(x) == x",
+                    "tests/arith/functions.c",53);
   }
   /*@ assert g(x) ≡ x; */ ;
   char c = (char)'c';
   {
     int __gen_e_acsl_h_char_2;
     __gen_e_acsl_h_char_2 = __gen_e_acsl_h_char((int)c);
-    __e_acsl_assert(__gen_e_acsl_h_char_2 == (int)c,(char *)"Assertion",
-                    (char *)"main",(char *)"h_char(c) == c",56);
+    __e_acsl_assert(__gen_e_acsl_h_char_2 == (int)c,"Assertion","main",
+                    "h_char(c) == c","tests/arith/functions.c",56);
   }
   /*@ assert h_char(c) ≡ c; */ ;
   short s = (short)1;
   {
     int __gen_e_acsl_h_short_2;
     __gen_e_acsl_h_short_2 = __gen_e_acsl_h_short((int)s);
-    __e_acsl_assert(__gen_e_acsl_h_short_2 == (int)s,(char *)"Assertion",
-                    (char *)"main",(char *)"h_short(s) == s",58);
+    __e_acsl_assert(__gen_e_acsl_h_short_2 == (int)s,"Assertion","main",
+                    "h_short(s) == s","tests/arith/functions.c",58);
   }
   /*@ assert h_short(s) ≡ s; */ ;
   m.k = 8;
@@ -201,8 +203,8 @@ int main(void)
     long __gen_e_acsl_t2_2;
     __gen_e_acsl_t1_2 = __gen_e_acsl_t1(m);
     __gen_e_acsl_t2_2 = __gen_e_acsl_t2(__gen_e_acsl_t1_2);
-    __e_acsl_assert(__gen_e_acsl_t2_2 == 17L,(char *)"Assertion",
-                    (char *)"main",(char *)"t2(t1(m)) == 17",63);
+    __e_acsl_assert(__gen_e_acsl_t2_2 == 17L,"Assertion","main",
+                    "t2(t1(m)) == 17","tests/arith/functions.c",63);
   }
   /*@ assert t2(t1(m)) ≡ 17; */ ;
   __gen_e_acsl_k(9);
@@ -210,8 +212,8 @@ int main(void)
   {
     double __gen_e_acsl_f2_2;
     __gen_e_acsl_f2_2 = __gen_e_acsl_f2(d);
-    __e_acsl_assert(__gen_e_acsl_f2_2 > 0.,(char *)"Assertion",
-                    (char *)"main",(char *)"f2(d) > 0",68);
+    __e_acsl_assert(__gen_e_acsl_f2_2 > 0.,"Assertion","main","f2(d) > 0",
+                    "tests/arith/functions.c",68);
   }
   /*@ assert f2(d) > 0; */ ;
   __retres = 0;
@@ -224,13 +226,69 @@ void __gen_e_acsl_k(int x)
   {
     int __gen_e_acsl_k_pred_2;
     __gen_e_acsl_k_pred_2 = __gen_e_acsl_k_pred(x);
-    __e_acsl_assert(__gen_e_acsl_k_pred_2,(char *)"Precondition",(char *)"k",
-                    (char *)"k_pred(x)",25);
+    __e_acsl_assert(__gen_e_acsl_k_pred_2,"Precondition","k","k_pred(x)",
+                    "tests/arith/functions.c",25);
   }
   k(x);
   return;
 }
 
+long __gen_e_acsl_t2(mystruct m)
+{
+  long __retres = m.k + (long)m.l;
+  return __retres;
+}
+
+int __gen_e_acsl_p2(int x, int y)
+{
+  int __retres = x + (long)y > 0L;
+  return __retres;
+}
+
+int __gen_e_acsl_p2_3(int x, __e_acsl_mpz_struct * y)
+{
+  __e_acsl_mpz_t __gen_e_acsl_x;
+  __e_acsl_mpz_t __gen_e_acsl_add;
+  __e_acsl_mpz_t __gen_e_acsl__2;
+  int __gen_e_acsl_gt;
+  __gmpz_init_set_si(__gen_e_acsl_x,(long)x);
+  __gmpz_init(__gen_e_acsl_add);
+  __gmpz_add(__gen_e_acsl_add,(__e_acsl_mpz_struct const *)(__gen_e_acsl_x),
+             (__e_acsl_mpz_struct const *)(y));
+  __gmpz_init_set_si(__gen_e_acsl__2,0L);
+  __gen_e_acsl_gt = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_add),
+                               (__e_acsl_mpz_struct const *)(__gen_e_acsl__2));
+  int __retres = __gen_e_acsl_gt > 0;
+  __gmpz_clear(__gen_e_acsl_x);
+  __gmpz_clear(__gen_e_acsl_add);
+  __gmpz_clear(__gen_e_acsl__2);
+  return __retres;
+}
+
+int __gen_e_acsl_p2_5(int x, long y)
+{
+  __e_acsl_mpz_t __gen_e_acsl_x_2;
+  __e_acsl_mpz_t __gen_e_acsl_y;
+  __e_acsl_mpz_t __gen_e_acsl_add_2;
+  __e_acsl_mpz_t __gen_e_acsl__3;
+  int __gen_e_acsl_gt_2;
+  __gmpz_init_set_si(__gen_e_acsl_x_2,(long)x);
+  __gmpz_init_set_si(__gen_e_acsl_y,y);
+  __gmpz_init(__gen_e_acsl_add_2);
+  __gmpz_add(__gen_e_acsl_add_2,
+             (__e_acsl_mpz_struct const *)(__gen_e_acsl_x_2),
+             (__e_acsl_mpz_struct const *)(__gen_e_acsl_y));
+  __gmpz_init_set_si(__gen_e_acsl__3,0L);
+  __gen_e_acsl_gt_2 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_add_2),
+                                 (__e_acsl_mpz_struct const *)(__gen_e_acsl__3));
+  int __retres = __gen_e_acsl_gt_2 > 0;
+  __gmpz_clear(__gen_e_acsl_x_2);
+  __gmpz_clear(__gen_e_acsl_y);
+  __gmpz_clear(__gen_e_acsl_add_2);
+  __gmpz_clear(__gen_e_acsl__3);
+  return __retres;
+}
+
 int __gen_e_acsl_k_pred(int x)
 {
   int __retres = x > 0;
@@ -327,60 +385,4 @@ int __gen_e_acsl_p1(int x, int y)
   return __retres;
 }
 
-long __gen_e_acsl_t2(mystruct m)
-{
-  long __retres = m.k + (long)m.l;
-  return __retres;
-}
-
-int __gen_e_acsl_p2(int x, int y)
-{
-  int __retres = x + (long)y > 0L;
-  return __retres;
-}
-
-int __gen_e_acsl_p2_3(int x, __e_acsl_mpz_struct * y)
-{
-  __e_acsl_mpz_t __gen_e_acsl_x;
-  __e_acsl_mpz_t __gen_e_acsl_add;
-  __e_acsl_mpz_t __gen_e_acsl__2;
-  int __gen_e_acsl_gt;
-  __gmpz_init_set_si(__gen_e_acsl_x,(long)x);
-  __gmpz_init(__gen_e_acsl_add);
-  __gmpz_add(__gen_e_acsl_add,(__e_acsl_mpz_struct const *)(__gen_e_acsl_x),
-             (__e_acsl_mpz_struct const *)(y));
-  __gmpz_init_set_si(__gen_e_acsl__2,0L);
-  __gen_e_acsl_gt = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_add),
-                               (__e_acsl_mpz_struct const *)(__gen_e_acsl__2));
-  int __retres = __gen_e_acsl_gt > 0;
-  __gmpz_clear(__gen_e_acsl_x);
-  __gmpz_clear(__gen_e_acsl_add);
-  __gmpz_clear(__gen_e_acsl__2);
-  return __retres;
-}
-
-int __gen_e_acsl_p2_5(int x, long y)
-{
-  __e_acsl_mpz_t __gen_e_acsl_x_2;
-  __e_acsl_mpz_t __gen_e_acsl_y;
-  __e_acsl_mpz_t __gen_e_acsl_add_2;
-  __e_acsl_mpz_t __gen_e_acsl__3;
-  int __gen_e_acsl_gt_2;
-  __gmpz_init_set_si(__gen_e_acsl_x_2,(long)x);
-  __gmpz_init_set_si(__gen_e_acsl_y,y);
-  __gmpz_init(__gen_e_acsl_add_2);
-  __gmpz_add(__gen_e_acsl_add_2,
-             (__e_acsl_mpz_struct const *)(__gen_e_acsl_x_2),
-             (__e_acsl_mpz_struct const *)(__gen_e_acsl_y));
-  __gmpz_init_set_si(__gen_e_acsl__3,0L);
-  __gen_e_acsl_gt_2 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_add_2),
-                                 (__e_acsl_mpz_struct const *)(__gen_e_acsl__3));
-  int __retres = __gen_e_acsl_gt_2 > 0;
-  __gmpz_clear(__gen_e_acsl_x_2);
-  __gmpz_clear(__gen_e_acsl_y);
-  __gmpz_clear(__gen_e_acsl_add_2);
-  __gmpz_clear(__gen_e_acsl__3);
-  return __retres;
-}
-
 
diff --git a/src/plugins/e-acsl/tests/arith/oracle_ci/gen_functions_rec.c b/src/plugins/e-acsl/tests/arith/oracle_ci/gen_functions_rec.c
index 9f687e8d72a92f9c9e915614e5633fbd1910234f..b6a6fd8abf5cea178fca6f88b540f92a59ac141f 100644
--- a/src/plugins/e-acsl/tests/arith/oracle_ci/gen_functions_rec.c
+++ b/src/plugins/e-acsl/tests/arith/oracle_ci/gen_functions_rec.c
@@ -47,8 +47,8 @@ int main(void)
     __gmpz_init_set_si(__gen_e_acsl__3,0L);
     __gen_e_acsl_eq = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_f1_6),
                                  (__e_acsl_mpz_struct const *)(__gen_e_acsl__3));
-    __e_acsl_assert(__gen_e_acsl_eq == 0,(char *)"Assertion",(char *)"main",
-                    (char *)"f1(0) == 0",22);
+    __e_acsl_assert(__gen_e_acsl_eq == 0,"Assertion","main","f1(0) == 0",
+                    "tests/arith/functions_rec.c",22);
     __gmpz_clear(__gen_e_acsl_f1_6);
     __gmpz_clear(__gen_e_acsl__3);
   }
@@ -61,8 +61,8 @@ int main(void)
     __gmpz_init_set_si(__gen_e_acsl__4,1L);
     __gen_e_acsl_eq_2 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_f1_8),
                                    (__e_acsl_mpz_struct const *)(__gen_e_acsl__4));
-    __e_acsl_assert(__gen_e_acsl_eq_2 == 0,(char *)"Assertion",
-                    (char *)"main",(char *)"f1(1) == 1",23);
+    __e_acsl_assert(__gen_e_acsl_eq_2 == 0,"Assertion","main","f1(1) == 1",
+                    "tests/arith/functions_rec.c",23);
     __gmpz_clear(__gen_e_acsl_f1_8);
     __gmpz_clear(__gen_e_acsl__4);
   }
@@ -75,8 +75,8 @@ int main(void)
     __gmpz_init_set_si(__gen_e_acsl__5,5050L);
     __gen_e_acsl_eq_3 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_f1_10),
                                    (__e_acsl_mpz_struct const *)(__gen_e_acsl__5));
-    __e_acsl_assert(__gen_e_acsl_eq_3 == 0,(char *)"Assertion",
-                    (char *)"main",(char *)"f1(100) == 5050",24);
+    __e_acsl_assert(__gen_e_acsl_eq_3 == 0,"Assertion","main",
+                    "f1(100) == 5050","tests/arith/functions_rec.c",24);
     __gmpz_clear(__gen_e_acsl_f1_10);
     __gmpz_clear(__gen_e_acsl__5);
   }
@@ -84,28 +84,106 @@ int main(void)
   {
     int __gen_e_acsl_f2_14;
     __gen_e_acsl_f2_14 = __gen_e_acsl_f2(7);
-    __e_acsl_assert(__gen_e_acsl_f2_14 == 1,(char *)"Assertion",
-                    (char *)"main",(char *)"f2(7) == 1",26);
+    __e_acsl_assert(__gen_e_acsl_f2_14 == 1,"Assertion","main","f2(7) == 1",
+                    "tests/arith/functions_rec.c",26);
   }
   /*@ assert f2(7) ≡ 1; */ ;
   {
     int __gen_e_acsl_f3_6;
     __gen_e_acsl_f3_6 = __gen_e_acsl_f3(6);
-    __e_acsl_assert(__gen_e_acsl_f3_6 == -5,(char *)"Assertion",
-                    (char *)"main",(char *)"f3(6) == -5",28);
+    __e_acsl_assert(__gen_e_acsl_f3_6 == -5,"Assertion","main","f3(6) == -5",
+                    "tests/arith/functions_rec.c",28);
   }
   /*@ assert f3(6) ≡ -5; */ ;
   {
     unsigned long __gen_e_acsl_f4_6;
     __gen_e_acsl_f4_6 = __gen_e_acsl_f4(9);
-    __e_acsl_assert(__gen_e_acsl_f4_6 > 0UL,(char *)"Assertion",
-                    (char *)"main",(char *)"f4(9) > 0",30);
+    __e_acsl_assert(__gen_e_acsl_f4_6 > 0UL,"Assertion","main","f4(9) > 0",
+                    "tests/arith/functions_rec.c",30);
   }
   /*@ assert f4(9) > 0; */ ;
   __retres = 0;
   return __retres;
 }
 
+int __gen_e_acsl_f2(int n)
+{
+  int __gen_e_acsl_if_4;
+  if (n < 0) __gen_e_acsl_if_4 = 1;
+  else {
+    int __gen_e_acsl_f2_9;
+    int __gen_e_acsl_f2_11;
+    int __gen_e_acsl_f2_13;
+    __gen_e_acsl_f2_9 = __gen_e_acsl_f2_2(n - 1L);
+    __gen_e_acsl_f2_11 = __gen_e_acsl_f2_2(n - 2L);
+    __gen_e_acsl_f2_13 = __gen_e_acsl_f2_2(n - 3L);
+    __e_acsl_assert(__gen_e_acsl_f2_13 != 0,"RTE","f2",
+                    "division_by_zero: __gen_e_acsl_f2_13 != 0",
+                    "tests/arith/functions_rec.c",10);
+    /*@ assert Eva: division_by_zero: __gen_e_acsl_f2_13 ≢ 0; */
+    /*@ assert
+        Eva: signed_overflow:
+          -2147483648 ≤ __gen_e_acsl_f2_9 * __gen_e_acsl_f2_11;
+    */
+    /*@ assert
+        Eva: signed_overflow:
+          __gen_e_acsl_f2_9 * __gen_e_acsl_f2_11 ≤ 2147483647;
+    */
+    /*@ assert
+        Eva: signed_overflow:
+          (int)(__gen_e_acsl_f2_9 * __gen_e_acsl_f2_11) / __gen_e_acsl_f2_13
+          ≤ 2147483647;
+    */
+    __gen_e_acsl_if_4 = (__gen_e_acsl_f2_9 * __gen_e_acsl_f2_11) / __gen_e_acsl_f2_13;
+  }
+  return __gen_e_acsl_if_4;
+}
+
+int __gen_e_acsl_f2_2(long n)
+{
+  int __gen_e_acsl_if_3;
+  if (n < 0L) __gen_e_acsl_if_3 = 1;
+  else {
+    int __gen_e_acsl_f2_4;
+    int __gen_e_acsl_f2_6;
+    int __gen_e_acsl_f2_8;
+    __gen_e_acsl_f2_4 = __gen_e_acsl_f2_2(n - 1L);
+    __gen_e_acsl_f2_6 = __gen_e_acsl_f2_2(n - 2L);
+    __gen_e_acsl_f2_8 = __gen_e_acsl_f2_2(n - 3L);
+    __e_acsl_assert(__gen_e_acsl_f2_8 != 0,"RTE","f2_2",
+                    "division_by_zero: __gen_e_acsl_f2_8 != 0",
+                    "tests/arith/functions_rec.c",10);
+    /*@ assert Eva: division_by_zero: __gen_e_acsl_f2_8 ≢ 0; */
+    /*@ assert
+        Eva: signed_overflow:
+          -2147483648 ≤ __gen_e_acsl_f2_4 * __gen_e_acsl_f2_6;
+    */
+    /*@ assert
+        Eva: signed_overflow:
+          __gen_e_acsl_f2_4 * __gen_e_acsl_f2_6 ≤ 2147483647;
+    */
+    /*@ assert
+        Eva: signed_overflow:
+          (int)(__gen_e_acsl_f2_4 * __gen_e_acsl_f2_6) / __gen_e_acsl_f2_8
+          ≤ 2147483647;
+    */
+    __gen_e_acsl_if_3 = (__gen_e_acsl_f2_4 * __gen_e_acsl_f2_6) / __gen_e_acsl_f2_8;
+  }
+  return __gen_e_acsl_if_3;
+}
+
+int __gen_e_acsl_g(int n)
+{
+  int __retres = 0;
+  return __retres;
+}
+
+int __gen_e_acsl_g_5(long n)
+{
+  int __retres = 0;
+  return __retres;
+}
+
 int __gen_e_acsl_f3(int n)
 {
   int __gen_e_acsl_if_6;
@@ -240,80 +318,4 @@ void __gen_e_acsl_f1_2(__e_acsl_mpz_t *__retres_arg, long n)
   return;
 }
 
-int __gen_e_acsl_f2(int n)
-{
-  int __gen_e_acsl_if_4;
-  if (n < 0) __gen_e_acsl_if_4 = 1;
-  else {
-    int __gen_e_acsl_f2_9;
-    int __gen_e_acsl_f2_11;
-    int __gen_e_acsl_f2_13;
-    __gen_e_acsl_f2_9 = __gen_e_acsl_f2_2(n - 1L);
-    __gen_e_acsl_f2_11 = __gen_e_acsl_f2_2(n - 2L);
-    __gen_e_acsl_f2_13 = __gen_e_acsl_f2_2(n - 3L);
-    __e_acsl_assert(__gen_e_acsl_f2_13 != 0,(char *)"RTE",(char *)"f2",
-                    (char *)"division_by_zero: __gen_e_acsl_f2_13 != 0",10);
-    /*@ assert Eva: division_by_zero: __gen_e_acsl_f2_13 ≢ 0; */
-    /*@ assert
-        Eva: signed_overflow:
-          -2147483648 ≤ __gen_e_acsl_f2_9 * __gen_e_acsl_f2_11;
-    */
-    /*@ assert
-        Eva: signed_overflow:
-          __gen_e_acsl_f2_9 * __gen_e_acsl_f2_11 ≤ 2147483647;
-    */
-    /*@ assert
-        Eva: signed_overflow:
-          (int)(__gen_e_acsl_f2_9 * __gen_e_acsl_f2_11) / __gen_e_acsl_f2_13
-          ≤ 2147483647;
-    */
-    __gen_e_acsl_if_4 = (__gen_e_acsl_f2_9 * __gen_e_acsl_f2_11) / __gen_e_acsl_f2_13;
-  }
-  return __gen_e_acsl_if_4;
-}
-
-int __gen_e_acsl_f2_2(long n)
-{
-  int __gen_e_acsl_if_3;
-  if (n < 0L) __gen_e_acsl_if_3 = 1;
-  else {
-    int __gen_e_acsl_f2_4;
-    int __gen_e_acsl_f2_6;
-    int __gen_e_acsl_f2_8;
-    __gen_e_acsl_f2_4 = __gen_e_acsl_f2_2(n - 1L);
-    __gen_e_acsl_f2_6 = __gen_e_acsl_f2_2(n - 2L);
-    __gen_e_acsl_f2_8 = __gen_e_acsl_f2_2(n - 3L);
-    __e_acsl_assert(__gen_e_acsl_f2_8 != 0,(char *)"RTE",(char *)"f2_2",
-                    (char *)"division_by_zero: __gen_e_acsl_f2_8 != 0",10);
-    /*@ assert Eva: division_by_zero: __gen_e_acsl_f2_8 ≢ 0; */
-    /*@ assert
-        Eva: signed_overflow:
-          -2147483648 ≤ __gen_e_acsl_f2_4 * __gen_e_acsl_f2_6;
-    */
-    /*@ assert
-        Eva: signed_overflow:
-          __gen_e_acsl_f2_4 * __gen_e_acsl_f2_6 ≤ 2147483647;
-    */
-    /*@ assert
-        Eva: signed_overflow:
-          (int)(__gen_e_acsl_f2_4 * __gen_e_acsl_f2_6) / __gen_e_acsl_f2_8
-          ≤ 2147483647;
-    */
-    __gen_e_acsl_if_3 = (__gen_e_acsl_f2_4 * __gen_e_acsl_f2_6) / __gen_e_acsl_f2_8;
-  }
-  return __gen_e_acsl_if_3;
-}
-
-int __gen_e_acsl_g(int n)
-{
-  int __retres = 0;
-  return __retres;
-}
-
-int __gen_e_acsl_g_5(long n)
-{
-  int __retres = 0;
-  return __retres;
-}
-
 
diff --git a/src/plugins/e-acsl/tests/arith/oracle_ci/gen_integer_constant.c b/src/plugins/e-acsl/tests/arith/oracle_ci/gen_integer_constant.c
index a0718f21f5a54ede98aa40d82537cc2ed3bca38b..f9c0176310cf6eec2bfd33baa69cc60ff361303a 100644
--- a/src/plugins/e-acsl/tests/arith/oracle_ci/gen_integer_constant.c
+++ b/src/plugins/e-acsl/tests/arith/oracle_ci/gen_integer_constant.c
@@ -6,14 +6,17 @@ int main(void)
   int __retres;
   int x;
   __e_acsl_memory_init((int *)0,(char ***)0,(size_t)8);
-  __e_acsl_assert(1,(char *)"Assertion",(char *)"main",(char *)"0 == 0",6);
+  __e_acsl_assert(1,"Assertion","main","0 == 0",
+                  "tests/arith/integer_constant.i",6);
   /*@ assert 0 ≡ 0; */ ;
   x = 0;
   x ++;
-  __e_acsl_assert(1,(char *)"Assertion",(char *)"main",(char *)"0 != 1",8);
+  __e_acsl_assert(1,"Assertion","main","0 != 1",
+                  "tests/arith/integer_constant.i",8);
   /*@ assert 0 ≢ 1; */ ;
-  __e_acsl_assert(1,(char *)"Assertion",(char *)"main",
-                  (char *)"1152921504606846975 == 0xfffffffffffffff",9);
+  __e_acsl_assert(1,"Assertion","main",
+                  "1152921504606846975 == 0xfffffffffffffff",
+                  "tests/arith/integer_constant.i",9);
   /*@ assert 1152921504606846975 ≡ 0xfffffffffffffff; */ ;
   {
     __e_acsl_mpz_t __gen_e_acsl_;
@@ -22,9 +25,9 @@ int main(void)
                         "340282366920938463463374607431768211455",10);
     __gen_e_acsl_eq = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_),
                                  (__e_acsl_mpz_struct const *)(__gen_e_acsl_));
-    __e_acsl_assert(__gen_e_acsl_eq == 0,(char *)"Assertion",(char *)"main",
-                    (char *)"0xffffffffffffffffffffffffffffffff == 0xffffffffffffffffffffffffffffffff",
-                    11);
+    __e_acsl_assert(__gen_e_acsl_eq == 0,"Assertion","main",
+                    "0xffffffffffffffffffffffffffffffff == 0xffffffffffffffffffffffffffffffff",
+                    "tests/arith/integer_constant.i",11);
     __gmpz_clear(__gen_e_acsl_);
   }
   /*@
diff --git a/src/plugins/e-acsl/tests/arith/oracle_ci/gen_let.c b/src/plugins/e-acsl/tests/arith/oracle_ci/gen_let.c
index 8ec8558b7d767dba9fd1c9b94a0ed84e6cec9db2..85b41bb2972fe22862a0cba068ff0c8c60df0bdb 100644
--- a/src/plugins/e-acsl/tests/arith/oracle_ci/gen_let.c
+++ b/src/plugins/e-acsl/tests/arith/oracle_ci/gen_let.c
@@ -18,8 +18,8 @@ int main(void)
   {
     long __gen_e_acsl_u;
     __gen_e_acsl_u = n * (long)n;
-    __e_acsl_assert(__gen_e_acsl_u >= 0L,(char *)"Assertion",(char *)"main",
-                    (char *)"\\let u = n * n; u >= 0",7);
+    __e_acsl_assert(__gen_e_acsl_u >= 0L,"Assertion","main",
+                    "\\let u = n * n; u >= 0","tests/arith/let.c",7);
   }
   /*@ assert \let u = n * n; u ≥ 0; */ ;
   {
@@ -27,15 +27,16 @@ int main(void)
     long __gen_e_acsl_v;
     __gen_e_acsl_u_2 = n * (long)n;
     __gen_e_acsl_v = __gen_e_acsl_u_2 + 1L;
-    __e_acsl_assert(__gen_e_acsl_u_2 > 0L,(char *)"Assertion",(char *)"main",
-                    (char *)"\\let u = n * n;\n\\let v = u + 1; u > 0",9);
+    __e_acsl_assert(__gen_e_acsl_u_2 > 0L,"Assertion","main",
+                    "\\let u = n * n;\n\\let v = u + 1; u > 0",
+                    "tests/arith/let.c",9);
   }
   /*@ assert \let u = n * n; \let v = u + 1; u > 0; */ ;
   {
     int __gen_e_acsl_u_3;
     __gen_e_acsl_u_3 = 1;
-    __e_acsl_assert(__gen_e_acsl_u_3 + 1 == 2,(char *)"Assertion",
-                    (char *)"main",(char *)"(\\let u = 1; u) + 1 == 2",12);
+    __e_acsl_assert(__gen_e_acsl_u_3 + 1 == 2,"Assertion","main",
+                    "(\\let u = 1; u) + 1 == 2","tests/arith/let.c",12);
   }
   /*@ assert (\let u = 1; u) + 1 ≡ 2; */ ;
   {
@@ -43,8 +44,9 @@ int main(void)
     int __gen_e_acsl_v_2;
     __gen_e_acsl_u_4 = 1;
     __gen_e_acsl_v_2 = __gen_e_acsl_u_4 + 1;
-    __e_acsl_assert(__gen_e_acsl_v_2 == 2,(char *)"Assertion",(char *)"main",
-                    (char *)"\\let u = 1; (\\let v = u + 1; v) == 2",14);
+    __e_acsl_assert(__gen_e_acsl_v_2 == 2,"Assertion","main",
+                    "\\let u = 1; (\\let v = u + 1; v) == 2",
+                    "tests/arith/let.c",14);
   }
   /*@ assert \let u = 1; (\let v = u + 1; v) ≡ 2; */ ;
   {
@@ -52,8 +54,9 @@ int main(void)
     int __gen_e_acsl_u_6;
     __gen_e_acsl_u_5 = 1;
     __gen_e_acsl_u_6 = __gen_e_acsl_u_5 + 1;
-    __e_acsl_assert(__gen_e_acsl_u_6 == 2,(char *)"Assertion",(char *)"main",
-                    (char *)"\\let u = 1; (\\let u = u + 1; u) == 2",17);
+    __e_acsl_assert(__gen_e_acsl_u_6 == 2,"Assertion","main",
+                    "\\let u = 1; (\\let u = u + 1; u) == 2",
+                    "tests/arith/let.c",17);
   }
   /*@ assert \let u = 1; (\let u = u + 1; u) ≡ 2; */ ;
   long m = 0x7fffffffffffffffL;
@@ -72,8 +75,8 @@ int main(void)
     __gmpz_init_set_si(__gen_e_acsl_m,m);
     __gen_e_acsl_gt = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_mul),
                                  (__e_acsl_mpz_struct const *)(__gen_e_acsl_m));
-    __e_acsl_assert(__gen_e_acsl_gt > 0,(char *)"Assertion",(char *)"main",
-                    (char *)"(\\let u = m; u * u) > m",21);
+    __e_acsl_assert(__gen_e_acsl_gt > 0,"Assertion","main",
+                    "(\\let u = m; u * u) > m","tests/arith/let.c",21);
     __gmpz_clear(__gen_e_acsl_u_8);
     __gmpz_clear(__gen_e_acsl_mul);
     __gmpz_clear(__gen_e_acsl_m);
@@ -83,8 +86,8 @@ int main(void)
   {
     int __gen_e_acsl_u_9;
     __gen_e_acsl_u_9 = 'b';
-    __e_acsl_assert((int)c < __gen_e_acsl_u_9,(char *)"Assertion",
-                    (char *)"main",(char *)"\\let u = \'b\'; c < u",24);
+    __e_acsl_assert((int)c < __gen_e_acsl_u_9,"Assertion","main",
+                    "\\let u = \'b\'; c < u","tests/arith/let.c",24);
   }
   /*@ assert \let u = 'b'; c < u; */ ;
   float f = 1.0f;
@@ -93,23 +96,23 @@ int main(void)
   {
     float __gen_e_acsl_u_10;
     __gen_e_acsl_u_10 = f;
-    __e_acsl_assert(__gen_e_acsl_u_10 == f,(char *)"Assertion",
-                    (char *)"main",(char *)"\\let u = f; u == f",27);
+    __e_acsl_assert(__gen_e_acsl_u_10 == f,"Assertion","main",
+                    "\\let u = f; u == f","tests/arith/let.c",27);
   }
   /*@ assert \let u = f; u ≡ f; */ ;
   int t[4] = {1, 2, 3, 4};
   {
     int * /*[4]*/ __gen_e_acsl_u_11;
     __gen_e_acsl_u_11 = & t[1];
-    __e_acsl_assert(1,(char *)"Assertion",(char *)"main",
-                    (char *)"\\let u = &t[1]; 1 == 1",30);
+    __e_acsl_assert(1,"Assertion","main","\\let u = &t[1]; 1 == 1",
+                    "tests/arith/let.c",30);
   }
   /*@ assert \let u = &t[1]; 1 ≡ 1; */ ;
   {
     int * /*[4]*/ __gen_e_acsl_u_12;
     __gen_e_acsl_u_12 = & t[1];
-    __e_acsl_assert(1,(char *)"Assertion",(char *)"main",
-                    (char *)"(\\let u = &t[1]; 1) == 1",32);
+    __e_acsl_assert(1,"Assertion","main","(\\let u = &t[1]; 1) == 1",
+                    "tests/arith/let.c",32);
   }
   /*@ assert (\let u = &t[1]; 1) ≡ 1; */ ;
   struct __anonstruct_r_1 r = {.x = 1, .y = 2};
@@ -119,16 +122,16 @@ int main(void)
     struct __anonstruct_r_1 __gen_e_acsl_u_13;
     __gen_e_acsl_u_13 = r;
     __e_acsl_assert(__gen_e_acsl_u_13.x + (long)__gen_e_acsl_u_13.y == 3L,
-                    (char *)"Assertion",(char *)"main",
-                    (char *)"\\let u = r; u.x + u.y == 3",35);
+                    "Assertion","main","\\let u = r; u.x + u.y == 3",
+                    "tests/arith/let.c",35);
   }
   /*@ assert \let u = r; u.x + u.y ≡ 3; */ ;
   s.x = 5;
   {
     union __anonunion_s_2 __gen_e_acsl_u_14;
     __gen_e_acsl_u_14 = s;
-    __e_acsl_assert(__gen_e_acsl_u_14.x > 0,(char *)"Assertion",
-                    (char *)"main",(char *)"(\\let u = s; u.x) > 0",39);
+    __e_acsl_assert(__gen_e_acsl_u_14.x > 0,"Assertion","main",
+                    "(\\let u = s; u.x) > 0","tests/arith/let.c",39);
   }
   /*@ assert (\let u = s; u.x) > 0; */ ;
   __retres = 0;
diff --git a/src/plugins/e-acsl/tests/arith/oracle_ci/gen_longlong.c b/src/plugins/e-acsl/tests/arith/oracle_ci/gen_longlong.c
index c5fd1c90b6431a9b89acabf0d44b4f414a364c7a..9278b61ce9f86648b663fe7cb7ade212b1857410 100644
--- a/src/plugins/e-acsl/tests/arith/oracle_ci/gen_longlong.c
+++ b/src/plugins/e-acsl/tests/arith/oracle_ci/gen_longlong.c
@@ -55,14 +55,14 @@ int main(void)
                                         (__e_acsl_mpz_struct const *)(__gen_e_acsl__3));
     __gmpz_init(__gen_e_acsl_mod);
     /*@ assert E_ACSL: 2 ≢ 0; */
-    __e_acsl_assert(! (__gen_e_acsl_mod_guard == 0),(char *)"Assertion",
-                    (char *)"main",(char *)"2 == 0",17);
+    __e_acsl_assert(! (__gen_e_acsl_mod_guard == 0),"Assertion","main",
+                    "2 == 0","tests/arith/longlong.i",17);
     __gmpz_tdiv_r(__gen_e_acsl_mod,
                   (__e_acsl_mpz_struct const *)(__gen_e_acsl_add),
                   (__e_acsl_mpz_struct const *)(__gen_e_acsl_));
     __gen_e_acsl__4 = __gmpz_get_si((__e_acsl_mpz_struct const *)(__gen_e_acsl_mod));
-    __e_acsl_assert(__gen_e_acsl__4 == 1L,(char *)"Assertion",(char *)"main",
-                    (char *)"(2 * x + 1) % 2 == 1",17);
+    __e_acsl_assert(__gen_e_acsl__4 == 1L,"Assertion","main",
+                    "(2 * x + 1) % 2 == 1","tests/arith/longlong.i",17);
     __gmpz_clear(__gen_e_acsl_);
     __gmpz_clear(__gen_e_acsl_x);
     __gmpz_clear(__gen_e_acsl_mul);
diff --git a/src/plugins/e-acsl/tests/arith/oracle_ci/gen_not.c b/src/plugins/e-acsl/tests/arith/oracle_ci/gen_not.c
index 73d6eb615c0310fff4dfbcc0786bda6c294259f8..9426f228f9aef4d7b5589cb07889c6084df51c65 100644
--- a/src/plugins/e-acsl/tests/arith/oracle_ci/gen_not.c
+++ b/src/plugins/e-acsl/tests/arith/oracle_ci/gen_not.c
@@ -6,12 +6,10 @@ int main(void)
   int __retres;
   __e_acsl_memory_init((int *)0,(char ***)0,(size_t)8);
   int x = 0;
-  __e_acsl_assert(x == 0,(char *)"Assertion",(char *)"main",(char *)"x == 0",
-                  6);
+  __e_acsl_assert(x == 0,"Assertion","main","x == 0","tests/arith/not.i",6);
   /*@ assert x ≡ 0; */ ;
   if (x) {
-    __e_acsl_assert(x != 0,(char *)"Assertion",(char *)"main",
-                    (char *)"x != 0",7);
+    __e_acsl_assert(x != 0,"Assertion","main","x != 0","tests/arith/not.i",7);
     /*@ assert x ≢ 0; */ ;
   }
   __retres = 0;
diff --git a/src/plugins/e-acsl/tests/arith/oracle_ci/gen_quantif.c b/src/plugins/e-acsl/tests/arith/oracle_ci/gen_quantif.c
index 807601a9b2d28de16a8106180b88a2fa05621377..d5e965010d24862b584dee905bc13b35828388af 100644
--- a/src/plugins/e-acsl/tests/arith/oracle_ci/gen_quantif.c
+++ b/src/plugins/e-acsl/tests/arith/oracle_ci/gen_quantif.c
@@ -25,9 +25,9 @@ int main(void)
       __gen_e_acsl_x ++;
     }
     e_acsl_end_loop1: ;
-    __e_acsl_assert(__gen_e_acsl_forall,(char *)"Assertion",(char *)"main",
-                    (char *)"\\forall integer x; 0 <= x <= 1 ==> x == 0 || x == 1",
-                    9);
+    __e_acsl_assert(__gen_e_acsl_forall,"Assertion","main",
+                    "\\forall integer x; 0 <= x <= 1 ==> x == 0 || x == 1",
+                    "tests/arith/quantif.i",9);
   }
   /*@ assert ∀ ℤ x; 0 ≤ x ≤ 1 ⇒ x ≡ 0 ∨ x ≡ 1; */ ;
   {
@@ -45,8 +45,9 @@ int main(void)
       __gen_e_acsl_x_2 ++;
     }
     e_acsl_end_loop2: ;
-    __e_acsl_assert(__gen_e_acsl_forall_2,(char *)"Assertion",(char *)"main",
-                    (char *)"\\forall integer x; 0 < x <= 1 ==> x == 1",10);
+    __e_acsl_assert(__gen_e_acsl_forall_2,"Assertion","main",
+                    "\\forall integer x; 0 < x <= 1 ==> x == 1",
+                    "tests/arith/quantif.i",10);
   }
   /*@ assert ∀ ℤ x; 0 < x ≤ 1 ⇒ x ≡ 1; */ ;
   {
@@ -64,8 +65,9 @@ int main(void)
       __gen_e_acsl_x_3 ++;
     }
     e_acsl_end_loop3: ;
-    __e_acsl_assert(__gen_e_acsl_forall_3,(char *)"Assertion",(char *)"main",
-                    (char *)"\\forall integer x; 0 <= x < 1 ==> x == 0",11);
+    __e_acsl_assert(__gen_e_acsl_forall_3,"Assertion","main",
+                    "\\forall integer x; 0 <= x < 1 ==> x == 0",
+                    "tests/arith/quantif.i",11);
   }
   /*@ assert ∀ ℤ x; 0 ≤ x < 1 ⇒ x ≡ 0; */ ;
   {
@@ -96,9 +98,9 @@ int main(void)
       __gen_e_acsl_x_4 ++;
     }
     e_acsl_end_loop4: ;
-    __e_acsl_assert(__gen_e_acsl_forall_4,(char *)"Assertion",(char *)"main",
-                    (char *)"\\forall integer x, integer y, integer z;\n  0 <= x < 2 && 0 <= y < 5 && 0 <= z <= y ==> x + z <= y + 1",
-                    15);
+    __e_acsl_assert(__gen_e_acsl_forall_4,"Assertion","main",
+                    "\\forall integer x, integer y, integer z;\n  0 <= x < 2 && 0 <= y < 5 && 0 <= z <= y ==> x + z <= y + 1",
+                    "tests/arith/quantif.i",15);
   }
   /*@
   assert
@@ -121,8 +123,9 @@ int main(void)
       __gen_e_acsl_x_5 ++;
     }
     e_acsl_end_loop5: ;
-    __e_acsl_assert(__gen_e_acsl_exists,(char *)"Assertion",(char *)"main",
-                    (char *)"\\exists int x; 0 <= x < 10 && x == 5",20);
+    __e_acsl_assert(__gen_e_acsl_exists,"Assertion","main",
+                    "\\exists int x; 0 <= x < 10 && x == 5",
+                    "tests/arith/quantif.i",20);
   }
   /*@ assert ∃ int x; 0 ≤ x < 10 ∧ x ≡ 5; */ ;
   {
@@ -161,9 +164,9 @@ int main(void)
       __gen_e_acsl_x_6 ++;
     }
     e_acsl_end_loop7: ;
-    __e_acsl_assert(__gen_e_acsl_forall_5,(char *)"Assertion",(char *)"main",
-                    (char *)"\\forall int x;\n  0 <= x < 10 ==>\n  x % 2 == 0 ==> (\\exists integer y; 0 <= y <= x / 2 && x == 2 * y)",
-                    24);
+    __e_acsl_assert(__gen_e_acsl_forall_5,"Assertion","main",
+                    "\\forall int x;\n  0 <= x < 10 ==>\n  x % 2 == 0 ==> (\\exists integer y; 0 <= y <= x / 2 && x == 2 * y)",
+                    "tests/arith/quantif.i",24);
   }
   /*@
   assert
@@ -198,10 +201,9 @@ int main(void)
         __gen_e_acsl_i ++;
       }
       e_acsl_end_loop8: ;
-      __e_acsl_assert(__gen_e_acsl_forall_6,(char *)"Assertion",
-                      (char *)"main",
-                      (char *)"\\forall integer i; 0 <= i < 10 ==> \\valid(&buf[i])",
-                      30);
+      __e_acsl_assert(__gen_e_acsl_forall_6,"Assertion","main",
+                      "\\forall integer i; 0 <= i < 10 ==> \\valid(&buf[i])",
+                      "tests/arith/quantif.i",30);
     }
     /*@ assert ∀ ℤ i; 0 ≤ i < 10 ⇒ \valid(&buf[i]); */ ;
     {
@@ -226,10 +228,9 @@ int main(void)
         __gen_e_acsl_i_2 ++;
       }
       e_acsl_end_loop9: ;
-      __e_acsl_assert(__gen_e_acsl_forall_7,(char *)"Assertion",
-                      (char *)"main",
-                      (char *)"\\forall char i; 0 <= i < 10 ==> \\valid(&buf[i])",
-                      31);
+      __e_acsl_assert(__gen_e_acsl_forall_7,"Assertion","main",
+                      "\\forall char i; 0 <= i < 10 ==> \\valid(&buf[i])",
+                      "tests/arith/quantif.i",31);
     }
     /*@ assert ∀ char i; 0 ≤ i < 10 ⇒ \valid(&buf[i]); */ ;
     {
@@ -254,10 +255,9 @@ int main(void)
         __gen_e_acsl_i_3 ++;
       }
       e_acsl_end_loop10: ;
-      __e_acsl_assert(__gen_e_acsl_forall_8,(char *)"Assertion",
-                      (char *)"main",
-                      (char *)"\\forall integer i; 0 <= i < len ==> \\valid(&buf[i])",
-                      32);
+      __e_acsl_assert(__gen_e_acsl_forall_8,"Assertion","main",
+                      "\\forall integer i; 0 <= i < len ==> \\valid(&buf[i])",
+                      "tests/arith/quantif.i",32);
     }
     /*@ assert ∀ ℤ i; 0 ≤ i < len ⇒ \valid(&buf[i]); */ ;
     {
@@ -311,27 +311,28 @@ int main(void)
         }
       }
       e_acsl_end_loop11: ;
-      __e_acsl_assert(__gen_e_acsl_forall_9,(char *)"Assertion",
-                      (char *)"main",
-                      (char *)"\\forall integer i; 0 <= i <= len ==> \\valid(&buf[i])",
-                      33);
+      __e_acsl_assert(__gen_e_acsl_forall_9,"Assertion","main",
+                      "\\forall integer i; 0 <= i <= len ==> \\valid(&buf[i])",
+                      "tests/arith/quantif.i",33);
       __gmpz_clear(__gen_e_acsl_i_4);
     }
     /*@ assert ∀ ℤ i; 0 ≤ i ≤ len ⇒ \valid(&buf[i]); */ ;
     __e_acsl_delete_block((void *)(buf));
   }
-  __e_acsl_assert(1,(char *)"Assertion",(char *)"main",
-                  (char *)"\\forall integer x; 0 < x < 1 ==> \\false",37);
+  __e_acsl_assert(1,"Assertion","main",
+                  "\\forall integer x; 0 < x < 1 ==> \\false",
+                  "tests/arith/quantif.i",37);
   /*@ assert ∀ ℤ x; 0 < x < 1 ⇒ \false; */ ;
-  __e_acsl_assert(! 0,(char *)"Assertion",(char *)"main",
-                  (char *)"!(\\exists char c; 10 <= c < 10 && c == 10)",38);
+  __e_acsl_assert(! 0,"Assertion","main",
+                  "!(\\exists char c; 10 <= c < 10 && c == 10)",
+                  "tests/arith/quantif.i",38);
   /*@ assert ¬(∃ char c; 10 ≤ c < 10 ∧ c ≡ 10); */ ;
   {
     int __gen_e_acsl_u;
     __gen_e_acsl_u = 5;
-    __e_acsl_assert(1,(char *)"Assertion",(char *)"main",
-                    (char *)"\\let u = 5;\n\\forall integer x, integer y; 0 <= x < 2 && 4 < y < u ==> \\false",
-                    40);
+    __e_acsl_assert(1,"Assertion","main",
+                    "\\let u = 5;\n\\forall integer x, integer y; 0 <= x < 2 && 4 < y < u ==> \\false",
+                    "tests/arith/quantif.i",40);
   }
   /*@
   assert \let u = 5; ∀ ℤ x, ℤ y; 0 ≤ x < 2 ∧ 4 < y < u ⇒ \false;
diff --git a/src/plugins/e-acsl/tests/arith/oracle_ci/gen_rationals.c b/src/plugins/e-acsl/tests/arith/oracle_ci/gen_rationals.c
index 2161d2fc0f7e7621343e918328102589aa8ca0bf..8d7127bbb6383e83b6e645ba2300b1e5b3f95ef5 100644
--- a/src/plugins/e-acsl/tests/arith/oracle_ci/gen_rationals.c
+++ b/src/plugins/e-acsl/tests/arith/oracle_ci/gen_rationals.c
@@ -38,8 +38,8 @@ int main(void)
                (__e_acsl_mpq_struct const *)(__gen_e_acsl__3));
     __gen_e_acsl_eq = __gmpq_cmp((__e_acsl_mpq_struct const *)(__gen_e_acsl_),
                                  (__e_acsl_mpq_struct const *)(__gen_e_acsl_add));
-    __e_acsl_assert(__gen_e_acsl_eq == 0,(char *)"Assertion",(char *)"main",
-                    (char *)"3 == 1.5 + 1.5",12);
+    __e_acsl_assert(__gen_e_acsl_eq == 0,"Assertion","main","3 == 1.5 + 1.5",
+                    "tests/arith/rationals.c",12);
     __gmpq_clear(__gen_e_acsl_);
     __gmpq_clear(__gen_e_acsl__2);
     __gmpq_clear(__gen_e_acsl__3);
@@ -53,13 +53,13 @@ int main(void)
     __gmpq_set_str(__gen_e_acsl__4,"01/10",10);
     __gen_e_acsl_eq_2 = __gmpq_cmp((__e_acsl_mpq_struct const *)(__gen_e_acsl__4),
                                    (__e_acsl_mpq_struct const *)(__gen_e_acsl__4));
-    __e_acsl_assert(__gen_e_acsl_eq_2 == 0,(char *)"Assertion",
-                    (char *)"main",(char *)"0.1 == 0.1",13);
+    __e_acsl_assert(__gen_e_acsl_eq_2 == 0,"Assertion","main","0.1 == 0.1",
+                    "tests/arith/rationals.c",13);
     __gmpq_clear(__gen_e_acsl__4);
   }
   /*@ assert 0.1 ≡ 0.1; */ ;
-  __e_acsl_assert(1,(char *)"Assertion",(char *)"main",
-                  (char *)"(double)1.0 == 1.0",14);
+  __e_acsl_assert(1,"Assertion","main","(double)1.0 == 1.0",
+                  "tests/arith/rationals.c",14);
   /*@ assert (double)1.0 ≡ 1.0; */ ;
   {
     __e_acsl_mpq_t __gen_e_acsl__5;
@@ -74,8 +74,8 @@ int main(void)
     __gmpq_set_d(__gen_e_acsl__7,__gen_e_acsl__6);
     __gen_e_acsl_ne = __gmpq_cmp((__e_acsl_mpq_struct const *)(__gen_e_acsl__7),
                                  (__e_acsl_mpq_struct const *)(__gen_e_acsl__5));
-    __e_acsl_assert(__gen_e_acsl_ne != 0,(char *)"Assertion",(char *)"main",
-                    (char *)"(double)0.1 != 0.1",15);
+    __e_acsl_assert(__gen_e_acsl_ne != 0,"Assertion","main",
+                    "(double)0.1 != 0.1","tests/arith/rationals.c",15);
     __gmpq_clear(__gen_e_acsl__5);
     __gmpq_clear(__gen_e_acsl__7);
   }
@@ -93,8 +93,8 @@ int main(void)
     /*@ assert Eva: is_nan_or_infinite: \is_finite((float)__gen_e_acsl__9);
     */
     __e_acsl_assert((double)((float)__gen_e_acsl__9) != __gen_e_acsl__10,
-                    (char *)"Assertion",(char *)"main",
-                    (char *)"(float)0.1 != (double)0.1",16);
+                    "Assertion","main","(float)0.1 != (double)0.1",
+                    "tests/arith/rationals.c",16);
     __gmpq_clear(__gen_e_acsl__8);
   }
   /*@ assert (float)0.1 ≢ (double)0.1; */ ;
@@ -122,8 +122,8 @@ int main(void)
     __gmpq_set_d(__gen_e_acsl__15,__gen_e_acsl__12);
     __gen_e_acsl_ne_2 = __gmpq_cmp((__e_acsl_mpq_struct const *)(__gen_e_acsl__15),
                                    (__e_acsl_mpq_struct const *)(__gen_e_acsl_add_2));
-    __e_acsl_assert(__gen_e_acsl_ne_2 != 0,(char *)"Assertion",
-                    (char *)"main",(char *)"(double)1.1 != 1 + 0.1",17);
+    __e_acsl_assert(__gen_e_acsl_ne_2 != 0,"Assertion","main",
+                    "(double)1.1 != 1 + 0.1","tests/arith/rationals.c",17);
     __gmpq_clear(__gen_e_acsl__11);
     __gmpq_clear(__gen_e_acsl__13);
     __gmpq_clear(__gen_e_acsl__14);
@@ -157,8 +157,8 @@ int main(void)
                (__e_acsl_mpq_struct const *)(__gen_e_acsl__19));
     __gen_e_acsl_eq_3 = __gmpq_cmp((__e_acsl_mpq_struct const *)(__gen_e_acsl_add_3),
                                    (__e_acsl_mpq_struct const *)(__gen_e_acsl_sub));
-    __e_acsl_assert(__gen_e_acsl_eq_3 == 0,(char *)"Assertion",
-                    (char *)"main",(char *)"1 + 0.1 == 2 - 0.9",18);
+    __e_acsl_assert(__gen_e_acsl_eq_3 == 0,"Assertion","main",
+                    "1 + 0.1 == 2 - 0.9","tests/arith/rationals.c",18);
     __gmpq_clear(__gen_e_acsl__16);
     __gmpq_clear(__gen_e_acsl__17);
     __gmpq_clear(__gen_e_acsl_add_3);
@@ -188,8 +188,8 @@ int main(void)
     __gmpq_set_d(__gen_e_acsl__21,(double)sum);
     __gen_e_acsl_ne_3 = __gmpq_cmp((__e_acsl_mpq_struct const *)(__gen_e_acsl__21),
                                    (__e_acsl_mpq_struct const *)(__gen_e_acsl_mul));
-    __e_acsl_assert(__gen_e_acsl_ne_3 != 0,(char *)"Assertion",
-                    (char *)"main",(char *)"sum != x * y",22);
+    __e_acsl_assert(__gen_e_acsl_ne_3 != 0,"Assertion","main","sum != x * y",
+                    "tests/arith/rationals.c",22);
     __gmpq_clear(__gen_e_acsl_y);
     __gmpq_clear(__gen_e_acsl__20);
     __gmpq_clear(__gen_e_acsl_mul);
@@ -216,8 +216,8 @@ int main(void)
     __gmpq_set_d(__gen_e_acsl__24,1.1);
     __gen_e_acsl_ne_4 = __gmpq_cmp((__e_acsl_mpq_struct const *)(__gen_e_acsl__24),
                                    (__e_acsl_mpq_struct const *)(__gen_e_acsl_add_4));
-    __e_acsl_assert(__gen_e_acsl_ne_4 != 0,(char *)"Assertion",
-                    (char *)"main",(char *)"1.1d != 1 + 0.1",29);
+    __e_acsl_assert(__gen_e_acsl_ne_4 != 0,"Assertion","main",
+                    "1.1d != 1 + 0.1","tests/arith/rationals.c",29);
     __gmpq_clear(__gen_e_acsl__22);
     __gmpq_clear(__gen_e_acsl__23);
     __gmpq_clear(__gen_e_acsl_add_4);
@@ -306,9 +306,9 @@ double __gen_e_acsl_avg(double a, double b)
       __gmpq_clear(__gen_e_acsl__4);
     }
     else __gen_e_acsl_and = 0;
-    __e_acsl_assert(__gen_e_acsl_and,(char *)"Postcondition",(char *)"avg",
-                    (char *)"\\let delta = 1;\n\\let avg_real = (\\old(a) + \\old(b)) / 2;\n  avg_real - delta < \\result < avg_real + delta",
-                    4);
+    __e_acsl_assert(__gen_e_acsl_and,"Postcondition","avg",
+                    "\\let delta = 1;\n\\let avg_real = (\\old(a) + \\old(b)) / 2;\n  avg_real - delta < \\result < avg_real + delta",
+                    "tests/arith/rationals.c",4);
     __gmpq_clear(__gen_e_acsl_avg_real);
     __gmpq_clear(__gen_e_acsl_);
     __gmpq_clear(__gen_e_acsl_add);
diff --git a/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1304.c b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1304.c
index fea75302da0d2939bd7a2e470793ada676e254b3..69cf275ad871e22adade1febee237d73a55be2b0 100644
--- a/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1304.c
+++ b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1304.c
@@ -42,10 +42,9 @@ int main(void)
     int __gen_e_acsl_initialized;
     __gen_e_acsl_initialized = __e_acsl_initialized((void *)(buf),
                                                     sizeof(union msg));
-    __e_acsl_assert(__gen_e_acsl_initialized,(char *)"Assertion",
-                    (char *)"main",
-                    (char *)"\\initialized((union msg *)((unsigned char *)buf))",
-                    23);
+    __e_acsl_assert(__gen_e_acsl_initialized,"Assertion","main",
+                    "\\initialized((union msg *)((unsigned char *)buf))",
+                    "tests/bts/bts1304.i",23);
   }
   /*@ assert \initialized((union msg *)((unsigned char *)buf)); */ ;
   __retres = 0;
diff --git a/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1307.c b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1307.c
index 289f774c10818209ef571ac5a07d2a2589606cb1..dddabbabf17a85dca959564d00be7bd85e1a3ae4 100644
--- a/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1307.c
+++ b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1307.c
@@ -106,17 +106,17 @@ void __gen_e_acsl_bar(float *Mtmin_in, float *Mwmin, float *Mtmin_out)
     __gen_e_acsl_valid = __e_acsl_valid((void *)Mtmin_in,sizeof(float),
                                         (void *)Mtmin_in,
                                         (void *)(& Mtmin_in));
-    __e_acsl_assert(__gen_e_acsl_valid,(char *)"Precondition",(char *)"bar",
-                    (char *)"\\valid(Mtmin_in)",20);
+    __e_acsl_assert(__gen_e_acsl_valid,"Precondition","bar",
+                    "\\valid(Mtmin_in)","tests/bts/bts1307.i",20);
     __gen_e_acsl_valid_2 = __e_acsl_valid((void *)Mwmin,sizeof(float),
                                           (void *)Mwmin,(void *)(& Mwmin));
-    __e_acsl_assert(__gen_e_acsl_valid_2,(char *)"Precondition",
-                    (char *)"bar",(char *)"\\valid(Mwmin)",21);
+    __e_acsl_assert(__gen_e_acsl_valid_2,"Precondition","bar",
+                    "\\valid(Mwmin)","tests/bts/bts1307.i",21);
     __gen_e_acsl_valid_3 = __e_acsl_valid((void *)Mtmin_out,sizeof(float),
                                           (void *)Mtmin_out,
                                           (void *)(& Mtmin_out));
-    __e_acsl_assert(__gen_e_acsl_valid_3,(char *)"Precondition",
-                    (char *)"bar",(char *)"\\valid(Mtmin_out)",22);
+    __e_acsl_assert(__gen_e_acsl_valid_3,"Precondition","bar",
+                    "\\valid(Mtmin_out)","tests/bts/bts1307.i",22);
   }
   __gen_e_acsl_at_6 = Mwmin;
   __gen_e_acsl_at_5 = Mtmin_in;
@@ -134,14 +134,16 @@ void __gen_e_acsl_bar(float *Mtmin_in, float *Mwmin, float *Mtmin_out)
                                                   sizeof(float),
                                                   (void *)__gen_e_acsl_at_2,
                                                   (void *)(& __gen_e_acsl_at_2));
-    __e_acsl_assert(__gen_e_acsl_valid_read,(char *)"RTE",(char *)"bar",
-                    (char *)"mem_access: \\valid_read(__gen_e_acsl_at_2)",26);
+    __e_acsl_assert(__gen_e_acsl_valid_read,"RTE","bar",
+                    "mem_access: \\valid_read(__gen_e_acsl_at_2)",
+                    "tests/bts/bts1307.i",26);
     __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)__gen_e_acsl_at,
                                                     sizeof(float),
                                                     (void *)__gen_e_acsl_at,
                                                     (void *)(& __gen_e_acsl_at));
-    __e_acsl_assert(__gen_e_acsl_valid_read_2,(char *)"RTE",(char *)"bar",
-                    (char *)"mem_access: \\valid_read(__gen_e_acsl_at)",26);
+    __e_acsl_assert(__gen_e_acsl_valid_read_2,"RTE","bar",
+                    "mem_access: \\valid_read(__gen_e_acsl_at)",
+                    "tests/bts/bts1307.i",26);
     if (*__gen_e_acsl_at == *__gen_e_acsl_at_2) {
       __e_acsl_mpq_t __gen_e_acsl_;
       __e_acsl_mpq_t __gen_e_acsl__2;
@@ -173,9 +175,9 @@ void __gen_e_acsl_bar(float *Mtmin_in, float *Mwmin, float *Mtmin_out)
                                                       sizeof(float),
                                                       (void *)__gen_e_acsl_at_5,
                                                       (void *)(& __gen_e_acsl_at_5));
-      __e_acsl_assert(__gen_e_acsl_valid_read_3,(char *)"RTE",(char *)"bar",
-                      (char *)"mem_access: \\valid_read(__gen_e_acsl_at_5)",
-                      26);
+      __e_acsl_assert(__gen_e_acsl_valid_read_3,"RTE","bar",
+                      "mem_access: \\valid_read(__gen_e_acsl_at_5)",
+                      "tests/bts/bts1307.i",26);
       __gen_e_acsl_if = (double)*__gen_e_acsl_at_5 != 0.;
     }
     else {
@@ -202,9 +204,9 @@ void __gen_e_acsl_bar(float *Mtmin_in, float *Mwmin, float *Mtmin_out)
       __gmpq_clear(__gen_e_acsl_mul_2);
       __gmpq_clear(__gen_e_acsl__6);
     }
-    __e_acsl_assert(__gen_e_acsl_if,(char *)"Postcondition",(char *)"bar",
-                    (char *)"*\\old(Mtmin_out) == *\\old(Mtmin_in) < 0.85 * *\\old(Mwmin)?\n  *\\old(Mtmin_in) != 0.:\n  0.85 * *\\old(Mwmin) != 0.",
-                    26);
+    __e_acsl_assert(__gen_e_acsl_if,"Postcondition","bar",
+                    "*\\old(Mtmin_out) == *\\old(Mtmin_in) < 0.85 * *\\old(Mwmin)?\n  *\\old(Mtmin_in) != 0.:\n  0.85 * *\\old(Mwmin) != 0.",
+                    "tests/bts/bts1307.i",26);
     __e_acsl_delete_block((void *)(& Mtmin_out));
     __e_acsl_delete_block((void *)(& Mwmin));
     __e_acsl_delete_block((void *)(& Mtmin_in));
@@ -237,17 +239,17 @@ void __gen_e_acsl_foo(float *Mtmax_in, float *Mwmax, float *Mtmax_out)
     __gen_e_acsl_valid = __e_acsl_valid((void *)Mtmax_in,sizeof(float),
                                         (void *)Mtmax_in,
                                         (void *)(& Mtmax_in));
-    __e_acsl_assert(__gen_e_acsl_valid,(char *)"Precondition",(char *)"foo",
-                    (char *)"\\valid(Mtmax_in)",5);
+    __e_acsl_assert(__gen_e_acsl_valid,"Precondition","foo",
+                    "\\valid(Mtmax_in)","tests/bts/bts1307.i",5);
     __gen_e_acsl_valid_2 = __e_acsl_valid((void *)Mwmax,sizeof(float),
                                           (void *)Mwmax,(void *)(& Mwmax));
-    __e_acsl_assert(__gen_e_acsl_valid_2,(char *)"Precondition",
-                    (char *)"foo",(char *)"\\valid(Mwmax)",6);
+    __e_acsl_assert(__gen_e_acsl_valid_2,"Precondition","foo",
+                    "\\valid(Mwmax)","tests/bts/bts1307.i",6);
     __gen_e_acsl_valid_3 = __e_acsl_valid((void *)Mtmax_out,sizeof(float),
                                           (void *)Mtmax_out,
                                           (void *)(& Mtmax_out));
-    __e_acsl_assert(__gen_e_acsl_valid_3,(char *)"Precondition",
-                    (char *)"foo",(char *)"\\valid(Mtmax_out)",7);
+    __e_acsl_assert(__gen_e_acsl_valid_3,"Precondition","foo",
+                    "\\valid(Mtmax_out)","tests/bts/bts1307.i",7);
   }
   __gen_e_acsl_at_3 = Mwmax;
   __gen_e_acsl_at_2 = Mtmax_in;
@@ -302,10 +304,9 @@ void __gen_e_acsl_foo(float *Mtmax_in, float *Mwmax, float *Mtmax_out)
     __gmpq_set_d(__gen_e_acsl__7,(double)*__gen_e_acsl_at);
     __gen_e_acsl_ne = __gmpq_cmp((__e_acsl_mpq_struct const *)(__gen_e_acsl__7),
                                  (__e_acsl_mpq_struct const *)(__gen_e_acsl_add));
-    __e_acsl_assert(__gen_e_acsl_ne != 0,(char *)"Postcondition",
-                    (char *)"foo",
-                    (char *)"*\\old(Mtmax_out) != *\\old(Mtmax_in) + (5 - ((5 / 80) * *\\old(Mwmax)) * 0.4)",
-                    11);
+    __e_acsl_assert(__gen_e_acsl_ne != 0,"Postcondition","foo",
+                    "*\\old(Mtmax_out) != *\\old(Mtmax_in) + (5 - ((5 / 80) * *\\old(Mwmax)) * 0.4)",
+                    "tests/bts/bts1307.i",11);
     __e_acsl_delete_block((void *)(& Mtmax_out));
     __e_acsl_delete_block((void *)(& Mwmax));
     __e_acsl_delete_block((void *)(& Mtmax_in));
diff --git a/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1324.c b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1324.c
index 1abadc8db6503043f2c08ec02f6ad73666167eda..c0a299e37edcf2fcbadc801ccd3b5d5fa45a8482 100644
--- a/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1324.c
+++ b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1324.c
@@ -37,7 +37,7 @@ int main(void)
   __e_acsl_store_block((void *)(t),(size_t)28);
   __e_acsl_full_init((void *)(& t));
   int n = __gen_e_acsl_sorted(t,7);
-  __e_acsl_assert(n == 1,(char *)"Assertion",(char *)"main",(char *)"n == 1",
+  __e_acsl_assert(n == 1,"Assertion","main","n == 1","tests/bts/bts1324.i",
                   23);
   /*@ assert n ≡ 1; */ ;
   __retres = 0;
@@ -68,19 +68,17 @@ int __gen_e_acsl_sorted(int *t, int n)
         __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)(t + __gen_e_acsl_i),
                                                       sizeof(int),(void *)t,
                                                       (void *)(& t));
-        __e_acsl_assert(__gen_e_acsl_valid_read,(char *)"RTE",
-                        (char *)"sorted",
-                        (char *)"mem_access: \\valid_read(t + __gen_e_acsl_i)",
-                        6);
+        __e_acsl_assert(__gen_e_acsl_valid_read,"RTE","sorted",
+                        "mem_access: \\valid_read(t + __gen_e_acsl_i)",
+                        "tests/bts/bts1324.i",6);
         __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)(t + (
                                                                  __gen_e_acsl_i - 1L)),
                                                         sizeof(int),
                                                         (void *)t,
                                                         (void *)(& t));
-        __e_acsl_assert(__gen_e_acsl_valid_read_2,(char *)"RTE",
-                        (char *)"sorted",
-                        (char *)"mem_access: \\valid_read(t + (long)(__gen_e_acsl_i - 1))",
-                        6);
+        __e_acsl_assert(__gen_e_acsl_valid_read_2,"RTE","sorted",
+                        "mem_access: \\valid_read(t + (long)(__gen_e_acsl_i - 1))",
+                        "tests/bts/bts1324.i",6);
         if (*(t + (__gen_e_acsl_i - 1L)) <= *(t + __gen_e_acsl_i)) ;
         else {
           __gen_e_acsl_forall = 0;
@@ -97,10 +95,9 @@ int __gen_e_acsl_sorted(int *t, int n)
     int __gen_e_acsl_implies;
     if (! __gen_e_acsl_at) __gen_e_acsl_implies = 1;
     else __gen_e_acsl_implies = __retres == 1;
-    __e_acsl_assert(__gen_e_acsl_implies,(char *)"Postcondition",
-                    (char *)"sorted",
-                    (char *)"\\old(\\forall int i; 0 < i < n ==> *(t + (i - 1)) <= *(t + i)) ==>\n\\result == 1",
-                    7);
+    __e_acsl_assert(__gen_e_acsl_implies,"Postcondition","sorted",
+                    "\\old(\\forall int i; 0 < i < n ==> *(t + (i - 1)) <= *(t + i)) ==>\n\\result == 1",
+                    "tests/bts/bts1324.i",7);
     __e_acsl_delete_block((void *)(& t));
     return __retres;
   }
diff --git a/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1326.c b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1326.c
index 83e7978295a0b6115ddc55a14207e54e36feedf1..315f754cee7e3ea352066552a50e7559e8dcf1ff 100644
--- a/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1326.c
+++ b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1326.c
@@ -78,54 +78,54 @@ void __gen_e_acsl_atp_NORMAL_computeAverageAccel(ArrayInt *Accel,
                                                   sizeof(int),
                                                   (void *)(*__gen_e_acsl_at_6),
                                                   (void *)(*__gen_e_acsl_at_6));
-    __e_acsl_assert(__gen_e_acsl_valid_read,(char *)"RTE",
-                    (char *)"atp_NORMAL_computeAverageAccel",
-                    (char *)"mem_access: \\valid_read((int *)*__gen_e_acsl_at_6)",
-                    8);
+    __e_acsl_assert(__gen_e_acsl_valid_read,"RTE",
+                    "atp_NORMAL_computeAverageAccel",
+                    "mem_access: \\valid_read((int *)*__gen_e_acsl_at_6)",
+                    "tests/bts/bts1326.i",8);
     __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)(& (*__gen_e_acsl_at_5)[1]),
                                                     sizeof(int),
                                                     (void *)(& (*__gen_e_acsl_at_5)[1]),
                                                     (void *)0);
-    __e_acsl_assert(__gen_e_acsl_valid_read_2,(char *)"RTE",
-                    (char *)"atp_NORMAL_computeAverageAccel",
-                    (char *)"mem_access: \\valid_read(&(*__gen_e_acsl_at_5)[1])",
-                    8);
+    __e_acsl_assert(__gen_e_acsl_valid_read_2,"RTE",
+                    "atp_NORMAL_computeAverageAccel",
+                    "mem_access: \\valid_read(&(*__gen_e_acsl_at_5)[1])",
+                    "tests/bts/bts1326.i",8);
     __gen_e_acsl_valid_read_3 = __e_acsl_valid_read((void *)(& (*__gen_e_acsl_at_4)[2]),
                                                     sizeof(int),
                                                     (void *)(& (*__gen_e_acsl_at_4)[2]),
                                                     (void *)0);
-    __e_acsl_assert(__gen_e_acsl_valid_read_3,(char *)"RTE",
-                    (char *)"atp_NORMAL_computeAverageAccel",
-                    (char *)"mem_access: \\valid_read(&(*__gen_e_acsl_at_4)[2])",
-                    8);
+    __e_acsl_assert(__gen_e_acsl_valid_read_3,"RTE",
+                    "atp_NORMAL_computeAverageAccel",
+                    "mem_access: \\valid_read(&(*__gen_e_acsl_at_4)[2])",
+                    "tests/bts/bts1326.i",8);
     __gen_e_acsl_valid_read_4 = __e_acsl_valid_read((void *)(& (*__gen_e_acsl_at_3)[3]),
                                                     sizeof(int),
                                                     (void *)(& (*__gen_e_acsl_at_3)[3]),
                                                     (void *)0);
-    __e_acsl_assert(__gen_e_acsl_valid_read_4,(char *)"RTE",
-                    (char *)"atp_NORMAL_computeAverageAccel",
-                    (char *)"mem_access: \\valid_read(&(*__gen_e_acsl_at_3)[3])",
-                    8);
+    __e_acsl_assert(__gen_e_acsl_valid_read_4,"RTE",
+                    "atp_NORMAL_computeAverageAccel",
+                    "mem_access: \\valid_read(&(*__gen_e_acsl_at_3)[3])",
+                    "tests/bts/bts1326.i",8);
     __gen_e_acsl_valid_read_5 = __e_acsl_valid_read((void *)(& (*__gen_e_acsl_at_2)[4]),
                                                     sizeof(int),
                                                     (void *)(& (*__gen_e_acsl_at_2)[4]),
                                                     (void *)0);
-    __e_acsl_assert(__gen_e_acsl_valid_read_5,(char *)"RTE",
-                    (char *)"atp_NORMAL_computeAverageAccel",
-                    (char *)"mem_access: \\valid_read(&(*__gen_e_acsl_at_2)[4])",
-                    8);
+    __e_acsl_assert(__gen_e_acsl_valid_read_5,"RTE",
+                    "atp_NORMAL_computeAverageAccel",
+                    "mem_access: \\valid_read(&(*__gen_e_acsl_at_2)[4])",
+                    "tests/bts/bts1326.i",8);
     __gen_e_acsl_valid_read_6 = __e_acsl_valid_read((void *)__gen_e_acsl_at,
                                                     sizeof(int),
                                                     (void *)__gen_e_acsl_at,
                                                     (void *)(& __gen_e_acsl_at));
-    __e_acsl_assert(__gen_e_acsl_valid_read_6,(char *)"RTE",
-                    (char *)"atp_NORMAL_computeAverageAccel",
-                    (char *)"mem_access: \\valid_read(__gen_e_acsl_at)",8);
+    __e_acsl_assert(__gen_e_acsl_valid_read_6,"RTE",
+                    "atp_NORMAL_computeAverageAccel",
+                    "mem_access: \\valid_read(__gen_e_acsl_at)",
+                    "tests/bts/bts1326.i",8);
     __e_acsl_assert(*__gen_e_acsl_at == (int)((((((*__gen_e_acsl_at_2)[4] + (long)(*__gen_e_acsl_at_3)[3]) + (*__gen_e_acsl_at_4)[2]) + (*__gen_e_acsl_at_5)[1]) + (*__gen_e_acsl_at_6)[0]) / 5L),
-                    (char *)"Postcondition",
-                    (char *)"atp_NORMAL_computeAverageAccel",
-                    (char *)"*\\old(AverageAccel) ==\n(((((*\\old(Accel))[4] + (*\\old(Accel))[3]) + (*\\old(Accel))[2]) +\n  (*\\old(Accel))[1])\n + (*\\old(Accel))[0])\n/ 5",
-                    8);
+                    "Postcondition","atp_NORMAL_computeAverageAccel",
+                    "*\\old(AverageAccel) ==\n(((((*\\old(Accel))[4] + (*\\old(Accel))[3]) + (*\\old(Accel))[2]) +\n  (*\\old(Accel))[1])\n + (*\\old(Accel))[0])\n/ 5",
+                    "tests/bts/bts1326.i",8);
     __e_acsl_delete_block((void *)(& AverageAccel));
     __e_acsl_delete_block((void *)(& Accel));
     return;
diff --git a/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1390.c b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1390.c
index fff8c66175e9a6b3d955bf7fd942209a948673c6..0dd57437ec161e0e7621b04820c1ce9dbab3a169 100644
--- a/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1390.c
+++ b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1390.c
@@ -84,10 +84,9 @@ void *__gen_e_acsl_memchr(void const *buf, int c, size_t n)
                                                         sizeof(char),
                                                         (void *)buf,
                                                         (void *)(& buf));
-        __e_acsl_assert(__gen_e_acsl_valid_read_3,(char *)"RTE",
-                        (char *)"memchr",
-                        (char *)"mem_access: \\valid_read((char *)buf + __gen_e_acsl_k)",
-                        11);
+        __e_acsl_assert(__gen_e_acsl_valid_read_3,"RTE","memchr",
+                        "mem_access: \\valid_read((char *)buf + __gen_e_acsl_k)",
+                        "tests/bts/bts1390.c",11);
         if ((int)*((char *)buf + __gen_e_acsl_k) != c) ;
         else {
           __gen_e_acsl_forall_2 = 0;
@@ -115,10 +114,9 @@ void *__gen_e_acsl_memchr(void const *buf, int c, size_t n)
                                                       sizeof(char),
                                                       (void *)buf,
                                                       (void *)(& buf));
-        __e_acsl_assert(__gen_e_acsl_valid_read,(char *)"RTE",
-                        (char *)"memchr",
-                        (char *)"mem_access: \\valid_read((char *)buf + __gen_e_acsl_i)",
-                        8);
+        __e_acsl_assert(__gen_e_acsl_valid_read,"RTE","memchr",
+                        "mem_access: \\valid_read((char *)buf + __gen_e_acsl_i)",
+                        "tests/bts/bts1390.c",8);
         if (! ((int)*((char *)buf + __gen_e_acsl_i) == c)) ;
         else {
           __gen_e_acsl_exists = 1;
@@ -154,10 +152,9 @@ void *__gen_e_acsl_memchr(void const *buf, int c, size_t n)
                                                           sizeof(char),
                                                           (void *)__gen_e_acsl_at_2,
                                                           (void *)(& __gen_e_acsl_at_2));
-          __e_acsl_assert(__gen_e_acsl_valid_read_2,(char *)"RTE",
-                          (char *)"memchr",
-                          (char *)"mem_access: \\valid_read((char *)__gen_e_acsl_at_2 + __gen_e_acsl_j)",
-                          9);
+          __e_acsl_assert(__gen_e_acsl_valid_read_2,"RTE","memchr",
+                          "mem_access: \\valid_read((char *)__gen_e_acsl_at_2 + __gen_e_acsl_j)",
+                          "tests/bts/bts1390.c",9);
           if ((int)*((char *)__gen_e_acsl_at_2 + __gen_e_acsl_j) != __gen_e_acsl_at_3) 
             ;
           else {
@@ -170,16 +167,14 @@ void *__gen_e_acsl_memchr(void const *buf, int c, size_t n)
       e_acsl_end_loop2: ;
       __gen_e_acsl_implies = __gen_e_acsl_forall;
     }
-    __e_acsl_assert(__gen_e_acsl_implies,(char *)"Postcondition",
-                    (char *)"memchr",
-                    (char *)"\\old(\\exists integer i; 0 <= i < (int)n && (int)*((char *)buf + i) == c) ==>\n(\\forall int j;\n   0 <= j < (int)\\offset((char *)\\result) ==>\n   (int)*((char *)\\old(buf) + j) != \\old(c))",
-                    9);
+    __e_acsl_assert(__gen_e_acsl_implies,"Postcondition","memchr",
+                    "\\old(\\exists integer i; 0 <= i < (int)n && (int)*((char *)buf + i) == c) ==>\n(\\forall int j;\n   0 <= j < (int)\\offset((char *)\\result) ==>\n   (int)*((char *)\\old(buf) + j) != \\old(c))",
+                    "tests/bts/bts1390.c",9);
     if (! __gen_e_acsl_at_4) __gen_e_acsl_implies_2 = 1;
     else __gen_e_acsl_implies_2 = __retres == (void *)0;
-    __e_acsl_assert(__gen_e_acsl_implies_2,(char *)"Postcondition",
-                    (char *)"memchr",
-                    (char *)"\\old(\\forall integer k; 0 <= k < (int)n ==> (int)*((char *)buf + k) != c) ==>\n\\result == (void *)0",
-                    12);
+    __e_acsl_assert(__gen_e_acsl_implies_2,"Postcondition","memchr",
+                    "\\old(\\forall integer k; 0 <= k < (int)n ==> (int)*((char *)buf + k) != c) ==>\n\\result == (void *)0",
+                    "tests/bts/bts1390.c",12);
     __e_acsl_delete_block((void *)(& buf));
     __e_acsl_delete_block((void *)(& __retres));
     return __retres;
diff --git a/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1395.c b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1395.c
index 2e09743abd720bc206b46e84b4bb5a3883dd820e..f9def933ef75326a30452f1c36516c48a5288ccb 100644
--- a/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1395.c
+++ b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1395.c
@@ -27,8 +27,8 @@ int main(void)
   int __retres;
   __e_acsl_memory_init((int *)0,(char ***)0,(size_t)8);
   int x = __gen_e_acsl_fact(5);
-  __e_acsl_assert(x == 120,(char *)"Assertion",(char *)"main",
-                  (char *)"x == 120",14);
+  __e_acsl_assert(x == 120,"Assertion","main","x == 120",
+                  "tests/bts/bts1395.i",14);
   /*@ assert x ≡ 120; */ ;
   __retres = 0;
   return __retres;
@@ -38,8 +38,8 @@ int main(void)
 int __gen_e_acsl_fact(int n)
 {
   int __retres;
-  __e_acsl_assert(n > 0,(char *)"Precondition",(char *)"fact",
-                  (char *)"n > 0",6);
+  __e_acsl_assert(n > 0,"Precondition","fact","n > 0","tests/bts/bts1395.i",
+                  6);
   __retres = fact(n);
   return __retres;
 }
diff --git a/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1399.c b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1399.c
index fdf87a1503301d86fbed402f1ef8710a00310e8e..2168cfcf29b80a91829c36d6eaf3f2811853f641 100644
--- a/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1399.c
+++ b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1399.c
@@ -23,17 +23,16 @@ int main(void)
                                                   sizeof(unsigned int),
                                                   (void *)(& state->bitsInQueue),
                                                   (void *)0);
-    __e_acsl_assert(__gen_e_acsl_valid_read,(char *)"RTE",(char *)"main",
-                    (char *)"mem_access: \\valid_read(&state->bitsInQueue)",
-                    19);
+    __e_acsl_assert(__gen_e_acsl_valid_read,"RTE","main",
+                    "mem_access: \\valid_read(&state->bitsInQueue)",
+                    "tests/bts/bts1399.c",19);
     __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& state->dataQueue[
                                                     state->bitsInQueue / 8U]),
                                                     sizeof(unsigned char __attribute__((
                                                     __aligned__(32)))));
-    __e_acsl_assert(! __gen_e_acsl_initialized,(char *)"Assertion",
-                    (char *)"main",
-                    (char *)"!\\initialized(&state->dataQueue[state->bitsInQueue / 8])",
-                    19);
+    __e_acsl_assert(! __gen_e_acsl_initialized,"Assertion","main",
+                    "!\\initialized(&state->dataQueue[state->bitsInQueue / 8])",
+                    "tests/bts/bts1399.c",19);
   }
   /*@ assert ¬\initialized(&state->dataQueue[state->bitsInQueue / 8]); */ ;
   free((void *)state);
diff --git a/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1478.c b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1478.c
index 9d38eb9b4037c025976aab3b0debf34537910361..869af38e287486855fd54b901886ef56a91caf92 100644
--- a/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1478.c
+++ b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1478.c
@@ -26,15 +26,15 @@ void __gen_e_acsl_loop(void)
 {
   {
     int __gen_e_acsl_valid;
-    __e_acsl_assert(global_i == 0,(char *)"Precondition",(char *)"loop",
-                    (char *)"global_i == 0",9);
+    __e_acsl_assert(global_i == 0,"Precondition","loop","global_i == 0",
+                    "tests/bts/bts1478.c",9);
     __gen_e_acsl_valid = __e_acsl_valid((void *)global_i_ptr,sizeof(int),
                                         (void *)global_i_ptr,
                                         (void *)(& global_i_ptr));
-    __e_acsl_assert(__gen_e_acsl_valid,(char *)"Precondition",(char *)"loop",
-                    (char *)"\\valid(global_i_ptr)",10);
-    __e_acsl_assert(global_i_ptr == & global_i,(char *)"Precondition",
-                    (char *)"loop",(char *)"global_i_ptr == &global_i",11);
+    __e_acsl_assert(__gen_e_acsl_valid,"Precondition","loop",
+                    "\\valid(global_i_ptr)","tests/bts/bts1478.c",10);
+    __e_acsl_assert(global_i_ptr == & global_i,"Precondition","loop",
+                    "global_i_ptr == &global_i","tests/bts/bts1478.c",11);
   }
   loop();
   return;
diff --git a/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1700.c b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1700.c
index c824f70080dd35f57f873c2ead21503bded29f8d..7343c2d33895d60c6567598d3324905e16bd2c7a 100644
--- a/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1700.c
+++ b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1700.c
@@ -16,8 +16,8 @@ int main(void)
     int __gen_e_acsl_valid;
     __gen_e_acsl_valid = __e_acsl_valid((void *)(& s),sizeof(struct toto),
                                         (void *)(& s),(void *)0);
-    __e_acsl_assert(__gen_e_acsl_valid,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(&s)",9);
+    __e_acsl_assert(__gen_e_acsl_valid,"Assertion","main","\\valid(&s)",
+                    "tests/bts/bts1700.i",9);
   }
   /*@ assert \valid(&s); */ ;
   __e_acsl_full_init((void *)(& p));
@@ -34,8 +34,8 @@ int main(void)
       __gen_e_acsl_and = __gen_e_acsl_valid_2;
     }
     else __gen_e_acsl_and = 0;
-    __e_acsl_assert(__gen_e_acsl_and,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(p)",12);
+    __e_acsl_assert(__gen_e_acsl_and,"Assertion","main","\\valid(p)",
+                    "tests/bts/bts1700.i",12);
   }
   /*@ assert \valid(p); */ ;
   __retres = 0;
diff --git a/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1717.c b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1717.c
index 98cad6513199bdb168fb729cb1fd4a44ba181d4e..decb020884bd9905b3b7585220261037c6239991 100644
--- a/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1717.c
+++ b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1717.c
@@ -25,8 +25,8 @@ int main(void)
       __gen_e_acsl_and = __gen_e_acsl_valid;
     }
     else __gen_e_acsl_and = 0;
-    __e_acsl_assert(__gen_e_acsl_and,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(p)",10);
+    __e_acsl_assert(__gen_e_acsl_and,"Assertion","main","\\valid(p)",
+                    "tests/bts/bts1717.i",10);
   }
   __retres = 0;
   goto return_label;
diff --git a/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1718.c b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1718.c
index 9390aede98cae4c5436ef701e426508af52292cb..a076c7789a3df7ff28f98fcd7749a198275c2bbf 100644
--- a/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1718.c
+++ b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1718.c
@@ -25,8 +25,8 @@ int main(void)
       __gen_e_acsl_and = __gen_e_acsl_valid;
     }
     else __gen_e_acsl_and = 0;
-    __e_acsl_assert(__gen_e_acsl_and,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(p)",13);
+    __e_acsl_assert(__gen_e_acsl_and,"Assertion","main","\\valid(p)",
+                    "tests/bts/bts1718.i",13);
   }
   __retres = 0;
   goto return_label;
diff --git a/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1740.c b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1740.c
index 321c5af3fb4d4dded87cd8d8c26af0f5ea5fa856..ee8220d206ce297f6049fabbac14c0083640be76 100644
--- a/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1740.c
+++ b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1740.c
@@ -25,8 +25,8 @@ int main(void)
         __gen_e_acsl_and = __gen_e_acsl_valid;
       }
       else __gen_e_acsl_and = 0;
-      __e_acsl_assert(__gen_e_acsl_and,(char *)"Assertion",(char *)"main",
-                      (char *)"\\valid(p)",11);
+      __e_acsl_assert(__gen_e_acsl_and,"Assertion","main","\\valid(p)",
+                      "tests/bts/bts1740.i",11);
     }
     /*@ assert \valid(p); */ ;
     __e_acsl_delete_block((void *)(& a));
@@ -48,8 +48,8 @@ int main(void)
       __gen_e_acsl_and_2 = __gen_e_acsl_valid_2;
     }
     else __gen_e_acsl_and_2 = 0;
-    __e_acsl_assert(! __gen_e_acsl_and_2,(char *)"Assertion",(char *)"main",
-                    (char *)"!\\valid(p)",16);
+    __e_acsl_assert(! __gen_e_acsl_and_2,"Assertion","main","!\\valid(p)",
+                    "tests/bts/bts1740.i",16);
   }
   __retres = 0;
   __e_acsl_delete_block((void *)(& p));
diff --git a/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1837.c b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1837.c
index 67377d62d959b537fc8ef24be350a537d9d63585..20ab35b8cb019792f609cad02946e874a71bd89e 100644
--- a/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1837.c
+++ b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1837.c
@@ -18,8 +18,8 @@ int f(void)
     int __gen_e_acsl_valid_read;
     __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)S,sizeof(char),
                                                   (void *)S,(void *)(& S));
-    __e_acsl_assert(__gen_e_acsl_valid_read,(char *)"Assertion",(char *)"f",
-                    (char *)"\\valid_read(S)",10);
+    __e_acsl_assert(__gen_e_acsl_valid_read,"Assertion","f",
+                    "\\valid_read(S)","tests/bts/bts1837.i",10);
   }
   /*@ assert \valid_read(S); */ ;
   {
@@ -36,8 +36,8 @@ int f(void)
       __gen_e_acsl_and = __gen_e_acsl_valid_read_2;
     }
     else __gen_e_acsl_and = 0;
-    __e_acsl_assert(__gen_e_acsl_and,(char *)"Assertion",(char *)"f",
-                    (char *)"\\valid_read(s1)",11);
+    __e_acsl_assert(__gen_e_acsl_and,"Assertion","f","\\valid_read(s1)",
+                    "tests/bts/bts1837.i",11);
   }
   /*@ assert \valid_read(s1); */ ;
   {
@@ -54,8 +54,8 @@ int f(void)
       __gen_e_acsl_and_2 = __gen_e_acsl_valid_read_3;
     }
     else __gen_e_acsl_and_2 = 0;
-    __e_acsl_assert(__gen_e_acsl_and_2,(char *)"Assertion",(char *)"f",
-                    (char *)"\\valid_read(s2)",12);
+    __e_acsl_assert(__gen_e_acsl_and_2,"Assertion","f","\\valid_read(s2)",
+                    "tests/bts/bts1837.i",12);
   }
   /*@ assert \valid_read(s2); */ ;
   __retres = 0;
@@ -119,8 +119,8 @@ int main(void)
           __gen_e_acsl_and = __gen_e_acsl_valid_read;
         }
         else __gen_e_acsl_and = 0;
-        __e_acsl_assert(__gen_e_acsl_and,(char *)"Assertion",(char *)"main",
-                        (char *)"\\valid_read(s)",20);
+        __e_acsl_assert(__gen_e_acsl_and,"Assertion","main",
+                        "\\valid_read(s)","tests/bts/bts1837.i",20);
       }
       /*@ assert \valid_read(s); */ ;
       {
@@ -135,8 +135,8 @@ int main(void)
           __gen_e_acsl_and_2 = __gen_e_acsl_valid;
         }
         else __gen_e_acsl_and_2 = 0;
-        __e_acsl_assert(! __gen_e_acsl_and_2,(char *)"Assertion",
-                        (char *)"main",(char *)"!\\valid(s)",21);
+        __e_acsl_assert(! __gen_e_acsl_and_2,"Assertion","main",
+                        "!\\valid(s)","tests/bts/bts1837.i",21);
       }
       /*@ assert ¬\valid(s); */ ;
       __e_acsl_delete_block((void *)(& s));
diff --git a/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts2191.c b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts2191.c
index 718561881823c6e56b1b8f6408c77043d6562ec3..809a47170c6359d63984dc7c997463a7d5fc9a5d 100644
--- a/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts2191.c
+++ b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts2191.c
@@ -50,8 +50,8 @@ int main(int argc, char **argv)
       __gen_e_acsl_and = __gen_e_acsl_valid_read;
     }
     else __gen_e_acsl_and = 0;
-    __e_acsl_assert(__gen_e_acsl_and,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid_read(_G[0].str)",22);
+    __e_acsl_assert(__gen_e_acsl_and,"Assertion","main",
+                    "\\valid_read(_G[0].str)","tests/bts/bts2191.c",22);
   }
   /*@ assert \valid_read(_G[0].str); */ ;
   __retres = 0;
diff --git a/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts2231.c b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts2231.c
index 06417d5abd615aa165f9befe0fe86ce3cc6e9c57..64ef82e9bf903467868e6fc87904a2957811d739 100644
--- a/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts2231.c
+++ b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts2231.c
@@ -32,8 +32,9 @@ int main(void)
     __gmpz_init_set_si(__gen_e_acsl__4,(long)(-1));
     __gen_e_acsl_eq = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_add),
                                  (__e_acsl_mpz_struct const *)(__gen_e_acsl__4));
-    __e_acsl_assert(__gen_e_acsl_eq == 0,(char *)"Assertion",(char *)"main",
-                    (char *)"A + (long)((long)(3 * A) - 1) == -1",8);
+    __e_acsl_assert(__gen_e_acsl_eq == 0,"Assertion","main",
+                    "A + (long)((long)(3 * A) - 1) == -1",
+                    "tests/bts/bts2231.i",8);
     __gmpz_clear(__gen_e_acsl_A);
     __gmpz_clear(__gen_e_acsl_);
     __gmpz_clear(__gen_e_acsl_mul);
diff --git a/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts2252.c b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts2252.c
index 33356991e2b55f06b40c430b3e4cd64a7a5e3ae9..4ee6b66b44b57196aa0861c7e89c5fcd16e2ea9f 100644
--- a/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts2252.c
+++ b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts2252.c
@@ -39,9 +39,8 @@ int main(void)
                                                       sizeof(char),
                                                       (void *)srcbuf,
                                                       (void *)(& srcbuf));
-        __e_acsl_assert(! __gen_e_acsl_valid_read,(char *)"Assertion",
-                        (char *)"main",(char *)"!\\valid_read(srcbuf + i)",
-                        16);
+        __e_acsl_assert(! __gen_e_acsl_valid_read,"Assertion","main",
+                        "!\\valid_read(srcbuf + i)","tests/bts/bts2252.c",16);
       }
       /*@ assert ¬\valid_read(srcbuf + i); */ ;
       /*@ assert Eva: mem_access: \valid_read(srcbuf + i); */
diff --git a/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts2386.c b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts2386.c
index 9643e17d5e841b0e36a84f0aa0df263d8721529f..bcaacac3a1ea3e50b3528a9f355f040e4a9b7a69 100644
--- a/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts2386.c
+++ b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts2386.c
@@ -21,15 +21,17 @@ void f(void const *s, int c, unsigned long n)
                (__e_acsl_mpz_struct const *)(__gen_e_acsl_n));
     __gen_e_acsl_eq = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_),
                                  (__e_acsl_mpz_struct const *)(__gen_e_acsl_sub));
-    __e_acsl_assert(__gen_e_acsl_eq == 0,(char *)"Assertion",(char *)"f",
-                    (char *)"p - (unsigned char const *)s == n - n",7);
+    __e_acsl_assert(__gen_e_acsl_eq == 0,"Assertion","f",
+                    "p - (unsigned char const *)s == n - n",
+                    "tests/bts/bts2386.c",7);
     __gmpz_clear(__gen_e_acsl_);
     __gmpz_clear(__gen_e_acsl_n);
     __gmpz_clear(__gen_e_acsl_sub);
   }
   /*@ assert p - (unsigned char const *)s ≡ n - n; */ ;
-  __e_acsl_assert(p - (unsigned char const *)s == 0UL,(char *)"Assertion",
-                  (char *)"f",(char *)"p - (unsigned char const *)s == 0",8);
+  __e_acsl_assert(p - (unsigned char const *)s == 0UL,"Assertion","f",
+                  "p - (unsigned char const *)s == 0","tests/bts/bts2386.c",
+                  8);
   /*@ assert p - (unsigned char const *)s ≡ 0; */ ;
   __e_acsl_delete_block((void *)(& s));
   __e_acsl_delete_block((void *)(& p));
diff --git a/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts2406.c b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts2406.c
index b49521a3610cdf5dfedbd087a033b71f62d83452..8e24a58e6223bf92569de8db4eb0e67f6ee23db5 100644
--- a/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts2406.c
+++ b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts2406.c
@@ -26,16 +26,16 @@ int main(void)
     int __gen_e_acsl_valid;
     __gen_e_acsl_valid = __e_acsl_valid((void *)(p + 1 * 0),(size_t)9,
                                         (void *)p,(void *)(& p));
-    __e_acsl_assert(! __gen_e_acsl_valid,(char *)"Assertion",(char *)"main",
-                    (char *)"!\\valid(p + (0 .. 9))",10);
+    __e_acsl_assert(! __gen_e_acsl_valid,"Assertion","main",
+                    "!\\valid(p + (0 .. 9))","tests/bts/bts2406.c",10);
   }
   /*@ assert ¬\valid(p + (0 .. 9)); */ ;
   {
     int __gen_e_acsl_valid_2;
     __gen_e_acsl_valid_2 = __e_acsl_valid((void *)(& t + 1 * 0),(size_t)9,
                                           (void *)(& t),(void *)0);
-    __e_acsl_assert(__gen_e_acsl_valid_2,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(&t[0 .. 9])",11);
+    __e_acsl_assert(__gen_e_acsl_valid_2,"Assertion","main",
+                    "\\valid(&t[0 .. 9])","tests/bts/bts2406.c",11);
   }
   /*@ assert \valid(&t[0 .. 9]); */ ;
   __retres = 0;
diff --git a/src/plugins/e-acsl/tests/bts/oracle_ci/gen_issue69.c b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_issue69.c
index 400e173ab122f6b36c0b3235e81e3d70521581d0..cbc6c2e0d193f650e3ad3e14d969d8ba58d1518a 100644
--- a/src/plugins/e-acsl/tests/bts/oracle_ci/gen_issue69.c
+++ b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_issue69.c
@@ -25,9 +25,9 @@ int main(void)
       __gen_e_acsl_c ++;
     }
     e_acsl_end_loop1: ;
-    __e_acsl_assert(__gen_e_acsl_forall,(char *)"Assertion",(char *)"main",
-                    (char *)"\\forall unsigned char c; 4 <= c <= 300 ==> 0 <= c <= 255",
-                    6);
+    __e_acsl_assert(__gen_e_acsl_forall,"Assertion","main",
+                    "\\forall unsigned char c; 4 <= c <= 300 ==> 0 <= c <= 255",
+                    "tests/bts/issue69.c",6);
   }
   /*@ assert ∀ unsigned char c; 4 ≤ c ≤ 300 ⇒ 0 ≤ c ≤ 255; */ ;
   int n = 5;
@@ -45,8 +45,8 @@ int main(void)
         int __gen_e_acsl_and_2;
         if (-128 <= __gen_e_acsl_u) __gen_e_acsl_and_2 = __gen_e_acsl_u <= 127;
         else __gen_e_acsl_and_2 = 0;
-        __e_acsl_assert(__gen_e_acsl_and_2,(char *)"RTE",(char *)"main",
-                        (char *)"-128 <= u <= 127",11);
+        __e_acsl_assert(__gen_e_acsl_and_2,"RTE","main","-128 <= u <= 127",
+                        "tests/bts/issue69.c",11);
       }
       if (__gen_e_acsl_u < __gen_e_acsl_m) ; else break;
       if (__gen_e_acsl_u > 0) ;
@@ -57,9 +57,9 @@ int main(void)
       __gen_e_acsl_u ++;
     }
     e_acsl_end_loop2: ;
-    __e_acsl_assert(__gen_e_acsl_forall_2,(char *)"Assertion",(char *)"main",
-                    (char *)"\\let m = n > 0? 4: 341;\n\\forall char u; 1 < u < m ==> u > 0",
-                    10);
+    __e_acsl_assert(__gen_e_acsl_forall_2,"Assertion","main",
+                    "\\let m = n > 0? 4: 341;\n\\forall char u; 1 < u < m ==> u > 0",
+                    "tests/bts/issue69.c",10);
   }
   /*@ assert \let m = n > 0? 4: 341; ∀ char u; 1 < u < m ⇒ u > 0; */ ;
   __retres = 0;
diff --git a/src/plugins/e-acsl/tests/constructs/oracle_ci/gen_false.c b/src/plugins/e-acsl/tests/constructs/oracle_ci/gen_false.c
index 719d58ee4fcfc818357b0837624e91a834e1696e..ffb55240c93494ac3528ad961f911ea9c45767fc 100644
--- a/src/plugins/e-acsl/tests/constructs/oracle_ci/gen_false.c
+++ b/src/plugins/e-acsl/tests/constructs/oracle_ci/gen_false.c
@@ -7,7 +7,8 @@ int main(void)
   __e_acsl_memory_init((int *)0,(char ***)0,(size_t)8);
   int x = 0;
   if (x) {
-    __e_acsl_assert(0,(char *)"Assertion",(char *)"main",(char *)"\\false",6);
+    __e_acsl_assert(0,"Assertion","main","\\false",
+                    "tests/constructs/false.i",6);
     /*@ assert \false; */ ;
   }
   __retres = 0;
diff --git a/src/plugins/e-acsl/tests/constructs/oracle_ci/gen_function_contract.c b/src/plugins/e-acsl/tests/constructs/oracle_ci/gen_function_contract.c
index 74500e3f7df7d896d76268a6dbd73b7bd98e678d..dcfe6a61c3fd5c6f03344258a6165871a104c588 100644
--- a/src/plugins/e-acsl/tests/constructs/oracle_ci/gen_function_contract.c
+++ b/src/plugins/e-acsl/tests/constructs/oracle_ci/gen_function_contract.c
@@ -83,7 +83,8 @@ int __gen_e_acsl_l(void);
 
 int l(void)
 {
-  __e_acsl_assert(Y == 2,(char *)"Assertion",(char *)"l",(char *)"Y == 2",49);
+  __e_acsl_assert(Y == 2,"Assertion","l","Y == 2",
+                  "tests/constructs/function_contract.i",49);
   /*@ assert Y ≡ 2; */ ;
   return X;
 }
@@ -157,10 +158,10 @@ void __gen_e_acsl_n(void)
 {
   int __gen_e_acsl_at_2;
   int __gen_e_acsl_at;
-  __e_acsl_assert(X > 0,(char *)"Precondition",(char *)"n",(char *)"X > 0",
-                  65);
-  __e_acsl_assert(X < 10,(char *)"Precondition",(char *)"n",(char *)"X < 10",
-                  66);
+  __e_acsl_assert(X > 0,"Precondition","n","X > 0",
+                  "tests/constructs/function_contract.i",65);
+  __e_acsl_assert(X < 10,"Precondition","n","X < 10",
+                  "tests/constructs/function_contract.i",66);
   __gen_e_acsl_at_2 = X == 5;
   __gen_e_acsl_at = X == 7;
   n();
@@ -169,12 +170,14 @@ void __gen_e_acsl_n(void)
     int __gen_e_acsl_implies_2;
     if (! __gen_e_acsl_at) __gen_e_acsl_implies = 1;
     else __gen_e_acsl_implies = X == 8;
-    __e_acsl_assert(__gen_e_acsl_implies,(char *)"Postcondition",(char *)"n",
-                    (char *)"\\old(X == 7) ==> X == 8",69);
+    __e_acsl_assert(__gen_e_acsl_implies,"Postcondition","n",
+                    "\\old(X == 7) ==> X == 8",
+                    "tests/constructs/function_contract.i",69);
     if (! __gen_e_acsl_at_2) __gen_e_acsl_implies_2 = 1;
     else __gen_e_acsl_implies_2 = X == 98;
-    __e_acsl_assert(__gen_e_acsl_implies_2,(char *)"Postcondition",
-                    (char *)"n",(char *)"\\old(X == 5) ==> X == 98",72);
+    __e_acsl_assert(__gen_e_acsl_implies_2,"Postcondition","n",
+                    "\\old(X == 5) ==> X == 98",
+                    "tests/constructs/function_contract.i",72);
     return;
   }
 }
@@ -214,19 +217,19 @@ void __gen_e_acsl_m(void)
     int __gen_e_acsl_implies_3;
     if (! __gen_e_acsl_at) __gen_e_acsl_implies = 1;
     else __gen_e_acsl_implies = X == 95;
-    __e_acsl_assert(__gen_e_acsl_implies,(char *)"Postcondition",(char *)"m",
-                    (char *)"\\old(X == 7) ==> X == 95",56);
+    __e_acsl_assert(__gen_e_acsl_implies,"Postcondition","m",
+                    "\\old(X == 7) ==> X == 95",
+                    "tests/constructs/function_contract.i",56);
     if (! __gen_e_acsl_at_2) __gen_e_acsl_implies_2 = 1;
     else __gen_e_acsl_implies_2 = X == 7;
-    __e_acsl_assert(__gen_e_acsl_implies_2,(char *)"Postcondition",
-                    (char *)"m",(char *)"\\old(X == 5 && Y == 2) ==> X == 7",
-                    60);
+    __e_acsl_assert(__gen_e_acsl_implies_2,"Postcondition","m",
+                    "\\old(X == 5 && Y == 2) ==> X == 7",
+                    "tests/constructs/function_contract.i",60);
     if (! __gen_e_acsl_at_3) __gen_e_acsl_implies_3 = 1;
     else __gen_e_acsl_implies_3 = (long)X == __gen_e_acsl_at_4 + Y;
-    __e_acsl_assert(__gen_e_acsl_implies_3,(char *)"Postcondition",
-                    (char *)"m",
-                    (char *)"\\old(X == 5 && Y == 2) ==> X == \\old(X) + Y",
-                    61);
+    __e_acsl_assert(__gen_e_acsl_implies_3,"Postcondition","m",
+                    "\\old(X == 5 && Y == 2) ==> X == \\old(X) + Y",
+                    "tests/constructs/function_contract.i",61);
     return;
   }
 }
@@ -236,8 +239,8 @@ int __gen_e_acsl_l(void)
 {
   int __retres;
   __retres = l();
-  __e_acsl_assert(X == 5,(char *)"Postcondition",(char *)"l",
-                  (char *)"X == 5",47);
+  __e_acsl_assert(X == 5,"Postcondition","l","X == 5",
+                  "tests/constructs/function_contract.i",47);
   return __retres;
 }
 
@@ -261,18 +264,21 @@ void __gen_e_acsl_k(void)
     int __gen_e_acsl_implies_3;
     if (! (X == 1)) __gen_e_acsl_implies = 1;
     else __gen_e_acsl_implies = X == 0;
-    __e_acsl_assert(__gen_e_acsl_implies,(char *)"Precondition",(char *)"k",
-                    (char *)"X == 1 ==> X == 0",38);
+    __e_acsl_assert(__gen_e_acsl_implies,"Precondition","k",
+                    "X == 1 ==> X == 0",
+                    "tests/constructs/function_contract.i",38);
     if (X == 3) __gen_e_acsl_and = Y == 2; else __gen_e_acsl_and = 0;
     if (! __gen_e_acsl_and) __gen_e_acsl_implies_2 = 1;
     else __gen_e_acsl_implies_2 = X == 3;
-    __e_acsl_assert(__gen_e_acsl_implies_2,(char *)"Precondition",
-                    (char *)"k",(char *)"X == 3 && Y == 2 ==> X == 3",42);
+    __e_acsl_assert(__gen_e_acsl_implies_2,"Precondition","k",
+                    "X == 3 && Y == 2 ==> X == 3",
+                    "tests/constructs/function_contract.i",42);
     if (X == 3) __gen_e_acsl_and_2 = Y == 2; else __gen_e_acsl_and_2 = 0;
     if (! __gen_e_acsl_and_2) __gen_e_acsl_implies_3 = 1;
     else __gen_e_acsl_implies_3 = X + (long)Y == 5L;
-    __e_acsl_assert(__gen_e_acsl_implies_3,(char *)"Precondition",
-                    (char *)"k",(char *)"X == 3 && Y == 2 ==> X + Y == 5",43);
+    __e_acsl_assert(__gen_e_acsl_implies_3,"Precondition","k",
+                    "X == 3 && Y == 2 ==> X + Y == 5",
+                    "tests/constructs/function_contract.i",43);
   }
   k();
   return;
@@ -289,17 +295,17 @@ void __gen_e_acsl_k(void)
  */
 void __gen_e_acsl_j(void)
 {
-  __e_acsl_assert(X == 5,(char *)"Precondition",(char *)"j",(char *)"X == 5",
-                  27);
-  __e_acsl_assert((long)X == 3L + Y,(char *)"Precondition",(char *)"j",
-                  (char *)"X == 3 + Y",30);
-  __e_acsl_assert(Y == 2,(char *)"Precondition",(char *)"j",(char *)"Y == 2",
-                  31);
+  __e_acsl_assert(X == 5,"Precondition","j","X == 5",
+                  "tests/constructs/function_contract.i",27);
+  __e_acsl_assert((long)X == 3L + Y,"Precondition","j","X == 3 + Y",
+                  "tests/constructs/function_contract.i",30);
+  __e_acsl_assert(Y == 2,"Precondition","j","Y == 2",
+                  "tests/constructs/function_contract.i",31);
   j();
-  __e_acsl_assert(X == 3,(char *)"Postcondition",(char *)"j",
-                  (char *)"X == 3",28);
-  __e_acsl_assert((long)X == Y + 1L,(char *)"Postcondition",(char *)"j",
-                  (char *)"X == Y + 1",32);
+  __e_acsl_assert(X == 3,"Postcondition","j","X == 3",
+                  "tests/constructs/function_contract.i",28);
+  __e_acsl_assert((long)X == Y + 1L,"Postcondition","j","X == Y + 1",
+                  "tests/constructs/function_contract.i",32);
   return;
 }
 
@@ -307,10 +313,10 @@ void __gen_e_acsl_j(void)
     requires Y ≡ 2; */
 void __gen_e_acsl_i(void)
 {
-  __e_acsl_assert(X == 3,(char *)"Precondition",(char *)"i",(char *)"X == 3",
-                  21);
-  __e_acsl_assert(Y == 2,(char *)"Precondition",(char *)"i",(char *)"Y == 2",
-                  22);
+  __e_acsl_assert(X == 3,"Precondition","i","X == 3",
+                  "tests/constructs/function_contract.i",21);
+  __e_acsl_assert(Y == 2,"Precondition","i","Y == 2",
+                  "tests/constructs/function_contract.i",22);
   i();
   return;
 }
@@ -318,8 +324,8 @@ void __gen_e_acsl_i(void)
 /*@ requires X ≡ 2; */
 void __gen_e_acsl_h(void)
 {
-  __e_acsl_assert(X == 2,(char *)"Precondition",(char *)"h",(char *)"X == 2",
-                  17);
+  __e_acsl_assert(X == 2,"Precondition","h","X == 2",
+                  "tests/constructs/function_contract.i",17);
   h();
   return;
 }
@@ -329,10 +335,10 @@ void __gen_e_acsl_h(void)
 void __gen_e_acsl_g(void)
 {
   g();
-  __e_acsl_assert(X == 2,(char *)"Postcondition",(char *)"g",
-                  (char *)"X == 2",12);
-  __e_acsl_assert(Y == 2,(char *)"Postcondition",(char *)"g",
-                  (char *)"Y == 2",13);
+  __e_acsl_assert(X == 2,"Postcondition","g","X == 2",
+                  "tests/constructs/function_contract.i",12);
+  __e_acsl_assert(Y == 2,"Postcondition","g","Y == 2",
+                  "tests/constructs/function_contract.i",13);
   return;
 }
 
@@ -340,8 +346,8 @@ void __gen_e_acsl_g(void)
 void __gen_e_acsl_f(void)
 {
   f();
-  __e_acsl_assert(X == 1,(char *)"Postcondition",(char *)"f",
-                  (char *)"X == 1",8);
+  __e_acsl_assert(X == 1,"Postcondition","f","X == 1",
+                  "tests/constructs/function_contract.i",8);
   return;
 }
 
diff --git a/src/plugins/e-acsl/tests/constructs/oracle_ci/gen_ghost.c b/src/plugins/e-acsl/tests/constructs/oracle_ci/gen_ghost.c
index cd8933a7356c6cbc3ddc4ba1d2454f87a27a6560..e942d64b232a327b604995b2a34c219ae3ed5553 100644
--- a/src/plugins/e-acsl/tests/constructs/oracle_ci/gen_ghost.c
+++ b/src/plugins/e-acsl/tests/constructs/oracle_ci/gen_ghost.c
@@ -31,12 +31,13 @@ int main(void)
     __e_acsl_initialize((void *)P,sizeof(int));
     __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)P,sizeof(int),
                                                   (void *)P,(void *)(& P));
-    __e_acsl_assert(__gen_e_acsl_valid_read,(char *)"RTE",(char *)"main",
-                    (char *)"mem_access: \\valid_read(P)",13);
+    __e_acsl_assert(__gen_e_acsl_valid_read,"RTE","main",
+                    "mem_access: \\valid_read(P)","tests/constructs/ghost.i",
+                    13);
     __gen_e_acsl_valid = __e_acsl_valid((void *)P,sizeof(int),(void *)P,
                                         (void *)(& P));
-    __e_acsl_assert(__gen_e_acsl_valid,(char *)"RTE",(char *)"main",
-                    (char *)"mem_access: \\valid(P)",13);
+    __e_acsl_assert(__gen_e_acsl_valid,"RTE","main","mem_access: \\valid(P)",
+                    "tests/constructs/ghost.i",13);
   }
   (*P) ++;
   {
@@ -52,10 +53,11 @@ int main(void)
       __gen_e_acsl_and = __gen_e_acsl_valid_read_2;
     }
     else __gen_e_acsl_and = 0;
-    __e_acsl_assert(__gen_e_acsl_and,(char *)"RTE",(char *)"main",
-                    (char *)"mem_access: \\valid_read(q)",14);
-    __e_acsl_assert(*q == G,(char *)"Assertion",(char *)"main",
-                    (char *)"*q == G",14);
+    __e_acsl_assert(__gen_e_acsl_and,"RTE","main",
+                    "mem_access: \\valid_read(q)","tests/constructs/ghost.i",
+                    14);
+    __e_acsl_assert(*q == G,"Assertion","main","*q == G",
+                    "tests/constructs/ghost.i",14);
   }
   /*@ assert *q ≡ G; */ ;
   int x = 1;
diff --git a/src/plugins/e-acsl/tests/constructs/oracle_ci/gen_invariant.c b/src/plugins/e-acsl/tests/constructs/oracle_ci/gen_invariant.c
index 77f3ae49e8034d78a2afa3d50e754762c7d8fb35..226d6482951d71ee138e647e9fa4a65417894720 100644
--- a/src/plugins/e-acsl/tests/constructs/oracle_ci/gen_invariant.c
+++ b/src/plugins/e-acsl/tests/constructs/oracle_ci/gen_invariant.c
@@ -12,13 +12,13 @@ int main(void)
       {
         int __gen_e_acsl_and;
         if (0 <= i) __gen_e_acsl_and = i < 10; else __gen_e_acsl_and = 0;
-        __e_acsl_assert(__gen_e_acsl_and,(char *)"Invariant",(char *)"main",
-                        (char *)"0 <= i < 10",9);
+        __e_acsl_assert(__gen_e_acsl_and,"Invariant","main","0 <= i < 10",
+                        "tests/constructs/invariant.i",9);
       }
       /*@ invariant 0 ≤ i < 10; */ ;
       x += i;
-      __e_acsl_assert(i <= x,(char *)"Invariant",(char *)"main",
-                      (char *)"i <= x",11);
+      __e_acsl_assert(i <= x,"Invariant","main","i <= x",
+                      "tests/constructs/invariant.i",11);
       /*@ invariant i ≤ x; */ ;
       i ++;
     }
diff --git a/src/plugins/e-acsl/tests/constructs/oracle_ci/gen_labeled_stmt.c b/src/plugins/e-acsl/tests/constructs/oracle_ci/gen_labeled_stmt.c
index 0ef6c89d829e50c190d93f0d7114905074753eca..c364fb15de4e27537de95c6d4e448d0b83823e5b 100644
--- a/src/plugins/e-acsl/tests/constructs/oracle_ci/gen_labeled_stmt.c
+++ b/src/plugins/e-acsl/tests/constructs/oracle_ci/gen_labeled_stmt.c
@@ -13,19 +13,19 @@ int __gen_e_acsl_main(void)
   goto L1;
   L1:
   /*@ assert X ≡ 0; */
-  __e_acsl_assert(X == 0,(char *)"Assertion",(char *)"main",(char *)"X == 0",
-                  10);
+  __e_acsl_assert(X == 0,"Assertion","main","X == 0",
+                  "tests/constructs/labeled_stmt.i",10);
   X = 1;
   goto L2;
   L2:
   /*@ requires X ≡ 1;
       ensures X ≡ 2; */
   {
-    __e_acsl_assert(X == 1,(char *)"Precondition",(char *)"main",
-                    (char *)"X == 1",12);
+    __e_acsl_assert(X == 1,"Precondition","main","X == 1",
+                    "tests/constructs/labeled_stmt.i",12);
     X = 2;
-    __e_acsl_assert(X == 2,(char *)"Postcondition",(char *)"main",
-                    (char *)"X == 2",12);
+    __e_acsl_assert(X == 2,"Postcondition","main","X == 2",
+                    "tests/constructs/labeled_stmt.i",12);
   }
   if (X) {
     X = 3;
@@ -42,8 +42,8 @@ int main(void)
   int __retres;
   __e_acsl_memory_init((int *)0,(char ***)0,(size_t)8);
   __retres = __gen_e_acsl_main();
-  __e_acsl_assert(X == 3,(char *)"Postcondition",(char *)"main",
-                  (char *)"X == 3",7);
+  __e_acsl_assert(X == 3,"Postcondition","main","X == 3",
+                  "tests/constructs/labeled_stmt.i",7);
   return __retres;
 }
 
diff --git a/src/plugins/e-acsl/tests/constructs/oracle_ci/gen_lazy.c b/src/plugins/e-acsl/tests/constructs/oracle_ci/gen_lazy.c
index 1b5f0c15a60e9d78818943adedd23442afdffffd..72434006bf47588df548c0678e4b112bc3dc58b7 100644
--- a/src/plugins/e-acsl/tests/constructs/oracle_ci/gen_lazy.c
+++ b/src/plugins/e-acsl/tests/constructs/oracle_ci/gen_lazy.c
@@ -10,80 +10,80 @@ int main(void)
   {
     int __gen_e_acsl_and;
     if (x == 0) __gen_e_acsl_and = y == 1; else __gen_e_acsl_and = 0;
-    __e_acsl_assert(__gen_e_acsl_and,(char *)"Assertion",(char *)"main",
-                    (char *)"x == 0 && y == 1",9);
+    __e_acsl_assert(__gen_e_acsl_and,"Assertion","main","x == 0 && y == 1",
+                    "tests/constructs/lazy.i",9);
   }
   /*@ assert x ≡ 0 ∧ y ≡ 1; */ ;
   {
     int __gen_e_acsl_and_2;
     if (x != 0) {
-      __e_acsl_assert(0,(char *)"RTE",(char *)"main",
-                      (char *)"division_by_zero: 0 != 0",10);
+      __e_acsl_assert(0,"RTE","main","division_by_zero: 0 != 0",
+                      "tests/constructs/lazy.i",10);
       __gen_e_acsl_and_2 = y == 1 / 0;
     }
     else __gen_e_acsl_and_2 = 0;
-    __e_acsl_assert(! __gen_e_acsl_and_2,(char *)"Assertion",(char *)"main",
-                    (char *)"!(x != 0 && y == 1 / 0)",10);
+    __e_acsl_assert(! __gen_e_acsl_and_2,"Assertion","main",
+                    "!(x != 0 && y == 1 / 0)","tests/constructs/lazy.i",10);
   }
   /*@ assert ¬(x ≢ 0 ∧ y ≡ 1 / 0); */ ;
   {
     int __gen_e_acsl_or;
     if (y == 1) __gen_e_acsl_or = 1; else __gen_e_acsl_or = x == 1;
-    __e_acsl_assert(__gen_e_acsl_or,(char *)"Assertion",(char *)"main",
-                    (char *)"y == 1 || x == 1",11);
+    __e_acsl_assert(__gen_e_acsl_or,"Assertion","main","y == 1 || x == 1",
+                    "tests/constructs/lazy.i",11);
   }
   /*@ assert y ≡ 1 ∨ x ≡ 1; */ ;
   {
     int __gen_e_acsl_or_2;
     if (x == 0) __gen_e_acsl_or_2 = 1;
     else {
-      __e_acsl_assert(0,(char *)"RTE",(char *)"main",
-                      (char *)"division_by_zero: 0 != 0",12);
+      __e_acsl_assert(0,"RTE","main","division_by_zero: 0 != 0",
+                      "tests/constructs/lazy.i",12);
       __gen_e_acsl_or_2 = y == 1 / 0;
     }
-    __e_acsl_assert(__gen_e_acsl_or_2,(char *)"Assertion",(char *)"main",
-                    (char *)"x == 0 || y == 1 / 0",12);
+    __e_acsl_assert(__gen_e_acsl_or_2,"Assertion","main",
+                    "x == 0 || y == 1 / 0","tests/constructs/lazy.i",12);
   }
   /*@ assert x ≡ 0 ∨ y ≡ 1 / 0; */ ;
   {
     int __gen_e_acsl_implies;
     if (! (x == 0)) __gen_e_acsl_implies = 1;
     else __gen_e_acsl_implies = y == 1;
-    __e_acsl_assert(__gen_e_acsl_implies,(char *)"Assertion",(char *)"main",
-                    (char *)"x == 0 ==> y == 1",13);
+    __e_acsl_assert(__gen_e_acsl_implies,"Assertion","main",
+                    "x == 0 ==> y == 1","tests/constructs/lazy.i",13);
   }
   /*@ assert x ≡ 0 ⇒ y ≡ 1; */ ;
   {
     int __gen_e_acsl_implies_2;
     if (! (x == 1)) __gen_e_acsl_implies_2 = 1;
     else {
-      __e_acsl_assert(0,(char *)"RTE",(char *)"main",
-                      (char *)"division_by_zero: 0 != 0",14);
+      __e_acsl_assert(0,"RTE","main","division_by_zero: 0 != 0",
+                      "tests/constructs/lazy.i",14);
       __gen_e_acsl_implies_2 = y == 1 / 0;
     }
-    __e_acsl_assert(__gen_e_acsl_implies_2,(char *)"Assertion",
-                    (char *)"main",(char *)"x == 1 ==> y == 1 / 0",14);
+    __e_acsl_assert(__gen_e_acsl_implies_2,"Assertion","main",
+                    "x == 1 ==> y == 1 / 0","tests/constructs/lazy.i",14);
   }
   /*@ assert x ≡ 1 ⇒ y ≡ 1 / 0; */ ;
   {
     int __gen_e_acsl_if;
     if (x != 0) __gen_e_acsl_if = x != 0; else __gen_e_acsl_if = y != 0;
-    __e_acsl_assert(__gen_e_acsl_if,(char *)"Assertion",(char *)"main",
-                    (char *)"x != 0? x != 0: y != 0",15);
+    __e_acsl_assert(__gen_e_acsl_if,"Assertion","main",
+                    "x != 0? x != 0: y != 0","tests/constructs/lazy.i",15);
   }
   /*@ assert x ≢ 0? x ≢ 0: y ≢ 0; */ ;
   {
     int __gen_e_acsl_if_2;
     if (y != 0) __gen_e_acsl_if_2 = y != 0; else __gen_e_acsl_if_2 = x != 0;
-    __e_acsl_assert(__gen_e_acsl_if_2,(char *)"Assertion",(char *)"main",
-                    (char *)"y != 0? y != 0: x != 0",16);
+    __e_acsl_assert(__gen_e_acsl_if_2,"Assertion","main",
+                    "y != 0? y != 0: x != 0","tests/constructs/lazy.i",16);
   }
   /*@ assert y ≢ 0? y ≢ 0: x ≢ 0; */ ;
   {
     int __gen_e_acsl_if_3;
     if (x == 1) __gen_e_acsl_if_3 = x == 18; else __gen_e_acsl_if_3 = x == 0;
-    __e_acsl_assert(__gen_e_acsl_if_3,(char *)"Assertion",(char *)"main",
-                    (char *)"x == 1? x == 18: x == 0",17);
+    __e_acsl_assert(__gen_e_acsl_if_3,"Assertion","main",
+                    "x == 1? x == 18: x == 0","tests/constructs/lazy.i",17);
   }
   /*@ assert x ≡ 1? x ≡ 18: x ≡ 0; */ ;
   {
@@ -98,8 +98,8 @@ int main(void)
       __gen_e_acsl_equiv = __gen_e_acsl_implies_4;
     }
     else __gen_e_acsl_equiv = 0;
-    __e_acsl_assert(__gen_e_acsl_equiv,(char *)"Assertion",(char *)"main",
-                    (char *)"x == 2 <==> y == 3",20);
+    __e_acsl_assert(__gen_e_acsl_equiv,"Assertion","main",
+                    "x == 2 <==> y == 3","tests/constructs/lazy.i",20);
   }
   /*@ assert x ≡ 2 ⇔ y ≡ 3; */ ;
   {
@@ -114,16 +114,16 @@ int main(void)
       __gen_e_acsl_equiv_2 = __gen_e_acsl_implies_6;
     }
     else __gen_e_acsl_equiv_2 = 0;
-    __e_acsl_assert(__gen_e_acsl_equiv_2,(char *)"Assertion",(char *)"main",
-                    (char *)"x == 0 <==> y == 1",21);
+    __e_acsl_assert(__gen_e_acsl_equiv_2,"Assertion","main",
+                    "x == 0 <==> y == 1","tests/constructs/lazy.i",21);
   }
   /*@ assert x ≡ 0 ⇔ y ≡ 1; */ ;
   {
     int __gen_e_acsl_if_4;
     if (x != 0) __gen_e_acsl_if_4 = x; else __gen_e_acsl_if_4 = y;
-    __e_acsl_assert((__gen_e_acsl_if_4 != 0) == (x == 0),(char *)"Assertion",
-                    (char *)"main",
-                    (char *)"((x != 0? x: y) != 0) == (x == 0)",24);
+    __e_acsl_assert((__gen_e_acsl_if_4 != 0) == (x == 0),"Assertion","main",
+                    "((x != 0? x: y) != 0) == (x == 0)",
+                    "tests/constructs/lazy.i",24);
   }
   /*@ assert ((x ≢ 0? x: y) ≢ 0) ≡ (x ≡ 0); */ ;
   {
@@ -132,8 +132,9 @@ int main(void)
     if (x != 0) __gen_e_acsl_and_3 = y != 0; else __gen_e_acsl_and_3 = 0;
     if (__gen_e_acsl_and_3) __gen_e_acsl_or_3 = 1;
     else __gen_e_acsl_or_3 = y != 0;
-    __e_acsl_assert(__gen_e_acsl_or_3,(char *)"Assertion",(char *)"main",
-                    (char *)"(x != 0 && y != 0) || y != 0",25);
+    __e_acsl_assert(__gen_e_acsl_or_3,"Assertion","main",
+                    "(x != 0 && y != 0) || y != 0","tests/constructs/lazy.i",
+                    25);
   }
   /*@ assert (x ≢ 0 ∧ y ≢ 0) ∨ y ≢ 0; */ ;
   {
@@ -142,24 +143,25 @@ int main(void)
     if (x != 0) __gen_e_acsl_or_4 = 1; else __gen_e_acsl_or_4 = y != 0;
     if (__gen_e_acsl_or_4) __gen_e_acsl_and_4 = y == 1;
     else __gen_e_acsl_and_4 = 0;
-    __e_acsl_assert(__gen_e_acsl_and_4,(char *)"Assertion",(char *)"main",
-                    (char *)"(x != 0 || y != 0) && y == 1",26);
+    __e_acsl_assert(__gen_e_acsl_and_4,"Assertion","main",
+                    "(x != 0 || y != 0) && y == 1","tests/constructs/lazy.i",
+                    26);
   }
   /*@ assert (x ≢ 0 ∨ y ≢ 0) ∧ y ≡ 1; */ ;
   {
     int __gen_e_acsl_or_5;
     if (x != 0) __gen_e_acsl_or_5 = 1; else __gen_e_acsl_or_5 = y != 0;
-    __e_acsl_assert(__gen_e_acsl_or_5 == (y != 0),(char *)"Assertion",
-                    (char *)"main",(char *)"(x != 0 || y != 0) == (y != 0)",
-                    27);
+    __e_acsl_assert(__gen_e_acsl_or_5 == (y != 0),"Assertion","main",
+                    "(x != 0 || y != 0) == (y != 0)",
+                    "tests/constructs/lazy.i",27);
   }
   /*@ assert (x ≢ 0 ∨ y ≢ 0) ≡ (y ≢ 0); */ ;
   {
     int __gen_e_acsl_and_5;
     if (x != 0) __gen_e_acsl_and_5 = y != 0; else __gen_e_acsl_and_5 = 0;
-    __e_acsl_assert(__gen_e_acsl_and_5 == (x != 0),(char *)"Assertion",
-                    (char *)"main",(char *)"(x != 0 && y != 0) == (x != 0)",
-                    28);
+    __e_acsl_assert(__gen_e_acsl_and_5 == (x != 0),"Assertion","main",
+                    "(x != 0 && y != 0) == (x != 0)",
+                    "tests/constructs/lazy.i",28);
   }
   /*@ assert (x ≢ 0 ∧ y ≢ 0) ≡ (x ≢ 0); */ ;
   __retres = 0;
diff --git a/src/plugins/e-acsl/tests/constructs/oracle_ci/gen_loop.c b/src/plugins/e-acsl/tests/constructs/oracle_ci/gen_loop.c
index 85ed894dacbc84cffd9bc45cff8e6885fc728768..2626d70b85c3bea55d62ce250c25c032162e59f1 100644
--- a/src/plugins/e-acsl/tests/constructs/oracle_ci/gen_loop.c
+++ b/src/plugins/e-acsl/tests/constructs/oracle_ci/gen_loop.c
@@ -9,8 +9,8 @@ void simple_loop(void)
     {
       int __gen_e_acsl_and;
       if (0 <= i) __gen_e_acsl_and = i <= 10; else __gen_e_acsl_and = 0;
-      __e_acsl_assert(__gen_e_acsl_and,(char *)"Invariant",
-                      (char *)"simple_loop",(char *)"0 <= i <= 10",8);
+      __e_acsl_assert(__gen_e_acsl_and,"Invariant","simple_loop",
+                      "0 <= i <= 10","tests/constructs/loop.i",8);
     }
     /*@ loop invariant 0 ≤ i ≤ 10; */
     while (i < 10) {
@@ -20,8 +20,8 @@ void simple_loop(void)
         i ++;
         if (0 <= i) __gen_e_acsl_and_2 = i <= 10;
         else __gen_e_acsl_and_2 = 0;
-        __e_acsl_assert(__gen_e_acsl_and_2,(char *)"Invariant",
-                        (char *)"simple_loop",(char *)"0 <= i <= 10",8);
+        __e_acsl_assert(__gen_e_acsl_and_2,"Invariant","simple_loop",
+                        "0 <= i <= 10","tests/constructs/loop.i",8);
       }
     }
   }
@@ -35,8 +35,8 @@ void nested_loops(void)
   {
     int __gen_e_acsl_and;
     if (0 <= i) __gen_e_acsl_and = i <= 10; else __gen_e_acsl_and = 0;
-    __e_acsl_assert(__gen_e_acsl_and,(char *)"Invariant",
-                    (char *)"nested_loops",(char *)"0 <= i <= 10",15);
+    __e_acsl_assert(__gen_e_acsl_and,"Invariant","nested_loops",
+                    "0 <= i <= 10","tests/constructs/loop.i",15);
   }
   /*@ loop invariant 0 ≤ i ≤ 10; */
   while (i < 10) {
@@ -54,18 +54,18 @@ void nested_loops(void)
           __gen_e_acsl_l = 0;
           while (1) {
             if (__gen_e_acsl_l < j) ; else break;
-            __e_acsl_assert(__gen_e_acsl_l < 15,(char *)"RTE",
-                            (char *)"nested_loops",
-                            (char *)"index_bound: __gen_e_acsl_l < 15",19);
-            __e_acsl_assert(0 <= __gen_e_acsl_l,(char *)"RTE",
-                            (char *)"nested_loops",
-                            (char *)"index_bound: 0 <= __gen_e_acsl_l",19);
-            __e_acsl_assert(__gen_e_acsl_k < 10,(char *)"RTE",
-                            (char *)"nested_loops",
-                            (char *)"index_bound: __gen_e_acsl_k < 10",19);
-            __e_acsl_assert(0 <= __gen_e_acsl_k,(char *)"RTE",
-                            (char *)"nested_loops",
-                            (char *)"index_bound: 0 <= __gen_e_acsl_k",19);
+            __e_acsl_assert(__gen_e_acsl_l < 15,"RTE","nested_loops",
+                            "index_bound: __gen_e_acsl_l < 15",
+                            "tests/constructs/loop.i",19);
+            __e_acsl_assert(0 <= __gen_e_acsl_l,"RTE","nested_loops",
+                            "index_bound: 0 <= __gen_e_acsl_l",
+                            "tests/constructs/loop.i",19);
+            __e_acsl_assert(__gen_e_acsl_k < 10,"RTE","nested_loops",
+                            "index_bound: __gen_e_acsl_k < 10",
+                            "tests/constructs/loop.i",19);
+            __e_acsl_assert(0 <= __gen_e_acsl_k,"RTE","nested_loops",
+                            "index_bound: 0 <= __gen_e_acsl_k",
+                            "tests/constructs/loop.i",19);
             if ((long)t[__gen_e_acsl_k][__gen_e_acsl_l] == __gen_e_acsl_k * (long)__gen_e_acsl_l) 
               ;
             else {
@@ -77,14 +77,13 @@ void nested_loops(void)
           __gen_e_acsl_k ++;
         }
         e_acsl_end_loop1: ;
-        __e_acsl_assert(__gen_e_acsl_forall,(char *)"Invariant",
-                        (char *)"nested_loops",
-                        (char *)"\\forall integer k, integer l; 0 <= k < i && 0 <= l < j ==> t[k][l] == k * l",
-                        19);
+        __e_acsl_assert(__gen_e_acsl_forall,"Invariant","nested_loops",
+                        "\\forall integer k, integer l; 0 <= k < i && 0 <= l < j ==> t[k][l] == k * l",
+                        "tests/constructs/loop.i",19);
         if (0 <= j) __gen_e_acsl_and_2 = j <= 15;
         else __gen_e_acsl_and_2 = 0;
-        __e_acsl_assert(__gen_e_acsl_and_2,(char *)"Invariant",
-                        (char *)"nested_loops",(char *)"0 <= j <= 15",17);
+        __e_acsl_assert(__gen_e_acsl_and_2,"Invariant","nested_loops",
+                        "0 <= j <= 15","tests/constructs/loop.i",17);
       }
       /*@ loop invariant 0 ≤ j ≤ 15;
           loop invariant
@@ -101,8 +100,8 @@ void nested_loops(void)
           j ++;
           if (0 <= j) __gen_e_acsl_and_3 = j <= 15;
           else __gen_e_acsl_and_3 = 0;
-          __e_acsl_assert(__gen_e_acsl_and_3,(char *)"Invariant",
-                          (char *)"nested_loops",(char *)"0 <= j <= 15",17);
+          __e_acsl_assert(__gen_e_acsl_and_3,"Invariant","nested_loops",
+                          "0 <= j <= 15","tests/constructs/loop.i",17);
           __gen_e_acsl_forall_2 = 1;
           __gen_e_acsl_k_2 = 0;
           while (1) {
@@ -110,22 +109,18 @@ void nested_loops(void)
             __gen_e_acsl_l_2 = 0;
             while (1) {
               if (__gen_e_acsl_l_2 < j) ; else break;
-              __e_acsl_assert(__gen_e_acsl_l_2 < 15,(char *)"RTE",
-                              (char *)"nested_loops",
-                              (char *)"index_bound: __gen_e_acsl_l_2 < 15",
-                              19);
-              __e_acsl_assert(0 <= __gen_e_acsl_l_2,(char *)"RTE",
-                              (char *)"nested_loops",
-                              (char *)"index_bound: 0 <= __gen_e_acsl_l_2",
-                              19);
-              __e_acsl_assert(__gen_e_acsl_k_2 < 10,(char *)"RTE",
-                              (char *)"nested_loops",
-                              (char *)"index_bound: __gen_e_acsl_k_2 < 10",
-                              19);
-              __e_acsl_assert(0 <= __gen_e_acsl_k_2,(char *)"RTE",
-                              (char *)"nested_loops",
-                              (char *)"index_bound: 0 <= __gen_e_acsl_k_2",
-                              19);
+              __e_acsl_assert(__gen_e_acsl_l_2 < 15,"RTE","nested_loops",
+                              "index_bound: __gen_e_acsl_l_2 < 15",
+                              "tests/constructs/loop.i",19);
+              __e_acsl_assert(0 <= __gen_e_acsl_l_2,"RTE","nested_loops",
+                              "index_bound: 0 <= __gen_e_acsl_l_2",
+                              "tests/constructs/loop.i",19);
+              __e_acsl_assert(__gen_e_acsl_k_2 < 10,"RTE","nested_loops",
+                              "index_bound: __gen_e_acsl_k_2 < 10",
+                              "tests/constructs/loop.i",19);
+              __e_acsl_assert(0 <= __gen_e_acsl_k_2,"RTE","nested_loops",
+                              "index_bound: 0 <= __gen_e_acsl_k_2",
+                              "tests/constructs/loop.i",19);
               /*@ assert
                   Eva: initialization:
                     \initialized(&t[__gen_e_acsl_k_2][__gen_e_acsl_l_2]);
@@ -141,10 +136,9 @@ void nested_loops(void)
             __gen_e_acsl_k_2 ++;
           }
           e_acsl_end_loop2: ;
-          __e_acsl_assert(__gen_e_acsl_forall_2,(char *)"Invariant",
-                          (char *)"nested_loops",
-                          (char *)"\\forall integer k, integer l; 0 <= k < i && 0 <= l < j ==> t[k][l] == k * l",
-                          19);
+          __e_acsl_assert(__gen_e_acsl_forall_2,"Invariant","nested_loops",
+                          "\\forall integer k, integer l; 0 <= k < i && 0 <= l < j ==> t[k][l] == k * l",
+                          "tests/constructs/loop.i",19);
         }
       }
     }
@@ -152,8 +146,8 @@ void nested_loops(void)
       int __gen_e_acsl_and_4;
       i ++;
       if (0 <= i) __gen_e_acsl_and_4 = i <= 10; else __gen_e_acsl_and_4 = 0;
-      __e_acsl_assert(__gen_e_acsl_and_4,(char *)"Invariant",
-                      (char *)"nested_loops",(char *)"0 <= i <= 10",15);
+      __e_acsl_assert(__gen_e_acsl_and_4,"Invariant","nested_loops",
+                      "0 <= i <= 10","tests/constructs/loop.i",15);
     }
   }
   return;
@@ -167,8 +161,8 @@ void unnatural_loop(void)
     {
       int __gen_e_acsl_and;
       if (0 <= i) __gen_e_acsl_and = i <= 6; else __gen_e_acsl_and = 0;
-      __e_acsl_assert(__gen_e_acsl_and,(char *)"Invariant",
-                      (char *)"unnatural_loop",(char *)"0 <= i <= 6",26);
+      __e_acsl_assert(__gen_e_acsl_and,"Invariant","unnatural_loop",
+                      "0 <= i <= 6","tests/constructs/loop.i",26);
     }
     /*@ loop invariant 0 ≤ i ≤ 6; */
     while (i < 10) {
@@ -178,8 +172,8 @@ void unnatural_loop(void)
         int __gen_e_acsl_and_2;
         i ++;
         if (0 <= i) __gen_e_acsl_and_2 = i <= 6; else __gen_e_acsl_and_2 = 0;
-        __e_acsl_assert(__gen_e_acsl_and_2,(char *)"Invariant",
-                        (char *)"unnatural_loop",(char *)"0 <= i <= 6",26);
+        __e_acsl_assert(__gen_e_acsl_and_2,"Invariant","unnatural_loop",
+                        "0 <= i <= 6","tests/constructs/loop.i",26);
       }
     }
   }
diff --git a/src/plugins/e-acsl/tests/constructs/oracle_ci/gen_nested_code_annot.c b/src/plugins/e-acsl/tests/constructs/oracle_ci/gen_nested_code_annot.c
index bb2c082b20a4941d6c2a0f927a13d021d25d7ca5..9411fb1ecd898231338a95b44f172fd3e1cce1e2 100644
--- a/src/plugins/e-acsl/tests/constructs/oracle_ci/gen_nested_code_annot.c
+++ b/src/plugins/e-acsl/tests/constructs/oracle_ci/gen_nested_code_annot.c
@@ -7,42 +7,43 @@ int main(void)
   __e_acsl_memory_init((int *)0,(char ***)0,(size_t)8);
   int x = 0;
   int y = 1;
-  __e_acsl_assert(x < y,(char *)"Assertion",(char *)"main",(char *)"x < y",7);
+  __e_acsl_assert(x < y,"Assertion","main","x < y",
+                  "tests/constructs/nested_code_annot.i",7);
   /*@ assert x < y; */ ;
-  __e_acsl_assert(x == 0,(char *)"Precondition",(char *)"main",
-                  (char *)"x == 0",8);
+  __e_acsl_assert(x == 0,"Precondition","main","x == 0",
+                  "tests/constructs/nested_code_annot.i",8);
   /*@ requires x ≡ 0;
       ensures x ≥ 1; */
   if (x) {
-    __e_acsl_assert(0,(char *)"Assertion",(char *)"main",(char *)"\\false",
-                    11);
+    __e_acsl_assert(0,"Assertion","main","\\false",
+                    "tests/constructs/nested_code_annot.i",11);
     /*@ assert \false; */ ;
   }
   else {
-    __e_acsl_assert(x == 0,(char *)"Precondition",(char *)"main",
-                    (char *)"x == 0",13);
+    __e_acsl_assert(x == 0,"Precondition","main","x == 0",
+                    "tests/constructs/nested_code_annot.i",13);
     /*@ requires x ≡ 0;
         ensures x ≡ 1; */
     x ++;
-    __e_acsl_assert(x == 1,(char *)"Postcondition",(char *)"main",
-                    (char *)"x == 1",14);
+    __e_acsl_assert(x == 1,"Postcondition","main","x == 1",
+                    "tests/constructs/nested_code_annot.i",14);
     if (x) {
-      __e_acsl_assert(x == 1,(char *)"Precondition",(char *)"main",
-                      (char *)"x == 1",17);
+      __e_acsl_assert(x == 1,"Precondition","main","x == 1",
+                      "tests/constructs/nested_code_annot.i",17);
       /*@ requires x ≡ 1;
           ensures x ≡ 2; */
       x ++;
-      __e_acsl_assert(x == 2,(char *)"Postcondition",(char *)"main",
-                      (char *)"x == 2",18);
+      __e_acsl_assert(x == 2,"Postcondition","main","x == 2",
+                      "tests/constructs/nested_code_annot.i",18);
     }
     else {
-      __e_acsl_assert(0,(char *)"Assertion",(char *)"main",(char *)"\\false",
-                      21);
+      __e_acsl_assert(0,"Assertion","main","\\false",
+                      "tests/constructs/nested_code_annot.i",21);
       /*@ assert \false; */ ;
     }
   }
-  __e_acsl_assert(x >= 1,(char *)"Postcondition",(char *)"main",
-                  (char *)"x >= 1",9);
+  __e_acsl_assert(x >= 1,"Postcondition","main","x >= 1",
+                  "tests/constructs/nested_code_annot.i",9);
   __retres = 0;
   return __retres;
 }
diff --git a/src/plugins/e-acsl/tests/constructs/oracle_ci/gen_result.c b/src/plugins/e-acsl/tests/constructs/oracle_ci/gen_result.c
index fe66b29db23d30b6bfe5480ae673fc037920ed9a..88919141b53aa7d6efcdc5340f0a56d232ca002d 100644
--- a/src/plugins/e-acsl/tests/constructs/oracle_ci/gen_result.c
+++ b/src/plugins/e-acsl/tests/constructs/oracle_ci/gen_result.c
@@ -48,8 +48,8 @@ int __gen_e_acsl_h(void)
 {
   int __retres;
   __retres = h();
-  __e_acsl_assert(__retres == 0,(char *)"Postcondition",(char *)"h",
-                  (char *)"\\result == 0",18);
+  __e_acsl_assert(__retres == 0,"Postcondition","h","\\result == 0",
+                  "tests/constructs/result.i",18);
   return __retres;
 }
 
@@ -61,10 +61,10 @@ int __gen_e_acsl_g(int x)
   int __retres;
   __gen_e_acsl_at = x;
   __retres = g(x);
-  __e_acsl_assert(__retres == __gen_e_acsl_at,(char *)"Postcondition",
-                  (char *)"g",(char *)"\\result == \\old(x)",12);
-  __e_acsl_assert(__retres == Y,(char *)"Postcondition",(char *)"g",
-                  (char *)"\\result == Y",13);
+  __e_acsl_assert(__retres == __gen_e_acsl_at,"Postcondition","g",
+                  "\\result == \\old(x)","tests/constructs/result.i",12);
+  __e_acsl_assert(__retres == Y,"Postcondition","g","\\result == Y",
+                  "tests/constructs/result.i",13);
   return __retres;
 }
 
@@ -78,8 +78,9 @@ int __gen_e_acsl_f(int x)
   __gen_e_acsl_at = (long)x;
   __retres = f(x);
   __e_acsl_assert(__retres == (int)(__gen_e_acsl_at - __gen_e_acsl_at_2),
-                  (char *)"Postcondition",(char *)"f",
-                  (char *)"\\result == (int)(\\old(x) - \\old(x))",5);
+                  "Postcondition","f",
+                  "\\result == (int)(\\old(x) - \\old(x))",
+                  "tests/constructs/result.i",5);
   return __retres;
 }
 
diff --git a/src/plugins/e-acsl/tests/constructs/oracle_ci/gen_stmt_contract.c b/src/plugins/e-acsl/tests/constructs/oracle_ci/gen_stmt_contract.c
index e0727937ea6b7ffd04d5f8c55ce794d9a56a3f0e..0fc68d324f2eb5da8ce6809cee84eff4ef73e042 100644
--- a/src/plugins/e-acsl/tests/constructs/oracle_ci/gen_stmt_contract.c
+++ b/src/plugins/e-acsl/tests/constructs/oracle_ci/gen_stmt_contract.c
@@ -9,39 +9,39 @@ int main(void)
   int y = 2;
   /*@ ensures x ≡ 1; */
   x = 1;
-  __e_acsl_assert(x == 1,(char *)"Postcondition",(char *)"main",
-                  (char *)"x == 1",8);
+  __e_acsl_assert(x == 1,"Postcondition","main","x == 1",
+                  "tests/constructs/stmt_contract.i",8);
   {
     int __gen_e_acsl_and;
     /*@ ensures x ≡ 2;
         ensures y ≡ 2;
         ensures x ≡ 2 ∧ y ≡ 2; */
     x = 2;
-    __e_acsl_assert(x == 2,(char *)"Postcondition",(char *)"main",
-                    (char *)"x == 2",11);
-    __e_acsl_assert(y == 2,(char *)"Postcondition",(char *)"main",
-                    (char *)"y == 2",12);
+    __e_acsl_assert(x == 2,"Postcondition","main","x == 2",
+                    "tests/constructs/stmt_contract.i",11);
+    __e_acsl_assert(y == 2,"Postcondition","main","y == 2",
+                    "tests/constructs/stmt_contract.i",12);
     if (x == 2) __gen_e_acsl_and = y == 2; else __gen_e_acsl_and = 0;
-    __e_acsl_assert(__gen_e_acsl_and,(char *)"Postcondition",(char *)"main",
-                    (char *)"x == 2 && y == 2",13);
+    __e_acsl_assert(__gen_e_acsl_and,"Postcondition","main",
+                    "x == 2 && y == 2","tests/constructs/stmt_contract.i",13);
   }
-  __e_acsl_assert(x == 2,(char *)"Precondition",(char *)"main",
-                  (char *)"x == 2",17);
+  __e_acsl_assert(x == 2,"Precondition","main","x == 2",
+                  "tests/constructs/stmt_contract.i",17);
   /*@ requires x ≡ 2; */
   x ++;
-  __e_acsl_assert(x == 3,(char *)"Precondition",(char *)"main",
-                  (char *)"x == 3",20);
-  __e_acsl_assert(y == 2,(char *)"Precondition",(char *)"main",
-                  (char *)"y == 2",21);
+  __e_acsl_assert(x == 3,"Precondition","main","x == 3",
+                  "tests/constructs/stmt_contract.i",20);
+  __e_acsl_assert(y == 2,"Precondition","main","y == 2",
+                  "tests/constructs/stmt_contract.i",21);
   /*@ requires x ≡ 3;
       requires y ≡ 2; */
   x += y;
-  __e_acsl_assert(x == 5,(char *)"Precondition",(char *)"main",
-                  (char *)"x == 5",25);
-  __e_acsl_assert((long)x == 3L + y,(char *)"Precondition",(char *)"main",
-                  (char *)"x == 3 + y",28);
-  __e_acsl_assert(y == 2,(char *)"Precondition",(char *)"main",
-                  (char *)"y == 2",29);
+  __e_acsl_assert(x == 5,"Precondition","main","x == 5",
+                  "tests/constructs/stmt_contract.i",25);
+  __e_acsl_assert((long)x == 3L + y,"Precondition","main","x == 3 + y",
+                  "tests/constructs/stmt_contract.i",28);
+  __e_acsl_assert(y == 2,"Precondition","main","y == 2",
+                  "tests/constructs/stmt_contract.i",29);
   /*@ behavior b1:
         requires x ≡ 5;
         ensures x ≡ 3;
@@ -52,10 +52,10 @@ int main(void)
         ensures x ≡ y + 1;
   */
   x = 3;
-  __e_acsl_assert(x == 3,(char *)"Postcondition",(char *)"main",
-                  (char *)"x == 3",26);
-  __e_acsl_assert((long)x == y + 1L,(char *)"Postcondition",(char *)"main",
-                  (char *)"x == y + 1",30);
+  __e_acsl_assert(x == 3,"Postcondition","main","x == 3",
+                  "tests/constructs/stmt_contract.i",26);
+  __e_acsl_assert((long)x == y + 1L,"Postcondition","main","x == y + 1",
+                  "tests/constructs/stmt_contract.i",30);
   {
     int __gen_e_acsl_implies;
     int __gen_e_acsl_and_2;
@@ -64,19 +64,21 @@ int main(void)
     int __gen_e_acsl_implies_3;
     if (! (x == 1)) __gen_e_acsl_implies = 1;
     else __gen_e_acsl_implies = x == 0;
-    __e_acsl_assert(__gen_e_acsl_implies,(char *)"Precondition",
-                    (char *)"main",(char *)"x == 1 ==> x == 0",35);
+    __e_acsl_assert(__gen_e_acsl_implies,"Precondition","main",
+                    "x == 1 ==> x == 0","tests/constructs/stmt_contract.i",
+                    35);
     if (x == 3) __gen_e_acsl_and_2 = y == 2; else __gen_e_acsl_and_2 = 0;
     if (! __gen_e_acsl_and_2) __gen_e_acsl_implies_2 = 1;
     else __gen_e_acsl_implies_2 = x == 3;
-    __e_acsl_assert(__gen_e_acsl_implies_2,(char *)"Precondition",
-                    (char *)"main",(char *)"x == 3 && y == 2 ==> x == 3",39);
+    __e_acsl_assert(__gen_e_acsl_implies_2,"Precondition","main",
+                    "x == 3 && y == 2 ==> x == 3",
+                    "tests/constructs/stmt_contract.i",39);
     if (x == 3) __gen_e_acsl_and_3 = y == 2; else __gen_e_acsl_and_3 = 0;
     if (! __gen_e_acsl_and_3) __gen_e_acsl_implies_3 = 1;
     else __gen_e_acsl_implies_3 = x + (long)y == 5L;
-    __e_acsl_assert(__gen_e_acsl_implies_3,(char *)"Precondition",
-                    (char *)"main",(char *)"x == 3 && y == 2 ==> x + y == 5",
-                    40);
+    __e_acsl_assert(__gen_e_acsl_implies_3,"Precondition","main",
+                    "x == 3 && y == 2 ==> x + y == 5",
+                    "tests/constructs/stmt_contract.i",40);
   }
   /*@ behavior b1:
         assumes x ≡ 1;
@@ -89,25 +91,25 @@ int main(void)
         requires x + y ≡ 5;
   */
   x += y;
-  __e_acsl_assert(x == 5,(char *)"Precondition",(char *)"main",
-                  (char *)"x == 5",43);
+  __e_acsl_assert(x == 5,"Precondition","main","x == 5",
+                  "tests/constructs/stmt_contract.i",43);
   /*@ requires x ≡ 5; */
   {
-    __e_acsl_assert(y == 2,(char *)"Precondition",(char *)"main",
-                    (char *)"y == 2",44);
+    __e_acsl_assert(y == 2,"Precondition","main","y == 2",
+                    "tests/constructs/stmt_contract.i",44);
     /*@ requires y ≡ 2; */
     x += y;
   }
-  __e_acsl_assert(x == 7,(char *)"Precondition",(char *)"main",
-                  (char *)"x == 7",47);
+  __e_acsl_assert(x == 7,"Precondition","main","x == 7",
+                  "tests/constructs/stmt_contract.i",47);
   /*@ requires x ≡ 7;
       ensures x ≡ 7; */
   {
     __retres = 0;
     goto return_label;
   }
-  __e_acsl_assert(x == 7,(char *)"Postcondition",(char *)"main",
-                  (char *)"x == 7",48);
+  __e_acsl_assert(x == 7,"Postcondition","main","x == 7",
+                  "tests/constructs/stmt_contract.i",48);
   return_label: return __retres;
 }
 
diff --git a/src/plugins/e-acsl/tests/constructs/oracle_ci/gen_true.c b/src/plugins/e-acsl/tests/constructs/oracle_ci/gen_true.c
index bee4f85973e3ada5cb84e38761579dfb1dd98b8f..f8a614b4c4852a3de940e41309b9bd66939114b8 100644
--- a/src/plugins/e-acsl/tests/constructs/oracle_ci/gen_true.c
+++ b/src/plugins/e-acsl/tests/constructs/oracle_ci/gen_true.c
@@ -7,7 +7,7 @@ int main(void)
   __e_acsl_memory_init((int *)0,(char ***)0,(size_t)8);
   int x = 0;
   x ++;
-  __e_acsl_assert(1,(char *)"Assertion",(char *)"main",(char *)"\\true",8);
+  __e_acsl_assert(1,"Assertion","main","\\true","tests/constructs/true.i",8);
   /*@ assert \true; */ ;
   __retres = 0;
   return __retres;
diff --git a/src/plugins/e-acsl/tests/constructs/oracle_ci/gen_typedef.c b/src/plugins/e-acsl/tests/constructs/oracle_ci/gen_typedef.c
index 904040d653ec41bb6d189b5eb5e625953671fb58..7b74563fa1e006d1c03eab9cb71b0c58329ff459 100644
--- a/src/plugins/e-acsl/tests/constructs/oracle_ci/gen_typedef.c
+++ b/src/plugins/e-acsl/tests/constructs/oracle_ci/gen_typedef.c
@@ -7,8 +7,8 @@ int main(void)
   int __retres;
   __e_acsl_memory_init((int *)0,(char ***)0,(size_t)8);
   uint8 x = (unsigned char)0;
-  __e_acsl_assert((int)x == 0,(char *)"Assertion",(char *)"main",
-                  (char *)"x == 0",9);
+  __e_acsl_assert((int)x == 0,"Assertion","main","x == 0",
+                  "tests/constructs/typedef.i",9);
   /*@ assert x ≡ 0; */ ;
   __retres = 0;
   return __retres;
diff --git a/src/plugins/e-acsl/tests/examples/oracle_ci/gen_linear_search.c b/src/plugins/e-acsl/tests/examples/oracle_ci/gen_linear_search.c
index 9cb43da99645a0e65cae87bc5903192802af08af..09509e5c90ae60ba35b72a502589d90688aef2d7 100644
--- a/src/plugins/e-acsl/tests/examples/oracle_ci/gen_linear_search.c
+++ b/src/plugins/e-acsl/tests/examples/oracle_ci/gen_linear_search.c
@@ -29,10 +29,12 @@ int search(int elt)
     __gen_e_acsl_i = 0;
     while (1) {
       if (__gen_e_acsl_i < k) ; else break;
-      __e_acsl_assert(__gen_e_acsl_i < 10,(char *)"RTE",(char *)"search",
-                      (char *)"index_bound: __gen_e_acsl_i < 10",18);
-      __e_acsl_assert(0 <= __gen_e_acsl_i,(char *)"RTE",(char *)"search",
-                      (char *)"index_bound: 0 <= __gen_e_acsl_i",18);
+      __e_acsl_assert(__gen_e_acsl_i < 10,"RTE","search",
+                      "index_bound: __gen_e_acsl_i < 10",
+                      "tests/examples/linear_search.i",18);
+      __e_acsl_assert(0 <= __gen_e_acsl_i,"RTE","search",
+                      "index_bound: 0 <= __gen_e_acsl_i",
+                      "tests/examples/linear_search.i",18);
       if (A[__gen_e_acsl_i] < elt) ;
       else {
         __gen_e_acsl_forall = 0;
@@ -41,12 +43,12 @@ int search(int elt)
       __gen_e_acsl_i ++;
     }
     e_acsl_end_loop1: ;
-    __e_acsl_assert(__gen_e_acsl_forall,(char *)"Invariant",(char *)"search",
-                    (char *)"\\forall integer i; 0 <= i < k ==> A[i] < elt",
-                    18);
+    __e_acsl_assert(__gen_e_acsl_forall,"Invariant","search",
+                    "\\forall integer i; 0 <= i < k ==> A[i] < elt",
+                    "tests/examples/linear_search.i",18);
     if (0 <= k) __gen_e_acsl_and = k <= 10; else __gen_e_acsl_and = 0;
-    __e_acsl_assert(__gen_e_acsl_and,(char *)"Invariant",(char *)"search",
-                    (char *)"0 <= k <= 10",17);
+    __e_acsl_assert(__gen_e_acsl_and,"Invariant","search","0 <= k <= 10",
+                    "tests/examples/linear_search.i",17);
   }
   /*@ loop invariant 0 ≤ k ≤ 10;
       loop invariant ∀ ℤ i; 0 ≤ i < k ⇒ A[i] < elt;
@@ -67,16 +69,18 @@ int search(int elt)
       int __gen_e_acsl_i_2;
       k ++;
       if (0 <= k) __gen_e_acsl_and_2 = k <= 10; else __gen_e_acsl_and_2 = 0;
-      __e_acsl_assert(__gen_e_acsl_and_2,(char *)"Invariant",
-                      (char *)"search",(char *)"0 <= k <= 10",17);
+      __e_acsl_assert(__gen_e_acsl_and_2,"Invariant","search","0 <= k <= 10",
+                      "tests/examples/linear_search.i",17);
       __gen_e_acsl_forall_2 = 1;
       __gen_e_acsl_i_2 = 0;
       while (1) {
         if (__gen_e_acsl_i_2 < k) ; else break;
-        __e_acsl_assert(__gen_e_acsl_i_2 < 10,(char *)"RTE",(char *)"search",
-                        (char *)"index_bound: __gen_e_acsl_i_2 < 10",18);
-        __e_acsl_assert(0 <= __gen_e_acsl_i_2,(char *)"RTE",(char *)"search",
-                        (char *)"index_bound: 0 <= __gen_e_acsl_i_2",18);
+        __e_acsl_assert(__gen_e_acsl_i_2 < 10,"RTE","search",
+                        "index_bound: __gen_e_acsl_i_2 < 10",
+                        "tests/examples/linear_search.i",18);
+        __e_acsl_assert(0 <= __gen_e_acsl_i_2,"RTE","search",
+                        "index_bound: 0 <= __gen_e_acsl_i_2",
+                        "tests/examples/linear_search.i",18);
         if (A[__gen_e_acsl_i_2] < elt) ;
         else {
           __gen_e_acsl_forall_2 = 0;
@@ -85,10 +89,9 @@ int search(int elt)
         __gen_e_acsl_i_2 ++;
       }
       e_acsl_end_loop2: ;
-      __e_acsl_assert(__gen_e_acsl_forall_2,(char *)"Invariant",
-                      (char *)"search",
-                      (char *)"\\forall integer i; 0 <= i < k ==> A[i] < elt",
-                      18);
+      __e_acsl_assert(__gen_e_acsl_forall_2,"Invariant","search",
+                      "\\forall integer i; 0 <= i < k ==> A[i] < elt",
+                      "tests/examples/linear_search.i",18);
     }
   }
   __retres = 0;
@@ -108,12 +111,12 @@ int main(void)
     }
   }
   found = __gen_e_acsl_search(36);
-  __e_acsl_assert(found == 1,(char *)"Assertion",(char *)"main",
-                  (char *)"found == 1",31);
+  __e_acsl_assert(found == 1,"Assertion","main","found == 1",
+                  "tests/examples/linear_search.i",31);
   /*@ assert found ≡ 1; */ ;
   found = __gen_e_acsl_search(5);
-  __e_acsl_assert(found == 0,(char *)"Assertion",(char *)"main",
-                  (char *)"found == 0",34);
+  __e_acsl_assert(found == 0,"Assertion","main","found == 0",
+                  "tests/examples/linear_search.i",34);
   /*@ assert found ≡ 0; */ ;
   __retres = 0;
   return __retres;
@@ -141,18 +144,18 @@ int __gen_e_acsl_search(int elt)
     __gen_e_acsl_i = 0;
     while (1) {
       if (__gen_e_acsl_i < 9) ; else break;
-      __e_acsl_assert((int)(__gen_e_acsl_i + 1L) < 10,(char *)"RTE",
-                      (char *)"search",
-                      (char *)"index_bound: (int)(__gen_e_acsl_i + 1) < 10",
-                      7);
-      __e_acsl_assert(0 <= (int)(__gen_e_acsl_i + 1L),(char *)"RTE",
-                      (char *)"search",
-                      (char *)"index_bound: 0 <= (int)(__gen_e_acsl_i + 1)",
-                      7);
-      __e_acsl_assert(__gen_e_acsl_i < 10,(char *)"RTE",(char *)"search",
-                      (char *)"index_bound: __gen_e_acsl_i < 10",7);
-      __e_acsl_assert(0 <= __gen_e_acsl_i,(char *)"RTE",(char *)"search",
-                      (char *)"index_bound: 0 <= __gen_e_acsl_i",7);
+      __e_acsl_assert((int)(__gen_e_acsl_i + 1L) < 10,"RTE","search",
+                      "index_bound: (int)(__gen_e_acsl_i + 1) < 10",
+                      "tests/examples/linear_search.i",7);
+      __e_acsl_assert(0 <= (int)(__gen_e_acsl_i + 1L),"RTE","search",
+                      "index_bound: 0 <= (int)(__gen_e_acsl_i + 1)",
+                      "tests/examples/linear_search.i",7);
+      __e_acsl_assert(__gen_e_acsl_i < 10,"RTE","search",
+                      "index_bound: __gen_e_acsl_i < 10",
+                      "tests/examples/linear_search.i",7);
+      __e_acsl_assert(0 <= __gen_e_acsl_i,"RTE","search",
+                      "index_bound: 0 <= __gen_e_acsl_i",
+                      "tests/examples/linear_search.i",7);
       if (A[__gen_e_acsl_i] <= A[__gen_e_acsl_i + 1]) ;
       else {
         __gen_e_acsl_forall = 0;
@@ -161,10 +164,9 @@ int __gen_e_acsl_search(int elt)
       __gen_e_acsl_i ++;
     }
     e_acsl_end_loop3: ;
-    __e_acsl_assert(__gen_e_acsl_forall,(char *)"Precondition",
-                    (char *)"search",
-                    (char *)"\\forall integer i; 0 <= i < 9 ==> A[i] <= A[i + 1]",
-                    7);
+    __e_acsl_assert(__gen_e_acsl_forall,"Precondition","search",
+                    "\\forall integer i; 0 <= i < 9 ==> A[i] <= A[i + 1]",
+                    "tests/examples/linear_search.i",7);
   }
   {
     int __gen_e_acsl_forall_2;
@@ -173,10 +175,12 @@ int __gen_e_acsl_search(int elt)
     __gen_e_acsl_j_2 = 0;
     while (1) {
       if (__gen_e_acsl_j_2 < 10) ; else break;
-      __e_acsl_assert(__gen_e_acsl_j_2 < 10,(char *)"RTE",(char *)"search",
-                      (char *)"index_bound: __gen_e_acsl_j_2 < 10",12);
-      __e_acsl_assert(0 <= __gen_e_acsl_j_2,(char *)"RTE",(char *)"search",
-                      (char *)"index_bound: 0 <= __gen_e_acsl_j_2",12);
+      __e_acsl_assert(__gen_e_acsl_j_2 < 10,"RTE","search",
+                      "index_bound: __gen_e_acsl_j_2 < 10",
+                      "tests/examples/linear_search.i",12);
+      __e_acsl_assert(0 <= __gen_e_acsl_j_2,"RTE","search",
+                      "index_bound: 0 <= __gen_e_acsl_j_2",
+                      "tests/examples/linear_search.i",12);
       if (A[__gen_e_acsl_j_2] != elt) ;
       else {
         __gen_e_acsl_forall_2 = 0;
@@ -194,10 +198,12 @@ int __gen_e_acsl_search(int elt)
     __gen_e_acsl_j = 0;
     while (1) {
       if (__gen_e_acsl_j < 10) ; else break;
-      __e_acsl_assert(__gen_e_acsl_j < 10,(char *)"RTE",(char *)"search",
-                      (char *)"index_bound: __gen_e_acsl_j < 10",9);
-      __e_acsl_assert(0 <= __gen_e_acsl_j,(char *)"RTE",(char *)"search",
-                      (char *)"index_bound: 0 <= __gen_e_acsl_j",9);
+      __e_acsl_assert(__gen_e_acsl_j < 10,"RTE","search",
+                      "index_bound: __gen_e_acsl_j < 10",
+                      "tests/examples/linear_search.i",9);
+      __e_acsl_assert(0 <= __gen_e_acsl_j,"RTE","search",
+                      "index_bound: 0 <= __gen_e_acsl_j",
+                      "tests/examples/linear_search.i",9);
       if (! (A[__gen_e_acsl_j] == elt)) ;
       else {
         __gen_e_acsl_exists = 1;
@@ -214,16 +220,14 @@ int __gen_e_acsl_search(int elt)
     int __gen_e_acsl_implies_2;
     if (! __gen_e_acsl_at) __gen_e_acsl_implies = 1;
     else __gen_e_acsl_implies = __retres == 1;
-    __e_acsl_assert(__gen_e_acsl_implies,(char *)"Postcondition",
-                    (char *)"search",
-                    (char *)"\\old(\\exists integer j; 0 <= j < 10 && A[j] == elt) ==> \\result == 1",
-                    10);
+    __e_acsl_assert(__gen_e_acsl_implies,"Postcondition","search",
+                    "\\old(\\exists integer j; 0 <= j < 10 && A[j] == elt) ==> \\result == 1",
+                    "tests/examples/linear_search.i",10);
     if (! __gen_e_acsl_at_2) __gen_e_acsl_implies_2 = 1;
     else __gen_e_acsl_implies_2 = __retres == 0;
-    __e_acsl_assert(__gen_e_acsl_implies_2,(char *)"Postcondition",
-                    (char *)"search",
-                    (char *)"\\old(\\forall integer j; 0 <= j < 10 ==> A[j] != elt) ==> \\result == 0",
-                    13);
+    __e_acsl_assert(__gen_e_acsl_implies_2,"Postcondition","search",
+                    "\\old(\\forall integer j; 0 <= j < 10 ==> A[j] != elt) ==> \\result == 0",
+                    "tests/examples/linear_search.i",13);
     return __retres;
   }
 }
diff --git a/src/plugins/e-acsl/tests/full-mmodel/oracle_ci/gen_addrOf.c b/src/plugins/e-acsl/tests/full-mmodel/oracle_ci/gen_addrOf.c
index 389e8567843280c50c965a84c1a66374bfd53bef..a96c903d115bcde7976d3b96ab1b10bcdd5c5d73 100644
--- a/src/plugins/e-acsl/tests/full-mmodel/oracle_ci/gen_addrOf.c
+++ b/src/plugins/e-acsl/tests/full-mmodel/oracle_ci/gen_addrOf.c
@@ -18,8 +18,8 @@ void f(void)
   {
     int __gen_e_acsl_initialized;
     __gen_e_acsl_initialized = __e_acsl_initialized((void *)p,sizeof(int));
-    __e_acsl_assert(__gen_e_acsl_initialized,(char *)"Assertion",(char *)"f",
-                    (char *)"\\initialized(p)",14);
+    __e_acsl_assert(__gen_e_acsl_initialized,"Assertion","f",
+                    "\\initialized(p)","tests/full-mmodel/addrOf.i",14);
   }
   /*@ assert \initialized(p); */ ;
   __e_acsl_delete_block((void *)(& p));
@@ -67,8 +67,8 @@ int main(void)
   __e_acsl_store_block((void *)(& x),(size_t)4);
   __e_acsl_full_init((void *)(& x));
   f();
-  __e_acsl_assert(& x == & x,(char *)"Assertion",(char *)"main",
-                  (char *)"&x == &x",20);
+  __e_acsl_assert(& x == & x,"Assertion","main","&x == &x",
+                  "tests/full-mmodel/addrOf.i",20);
   /*@ assert &x ≡ &x; */ ;
   __e_acsl_full_init((void *)(& __retres));
   __retres = 0;
diff --git a/src/plugins/e-acsl/tests/gmp-only/oracle_ci/gen_arith.c b/src/plugins/e-acsl/tests/gmp-only/oracle_ci/gen_arith.c
index 34f5b734e3a55ff7c4cd02383166b0ba0ea108c0..721e12502219c7738e2547f6a0bd1ac1f5a6722b 100644
--- a/src/plugins/e-acsl/tests/gmp-only/oracle_ci/gen_arith.c
+++ b/src/plugins/e-acsl/tests/gmp-only/oracle_ci/gen_arith.c
@@ -19,8 +19,8 @@ int main(void)
     __gmpz_init_set_si(__gen_e_acsl_x,(long)x);
     __gen_e_acsl_eq = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_neg),
                                  (__e_acsl_mpz_struct const *)(__gen_e_acsl_x));
-    __e_acsl_assert(__gen_e_acsl_eq == 0,(char *)"Assertion",(char *)"main",
-                    (char *)"-3 == x",10);
+    __e_acsl_assert(__gen_e_acsl_eq == 0,"Assertion","main","-3 == x",
+                    "tests/gmp-only/arith.i",10);
     __gmpz_clear(__gen_e_acsl_);
     __gmpz_clear(__gen_e_acsl_neg);
     __gmpz_clear(__gen_e_acsl_x);
@@ -38,8 +38,8 @@ int main(void)
                (__e_acsl_mpz_struct const *)(__gen_e_acsl__2));
     __gen_e_acsl_eq_2 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_x_2),
                                    (__e_acsl_mpz_struct const *)(__gen_e_acsl_neg_2));
-    __e_acsl_assert(__gen_e_acsl_eq_2 == 0,(char *)"Assertion",
-                    (char *)"main",(char *)"x == -3",11);
+    __e_acsl_assert(__gen_e_acsl_eq_2 == 0,"Assertion","main","x == -3",
+                    "tests/gmp-only/arith.i",11);
     __gmpz_clear(__gen_e_acsl_x_2);
     __gmpz_clear(__gen_e_acsl__2);
     __gmpz_clear(__gen_e_acsl_neg_2);
@@ -55,8 +55,8 @@ int main(void)
                (__e_acsl_mpz_struct const *)(__gen_e_acsl__3));
     __gen_e_acsl_ne = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl__3),
                                  (__e_acsl_mpz_struct const *)(__gen_e_acsl_bnot));
-    __e_acsl_assert(__gen_e_acsl_ne != 0,(char *)"Assertion",(char *)"main",
-                    (char *)"0 != ~0",12);
+    __e_acsl_assert(__gen_e_acsl_ne != 0,"Assertion","main","0 != ~0",
+                    "tests/gmp-only/arith.i",12);
     __gmpz_clear(__gen_e_acsl__3);
     __gmpz_clear(__gen_e_acsl_bnot);
   }
@@ -80,8 +80,8 @@ int main(void)
                (__e_acsl_mpz_struct const *)(__gen_e_acsl__5));
     __gen_e_acsl_eq_3 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_add),
                                    (__e_acsl_mpz_struct const *)(__gen_e_acsl_neg_3));
-    __e_acsl_assert(__gen_e_acsl_eq_3 == 0,(char *)"Assertion",
-                    (char *)"main",(char *)"x + 1 == -2",14);
+    __e_acsl_assert(__gen_e_acsl_eq_3 == 0,"Assertion","main","x + 1 == -2",
+                    "tests/gmp-only/arith.i",14);
     __gmpz_clear(__gen_e_acsl_x_3);
     __gmpz_clear(__gen_e_acsl__4);
     __gmpz_clear(__gen_e_acsl_add);
@@ -108,8 +108,8 @@ int main(void)
                (__e_acsl_mpz_struct const *)(__gen_e_acsl__7));
     __gen_e_acsl_eq_4 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_sub),
                                    (__e_acsl_mpz_struct const *)(__gen_e_acsl_neg_4));
-    __e_acsl_assert(__gen_e_acsl_eq_4 == 0,(char *)"Assertion",
-                    (char *)"main",(char *)"x - 1 == -4",15);
+    __e_acsl_assert(__gen_e_acsl_eq_4 == 0,"Assertion","main","x - 1 == -4",
+                    "tests/gmp-only/arith.i",15);
     __gmpz_clear(__gen_e_acsl_x_4);
     __gmpz_clear(__gen_e_acsl__6);
     __gmpz_clear(__gen_e_acsl_sub);
@@ -136,8 +136,8 @@ int main(void)
                (__e_acsl_mpz_struct const *)(__gen_e_acsl__9));
     __gen_e_acsl_eq_5 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_mul),
                                    (__e_acsl_mpz_struct const *)(__gen_e_acsl_neg_5));
-    __e_acsl_assert(__gen_e_acsl_eq_5 == 0,(char *)"Assertion",
-                    (char *)"main",(char *)"x * 3 == -9",16);
+    __e_acsl_assert(__gen_e_acsl_eq_5 == 0,"Assertion","main","x * 3 == -9",
+                    "tests/gmp-only/arith.i",16);
     __gmpz_clear(__gen_e_acsl_x_5);
     __gmpz_clear(__gen_e_acsl__8);
     __gmpz_clear(__gen_e_acsl_mul);
@@ -161,8 +161,8 @@ int main(void)
                                         (__e_acsl_mpz_struct const *)(__gen_e_acsl__11));
     __gmpz_init(__gen_e_acsl_div);
     /*@ assert E_ACSL: 3 ≢ 0; */
-    __e_acsl_assert(! (__gen_e_acsl_div_guard == 0),(char *)"Assertion",
-                    (char *)"main",(char *)"3 == 0",17);
+    __e_acsl_assert(! (__gen_e_acsl_div_guard == 0),"Assertion","main",
+                    "3 == 0","tests/gmp-only/arith.i",17);
     __gmpz_tdiv_q(__gen_e_acsl_div,
                   (__e_acsl_mpz_struct const *)(__gen_e_acsl_x_6),
                   (__e_acsl_mpz_struct const *)(__gen_e_acsl__10));
@@ -172,8 +172,8 @@ int main(void)
                (__e_acsl_mpz_struct const *)(__gen_e_acsl__12));
     __gen_e_acsl_eq_6 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_div),
                                    (__e_acsl_mpz_struct const *)(__gen_e_acsl_neg_6));
-    __e_acsl_assert(__gen_e_acsl_eq_6 == 0,(char *)"Assertion",
-                    (char *)"main",(char *)"x / 3 == -1",17);
+    __e_acsl_assert(__gen_e_acsl_eq_6 == 0,"Assertion","main","x / 3 == -1",
+                    "tests/gmp-only/arith.i",17);
     __gmpz_clear(__gen_e_acsl_x_6);
     __gmpz_clear(__gen_e_acsl__10);
     __gmpz_clear(__gen_e_acsl__11);
@@ -195,8 +195,8 @@ int main(void)
                                           (__e_acsl_mpz_struct const *)(__gen_e_acsl__14));
     __gmpz_init(__gen_e_acsl_div_2);
     /*@ assert E_ACSL: 0xffffffffffffffffffffff ≢ 0; */
-    __e_acsl_assert(! (__gen_e_acsl_div_guard_2 == 0),(char *)"Assertion",
-                    (char *)"main",(char *)"0xffffffffffffffffffffff == 0",
+    __e_acsl_assert(! (__gen_e_acsl_div_guard_2 == 0),"Assertion","main",
+                    "0xffffffffffffffffffffff == 0","tests/gmp-only/arith.i",
                     18);
     __gmpz_tdiv_q(__gen_e_acsl_div_2,
                   (__e_acsl_mpz_struct const *)(__gen_e_acsl__13),
@@ -204,10 +204,9 @@ int main(void)
     __gmpz_init_set_si(__gen_e_acsl__15,1L);
     __gen_e_acsl_eq_7 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_div_2),
                                    (__e_acsl_mpz_struct const *)(__gen_e_acsl__15));
-    __e_acsl_assert(__gen_e_acsl_eq_7 == 0,(char *)"Assertion",
-                    (char *)"main",
-                    (char *)"0xffffffffffffffffffffff / 0xffffffffffffffffffffff == 1",
-                    18);
+    __e_acsl_assert(__gen_e_acsl_eq_7 == 0,"Assertion","main",
+                    "0xffffffffffffffffffffff / 0xffffffffffffffffffffff == 1",
+                    "tests/gmp-only/arith.i",18);
     __gmpz_clear(__gen_e_acsl__13);
     __gmpz_clear(__gen_e_acsl__14);
     __gmpz_clear(__gen_e_acsl_div_2);
@@ -230,8 +229,8 @@ int main(void)
                                         (__e_acsl_mpz_struct const *)(__gen_e_acsl__17));
     __gmpz_init(__gen_e_acsl_mod);
     /*@ assert E_ACSL: 2 ≢ 0; */
-    __e_acsl_assert(! (__gen_e_acsl_mod_guard == 0),(char *)"Assertion",
-                    (char *)"main",(char *)"2 == 0",19);
+    __e_acsl_assert(! (__gen_e_acsl_mod_guard == 0),"Assertion","main",
+                    "2 == 0","tests/gmp-only/arith.i",19);
     __gmpz_tdiv_r(__gen_e_acsl_mod,
                   (__e_acsl_mpz_struct const *)(__gen_e_acsl_x_7),
                   (__e_acsl_mpz_struct const *)(__gen_e_acsl__16));
@@ -241,8 +240,8 @@ int main(void)
                (__e_acsl_mpz_struct const *)(__gen_e_acsl__18));
     __gen_e_acsl_eq_8 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_mod),
                                    (__e_acsl_mpz_struct const *)(__gen_e_acsl_neg_7));
-    __e_acsl_assert(__gen_e_acsl_eq_8 == 0,(char *)"Assertion",
-                    (char *)"main",(char *)"x % 2 == -1",19);
+    __e_acsl_assert(__gen_e_acsl_eq_8 == 0,"Assertion","main","x % 2 == -1",
+                    "tests/gmp-only/arith.i",19);
     __gmpz_clear(__gen_e_acsl_x_7);
     __gmpz_clear(__gen_e_acsl__16);
     __gmpz_clear(__gen_e_acsl__17);
@@ -275,8 +274,8 @@ int main(void)
                                           (__e_acsl_mpz_struct const *)(__gen_e_acsl__21));
     __gmpz_init(__gen_e_acsl_mod_2);
     /*@ assert E_ACSL: -2 ≢ 0; */
-    __e_acsl_assert(! (__gen_e_acsl_mod_guard_2 == 0),(char *)"Assertion",
-                    (char *)"main",(char *)"-2 == 0",20);
+    __e_acsl_assert(! (__gen_e_acsl_mod_guard_2 == 0),"Assertion","main",
+                    "-2 == 0","tests/gmp-only/arith.i",20);
     __gmpz_tdiv_r(__gen_e_acsl_mod_2,
                   (__e_acsl_mpz_struct const *)(__gen_e_acsl_neg_8),
                   (__e_acsl_mpz_struct const *)(__gen_e_acsl_neg_9));
@@ -286,8 +285,8 @@ int main(void)
                (__e_acsl_mpz_struct const *)(__gen_e_acsl__22));
     __gen_e_acsl_eq_9 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_mod_2),
                                    (__e_acsl_mpz_struct const *)(__gen_e_acsl_neg_10));
-    __e_acsl_assert(__gen_e_acsl_eq_9 == 0,(char *)"Assertion",
-                    (char *)"main",(char *)"-3 % -2 == -1",20);
+    __e_acsl_assert(__gen_e_acsl_eq_9 == 0,"Assertion","main",
+                    "-3 % -2 == -1","tests/gmp-only/arith.i",20);
     __gmpz_clear(__gen_e_acsl__19);
     __gmpz_clear(__gen_e_acsl_neg_8);
     __gmpz_clear(__gen_e_acsl__20);
@@ -317,16 +316,16 @@ int main(void)
                                           (__e_acsl_mpz_struct const *)(__gen_e_acsl__25));
     __gmpz_init(__gen_e_acsl_mod_3);
     /*@ assert E_ACSL: -2 ≢ 0; */
-    __e_acsl_assert(! (__gen_e_acsl_mod_guard_3 == 0),(char *)"Assertion",
-                    (char *)"main",(char *)"-2 == 0",21);
+    __e_acsl_assert(! (__gen_e_acsl_mod_guard_3 == 0),"Assertion","main",
+                    "-2 == 0","tests/gmp-only/arith.i",21);
     __gmpz_tdiv_r(__gen_e_acsl_mod_3,
                   (__e_acsl_mpz_struct const *)(__gen_e_acsl__23),
                   (__e_acsl_mpz_struct const *)(__gen_e_acsl_neg_11));
     __gmpz_init_set_si(__gen_e_acsl__26,1L);
     __gen_e_acsl_eq_10 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_mod_3),
                                     (__e_acsl_mpz_struct const *)(__gen_e_acsl__26));
-    __e_acsl_assert(__gen_e_acsl_eq_10 == 0,(char *)"Assertion",
-                    (char *)"main",(char *)"3 % -2 == 1",21);
+    __e_acsl_assert(__gen_e_acsl_eq_10 == 0,"Assertion","main","3 % -2 == 1",
+                    "tests/gmp-only/arith.i",21);
     __gmpz_clear(__gen_e_acsl__23);
     __gmpz_clear(__gen_e_acsl__24);
     __gmpz_clear(__gen_e_acsl_neg_11);
@@ -385,9 +384,9 @@ int main(void)
                (__e_acsl_mpz_struct const *)(__gen_e_acsl__30));
     __gen_e_acsl_eq_11 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_add_4),
                                     (__e_acsl_mpz_struct const *)(__gen_e_acsl_neg_12));
-    __e_acsl_assert(__gen_e_acsl_eq_11 == 0,(char *)"Assertion",
-                    (char *)"main",
-                    (char *)"((x * 2 + (3 + y)) - 4) + (x - y) == -10",23);
+    __e_acsl_assert(__gen_e_acsl_eq_11 == 0,"Assertion","main",
+                    "((x * 2 + (3 + y)) - 4) + (x - y) == -10",
+                    "tests/gmp-only/arith.i",23);
     __gmpz_clear(__gen_e_acsl_x_8);
     __gmpz_clear(__gen_e_acsl__27);
     __gmpz_clear(__gen_e_acsl_mul_2);
@@ -426,8 +425,8 @@ int main(void)
     __gmpz_init_set_si(__gen_e_acsl__35,(long)(__gen_e_acsl_not == 0));
     __gen_e_acsl_eq_14 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl__33),
                                     (__e_acsl_mpz_struct const *)(__gen_e_acsl__35));
-    __e_acsl_assert(__gen_e_acsl_eq_14 == 0,(char *)"Assertion",
-                    (char *)"main",(char *)"(0 == 1) == !(0 == 0)",25);
+    __e_acsl_assert(__gen_e_acsl_eq_14 == 0,"Assertion","main",
+                    "(0 == 1) == !(0 == 0)","tests/gmp-only/arith.i",25);
     __gmpz_clear(__gen_e_acsl__31);
     __gmpz_clear(__gen_e_acsl__32);
     __gmpz_clear(__gen_e_acsl__33);
@@ -457,8 +456,8 @@ int main(void)
     __gmpz_init_set_si(__gen_e_acsl__39,(long)(__gen_e_acsl_gt > 0));
     __gen_e_acsl_eq_15 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl__38),
                                     (__e_acsl_mpz_struct const *)(__gen_e_acsl__39));
-    __e_acsl_assert(__gen_e_acsl_eq_15 == 0,(char *)"Assertion",
-                    (char *)"main",(char *)"(0 <= -1) == (0 > 0)",26);
+    __e_acsl_assert(__gen_e_acsl_eq_15 == 0,"Assertion","main",
+                    "(0 <= -1) == (0 > 0)","tests/gmp-only/arith.i",26);
     __gmpz_clear(__gen_e_acsl__36);
     __gmpz_clear(__gen_e_acsl__37);
     __gmpz_clear(__gen_e_acsl_neg_13);
@@ -488,8 +487,8 @@ int main(void)
     __gmpz_init_set_si(__gen_e_acsl__43,(long)(__gen_e_acsl_le_2 <= 0));
     __gen_e_acsl_eq_16 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl__42),
                                     (__e_acsl_mpz_struct const *)(__gen_e_acsl__43));
-    __e_acsl_assert(__gen_e_acsl_eq_16 == 0,(char *)"Assertion",
-                    (char *)"main",(char *)"(0 >= -1) == (0 <= 0)",27);
+    __e_acsl_assert(__gen_e_acsl_eq_16 == 0,"Assertion","main",
+                    "(0 >= -1) == (0 <= 0)","tests/gmp-only/arith.i",27);
     __gmpz_clear(__gen_e_acsl__40);
     __gmpz_clear(__gen_e_acsl__41);
     __gmpz_clear(__gen_e_acsl_neg_14);
@@ -520,8 +519,8 @@ int main(void)
     __gmpz_init_set_si(__gen_e_acsl__48,(long)(__gen_e_acsl_not_2 == 0));
     __gen_e_acsl_eq_17 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl__46),
                                     (__e_acsl_mpz_struct const *)(__gen_e_acsl__48));
-    __e_acsl_assert(__gen_e_acsl_eq_17 == 0,(char *)"Assertion",
-                    (char *)"main",(char *)"(0 != 1) == !(0 != 0)",28);
+    __e_acsl_assert(__gen_e_acsl_eq_17 == 0,"Assertion","main",
+                    "(0 != 1) == !(0 != 0)","tests/gmp-only/arith.i",28);
     __gmpz_clear(__gen_e_acsl__44);
     __gmpz_clear(__gen_e_acsl__45);
     __gmpz_clear(__gen_e_acsl__46);
@@ -552,8 +551,8 @@ int main(void)
     __gmpz_init_set_si(__gen_e_acsl__53,(long)(__gen_e_acsl_not_3 == 0));
     __gen_e_acsl_eq_18 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl__50),
                                     (__e_acsl_mpz_struct const *)(__gen_e_acsl__53));
-    __e_acsl_assert(__gen_e_acsl_eq_18 == 0,(char *)"Assertion",
-                    (char *)"main",(char *)"(0 != 0) == !(1 != 0)",30);
+    __e_acsl_assert(__gen_e_acsl_eq_18 == 0,"Assertion","main",
+                    "(0 != 0) == !(1 != 0)","tests/gmp-only/arith.i",30);
     __gmpz_clear(__gen_e_acsl__49);
     __gmpz_clear(__gen_e_acsl__50);
     __gmpz_clear(__gen_e_acsl__51);
@@ -576,16 +575,16 @@ int main(void)
                                           (__e_acsl_mpz_struct const *)(__gen_e_acsl__55));
     __gmpz_init(__gen_e_acsl_div_3);
     /*@ assert E_ACSL: y ≢ 0; */
-    __e_acsl_assert(! (__gen_e_acsl_div_guard_3 == 0),(char *)"Assertion",
-                    (char *)"main",(char *)"y == 0",31);
+    __e_acsl_assert(! (__gen_e_acsl_div_guard_3 == 0),"Assertion","main",
+                    "y == 0","tests/gmp-only/arith.i",31);
     __gmpz_tdiv_q(__gen_e_acsl_div_3,
                   (__e_acsl_mpz_struct const *)(__gen_e_acsl__54),
                   (__e_acsl_mpz_struct const *)(__gen_e_acsl_y_2));
     __gmpz_init_set_si(__gen_e_acsl__56,2L);
     __gen_e_acsl_eq_19 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_div_3),
                                     (__e_acsl_mpz_struct const *)(__gen_e_acsl__56));
-    __e_acsl_assert(__gen_e_acsl_eq_19 == 0,(char *)"Assertion",
-                    (char *)"main",(char *)"4 / y == 2",31);
+    __e_acsl_assert(__gen_e_acsl_eq_19 == 0,"Assertion","main","4 / y == 2",
+                    "tests/gmp-only/arith.i",31);
     __gmpz_clear(__gen_e_acsl__54);
     __gmpz_clear(__gen_e_acsl_y_2);
     __gmpz_clear(__gen_e_acsl__55);
@@ -622,8 +621,9 @@ int main(void)
                                           (__e_acsl_mpz_struct const *)(__gen_e_acsl__59));
     __gmpz_init(__gen_e_acsl_div_4);
     /*@ assert E_ACSL: y - 123456789123456789 ≢ 0; */
-    __e_acsl_assert(! (__gen_e_acsl_div_guard_4 == 0),(char *)"Assertion",
-                    (char *)"main",(char *)"y - 123456789123456789 == 0",34);
+    __e_acsl_assert(! (__gen_e_acsl_div_guard_4 == 0),"Assertion","main",
+                    "y - 123456789123456789 == 0","tests/gmp-only/arith.i",
+                    34);
     __gmpz_tdiv_q(__gen_e_acsl_div_4,
                   (__e_acsl_mpz_struct const *)(__gen_e_acsl_add_5),
                   (__e_acsl_mpz_struct const *)(__gen_e_acsl_sub_4));
@@ -633,9 +633,9 @@ int main(void)
                (__e_acsl_mpz_struct const *)(__gen_e_acsl_div_4));
     __gen_e_acsl_eq_20 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_add_6),
                                     (__e_acsl_mpz_struct const *)(__gen_e_acsl__57));
-    __e_acsl_assert(__gen_e_acsl_eq_20 == 0,(char *)"Assertion",
-                    (char *)"main",
-                    (char *)"1 + (z + 1) / (y - 123456789123456789) == 1",34);
+    __e_acsl_assert(__gen_e_acsl_eq_20 == 0,"Assertion","main",
+                    "1 + (z + 1) / (y - 123456789123456789) == 1",
+                    "tests/gmp-only/arith.i",34);
     __gmpz_clear(__gen_e_acsl__57);
     __gmpz_clear(__gen_e_acsl_z);
     __gmpz_clear(__gen_e_acsl_add_5);
@@ -669,8 +669,8 @@ int main(void)
                (__e_acsl_mpz_struct const *)(__gen_e_acsl__60));
     __gen_e_acsl_eq_21 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_sub_5),
                                     (__e_acsl_mpz_struct const *)(__gen_e_acsl_add_7));
-    __e_acsl_assert(__gen_e_acsl_eq_21 == 0,(char *)"Assertion",
-                    (char *)"main",(char *)"1 - x == -x + 1",36);
+    __e_acsl_assert(__gen_e_acsl_eq_21 == 0,"Assertion","main",
+                    "1 - x == -x + 1","tests/gmp-only/arith.i",36);
     __gmpz_clear(__gen_e_acsl__60);
     __gmpz_clear(__gen_e_acsl_x_9);
     __gmpz_clear(__gen_e_acsl_sub_5);
diff --git a/src/plugins/e-acsl/tests/gmp-only/oracle_ci/gen_functions.c b/src/plugins/e-acsl/tests/gmp-only/oracle_ci/gen_functions.c
index 7fee3a23192b213e101872f7bf8d6571ec82bb51..f47d15dc1de8409ff9909b8e03349666e21302b8 100644
--- a/src/plugins/e-acsl/tests/gmp-only/oracle_ci/gen_functions.c
+++ b/src/plugins/e-acsl/tests/gmp-only/oracle_ci/gen_functions.c
@@ -89,15 +89,15 @@ int main(void)
   {
     int __gen_e_acsl_p1_2;
     __gen_e_acsl_p1_2 = __gen_e_acsl_p1(x,y);
-    __e_acsl_assert(__gen_e_acsl_p1_2,(char *)"Assertion",(char *)"main",
-                    (char *)"p1(x, y)",42);
+    __e_acsl_assert(__gen_e_acsl_p1_2,"Assertion","main","p1(x, y)",
+                    "tests/gmp-only/functions.c",42);
   }
   /*@ assert p1(x, y); */ ;
   {
     int __gen_e_acsl_p2_2;
     __gen_e_acsl_p2_2 = __gen_e_acsl_p2(3,4);
-    __e_acsl_assert(__gen_e_acsl_p2_2,(char *)"Assertion",(char *)"main",
-                    (char *)"p2(3, 4)",43);
+    __e_acsl_assert(__gen_e_acsl_p2_2,"Assertion","main","p2(3, 4)",
+                    "tests/gmp-only/functions.c",43);
   }
   /*@ assert p2(3, 4); */ ;
   {
@@ -106,8 +106,9 @@ int main(void)
     __gmpz_init_set_str(__gen_e_acsl__3,"99999999999999999999999999999",10);
     __gen_e_acsl_p2_4 = __gen_e_acsl_p2_3(5,
                                           (__e_acsl_mpz_struct *)__gen_e_acsl__3);
-    __e_acsl_assert(__gen_e_acsl_p2_4,(char *)"Assertion",(char *)"main",
-                    (char *)"p2(5, 99999999999999999999999999999)",44);
+    __e_acsl_assert(__gen_e_acsl_p2_4,"Assertion","main",
+                    "p2(5, 99999999999999999999999999999)",
+                    "tests/gmp-only/functions.c",44);
     __gmpz_clear(__gen_e_acsl__3);
   }
   /*@ assert p2(5, 99999999999999999999999999999); */ ;
@@ -119,8 +120,8 @@ int main(void)
     __gmpz_init_set_si(__gen_e_acsl__5,3L);
     __gen_e_acsl_eq = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_f1_2),
                                  (__e_acsl_mpz_struct const *)(__gen_e_acsl__5));
-    __e_acsl_assert(__gen_e_acsl_eq == 0,(char *)"Assertion",(char *)"main",
-                    (char *)"f1(x, y) == 3",46);
+    __e_acsl_assert(__gen_e_acsl_eq == 0,"Assertion","main","f1(x, y) == 3",
+                    "tests/gmp-only/functions.c",46);
     __gmpz_clear(__gen_e_acsl_f1_2);
     __gmpz_clear(__gen_e_acsl__5);
   }
@@ -135,8 +136,8 @@ int main(void)
     */
     __gen_e_acsl_p2_6 = __gen_e_acsl_p2_3(x,
                                           (__e_acsl_mpz_struct *)__gen_e_acsl_f1_4);
-    __e_acsl_assert(__gen_e_acsl_p2_6,(char *)"Assertion",(char *)"main",
-                    (char *)"p2(x, f1(3, 4))",47);
+    __e_acsl_assert(__gen_e_acsl_p2_6,"Assertion","main","p2(x, f1(3, 4))",
+                    "tests/gmp-only/functions.c",47);
     __gmpz_clear(__gen_e_acsl_f1_4);
   }
   /*@ assert p2(x, f1(3, 4)); */ ;
@@ -151,8 +152,9 @@ int main(void)
     __gmpz_init_set_si(__gen_e_acsl__7,0L);
     __gen_e_acsl_gt_4 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_f1_6),
                                    (__e_acsl_mpz_struct const *)(__gen_e_acsl__7));
-    __e_acsl_assert(__gen_e_acsl_gt_4 > 0,(char *)"Assertion",(char *)"main",
-                    (char *)"f1(9, 99999999999999999999999999999) > 0",48);
+    __e_acsl_assert(__gen_e_acsl_gt_4 > 0,"Assertion","main",
+                    "f1(9, 99999999999999999999999999999) > 0",
+                    "tests/gmp-only/functions.c",48);
     __gmpz_clear(__gen_e_acsl__6);
     __gmpz_clear(__gen_e_acsl_f1_6);
     __gmpz_clear(__gen_e_acsl__7);
@@ -170,10 +172,9 @@ int main(void)
     __gmpz_init_set_str(__gen_e_acsl__9,"199999999999999999999999999998",10);
     __gen_e_acsl_eq_2 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_f1_8),
                                    (__e_acsl_mpz_struct const *)(__gen_e_acsl__9));
-    __e_acsl_assert(__gen_e_acsl_eq_2 == 0,(char *)"Assertion",
-                    (char *)"main",
-                    (char *)"f1(99999999999999999999999999999, 99999999999999999999999999999) ==\n199999999999999999999999999998",
-                    49);
+    __e_acsl_assert(__gen_e_acsl_eq_2 == 0,"Assertion","main",
+                    "f1(99999999999999999999999999999, 99999999999999999999999999999) ==\n199999999999999999999999999998",
+                    "tests/gmp-only/functions.c",49);
     __gmpz_clear(__gen_e_acsl__8);
     __gmpz_clear(__gen_e_acsl_f1_8);
     __gmpz_clear(__gen_e_acsl__9);
@@ -193,8 +194,8 @@ int main(void)
     __gmpz_init_set_si(__gen_e_acsl_x_6,(long)x);
     __gen_e_acsl_eq_3 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_app),
                                    (__e_acsl_mpz_struct const *)(__gen_e_acsl_x_6));
-    __e_acsl_assert(__gen_e_acsl_eq_3 == 0,(char *)"Assertion",
-                    (char *)"main",(char *)"g(x) == x",53);
+    __e_acsl_assert(__gen_e_acsl_eq_3 == 0,"Assertion","main","g(x) == x",
+                    "tests/gmp-only/functions.c",53);
     __gmpz_clear(__gen_e_acsl_app);
     __gmpz_clear(__gen_e_acsl_x_6);
   }
@@ -210,8 +211,8 @@ int main(void)
     __gmpz_init_set_si(__gen_e_acsl_c,(long)c);
     __gen_e_acsl_eq_4 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_app_2),
                                    (__e_acsl_mpz_struct const *)(__gen_e_acsl_c));
-    __e_acsl_assert(__gen_e_acsl_eq_4 == 0,(char *)"Assertion",
-                    (char *)"main",(char *)"h_char(c) == c",56);
+    __e_acsl_assert(__gen_e_acsl_eq_4 == 0,"Assertion","main",
+                    "h_char(c) == c","tests/gmp-only/functions.c",56);
     __gmpz_clear(__gen_e_acsl_app_2);
     __gmpz_clear(__gen_e_acsl_c);
   }
@@ -227,8 +228,8 @@ int main(void)
     __gmpz_init_set_si(__gen_e_acsl_s,(long)s);
     __gen_e_acsl_eq_5 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_app_3),
                                    (__e_acsl_mpz_struct const *)(__gen_e_acsl_s));
-    __e_acsl_assert(__gen_e_acsl_eq_5 == 0,(char *)"Assertion",
-                    (char *)"main",(char *)"h_short(s) == s",58);
+    __e_acsl_assert(__gen_e_acsl_eq_5 == 0,"Assertion","main",
+                    "h_short(s) == s","tests/gmp-only/functions.c",58);
     __gmpz_clear(__gen_e_acsl_app_3);
     __gmpz_clear(__gen_e_acsl_s);
   }
@@ -245,8 +246,8 @@ int main(void)
     __gmpz_init_set_si(__gen_e_acsl__12,17L);
     __gen_e_acsl_eq_6 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_t2_2),
                                    (__e_acsl_mpz_struct const *)(__gen_e_acsl__12));
-    __e_acsl_assert(__gen_e_acsl_eq_6 == 0,(char *)"Assertion",
-                    (char *)"main",(char *)"t2(t1(m)) == 17",63);
+    __e_acsl_assert(__gen_e_acsl_eq_6 == 0,"Assertion","main",
+                    "t2(t1(m)) == 17","tests/gmp-only/functions.c",63);
     __gmpz_clear(__gen_e_acsl_t2_2);
     __gmpz_clear(__gen_e_acsl__12);
   }
@@ -256,8 +257,8 @@ int main(void)
   {
     double __gen_e_acsl_f2_2;
     __gen_e_acsl_f2_2 = __gen_e_acsl_f2(d);
-    __e_acsl_assert(__gen_e_acsl_f2_2 > 0.,(char *)"Assertion",
-                    (char *)"main",(char *)"f2(d) > 0",68);
+    __e_acsl_assert(__gen_e_acsl_f2_2 > 0.,"Assertion","main","f2(d) > 0",
+                    "tests/gmp-only/functions.c",68);
   }
   /*@ assert f2(d) > 0; */ ;
   __retres = 0;
@@ -270,13 +271,77 @@ void __gen_e_acsl_k(int x)
   {
     int __gen_e_acsl_k_pred_2;
     __gen_e_acsl_k_pred_2 = __gen_e_acsl_k_pred(x);
-    __e_acsl_assert(__gen_e_acsl_k_pred_2,(char *)"Precondition",(char *)"k",
-                    (char *)"k_pred(x)",25);
+    __e_acsl_assert(__gen_e_acsl_k_pred_2,"Precondition","k","k_pred(x)",
+                    "tests/gmp-only/functions.c",25);
   }
   k(x);
   return;
 }
 
+void __gen_e_acsl_t2(__e_acsl_mpz_t *__retres_arg, mystruct m)
+{
+  __e_acsl_mpz_t __gen_e_acsl__10;
+  __e_acsl_mpz_t __gen_e_acsl__11;
+  __e_acsl_mpz_t __gen_e_acsl_add_7;
+  __gmpz_init_set_si(__gen_e_acsl__10,(long)m.k);
+  __gmpz_init_set_si(__gen_e_acsl__11,(long)m.l);
+  __gmpz_init(__gen_e_acsl_add_7);
+  __gmpz_add(__gen_e_acsl_add_7,
+             (__e_acsl_mpz_struct const *)(__gen_e_acsl__10),
+             (__e_acsl_mpz_struct const *)(__gen_e_acsl__11));
+  __gmpz_init_set(*__retres_arg,
+                  (__e_acsl_mpz_struct const *)(__gen_e_acsl_add_7));
+  __gmpz_clear(__gen_e_acsl__10);
+  __gmpz_clear(__gen_e_acsl__11);
+  __gmpz_clear(__gen_e_acsl_add_7);
+  return;
+}
+
+int __gen_e_acsl_p2(int x, int y)
+{
+  __e_acsl_mpz_t __gen_e_acsl_x_2;
+  __e_acsl_mpz_t __gen_e_acsl_y_2;
+  __e_acsl_mpz_t __gen_e_acsl_add_2;
+  __e_acsl_mpz_t __gen_e_acsl__2;
+  int __gen_e_acsl_gt_2;
+  __gmpz_init_set_si(__gen_e_acsl_x_2,(long)x);
+  __gmpz_init_set_si(__gen_e_acsl_y_2,(long)y);
+  __gmpz_init(__gen_e_acsl_add_2);
+  __gmpz_add(__gen_e_acsl_add_2,
+             (__e_acsl_mpz_struct const *)(__gen_e_acsl_x_2),
+             (__e_acsl_mpz_struct const *)(__gen_e_acsl_y_2));
+  __gmpz_init_set_si(__gen_e_acsl__2,0L);
+  __gen_e_acsl_gt_2 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_add_2),
+                                 (__e_acsl_mpz_struct const *)(__gen_e_acsl__2));
+  int __retres = __gen_e_acsl_gt_2 > 0;
+  __gmpz_clear(__gen_e_acsl_x_2);
+  __gmpz_clear(__gen_e_acsl_y_2);
+  __gmpz_clear(__gen_e_acsl_add_2);
+  __gmpz_clear(__gen_e_acsl__2);
+  return __retres;
+}
+
+int __gen_e_acsl_p2_3(int x, __e_acsl_mpz_struct * y)
+{
+  __e_acsl_mpz_t __gen_e_acsl_x_3;
+  __e_acsl_mpz_t __gen_e_acsl_add_3;
+  __e_acsl_mpz_t __gen_e_acsl__4;
+  int __gen_e_acsl_gt_3;
+  __gmpz_init_set_si(__gen_e_acsl_x_3,(long)x);
+  __gmpz_init(__gen_e_acsl_add_3);
+  __gmpz_add(__gen_e_acsl_add_3,
+             (__e_acsl_mpz_struct const *)(__gen_e_acsl_x_3),
+             (__e_acsl_mpz_struct const *)(y));
+  __gmpz_init_set_si(__gen_e_acsl__4,0L);
+  __gen_e_acsl_gt_3 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_add_3),
+                                 (__e_acsl_mpz_struct const *)(__gen_e_acsl__4));
+  int __retres = __gen_e_acsl_gt_3 > 0;
+  __gmpz_clear(__gen_e_acsl_x_3);
+  __gmpz_clear(__gen_e_acsl_add_3);
+  __gmpz_clear(__gen_e_acsl__4);
+  return __retres;
+}
+
 int __gen_e_acsl_k_pred(int x)
 {
   __e_acsl_mpz_t __gen_e_acsl_x;
@@ -413,68 +478,4 @@ int __gen_e_acsl_p1(int x, int y)
   return __retres;
 }
 
-void __gen_e_acsl_t2(__e_acsl_mpz_t *__retres_arg, mystruct m)
-{
-  __e_acsl_mpz_t __gen_e_acsl__10;
-  __e_acsl_mpz_t __gen_e_acsl__11;
-  __e_acsl_mpz_t __gen_e_acsl_add_7;
-  __gmpz_init_set_si(__gen_e_acsl__10,(long)m.k);
-  __gmpz_init_set_si(__gen_e_acsl__11,(long)m.l);
-  __gmpz_init(__gen_e_acsl_add_7);
-  __gmpz_add(__gen_e_acsl_add_7,
-             (__e_acsl_mpz_struct const *)(__gen_e_acsl__10),
-             (__e_acsl_mpz_struct const *)(__gen_e_acsl__11));
-  __gmpz_init_set(*__retres_arg,
-                  (__e_acsl_mpz_struct const *)(__gen_e_acsl_add_7));
-  __gmpz_clear(__gen_e_acsl__10);
-  __gmpz_clear(__gen_e_acsl__11);
-  __gmpz_clear(__gen_e_acsl_add_7);
-  return;
-}
-
-int __gen_e_acsl_p2(int x, int y)
-{
-  __e_acsl_mpz_t __gen_e_acsl_x_2;
-  __e_acsl_mpz_t __gen_e_acsl_y_2;
-  __e_acsl_mpz_t __gen_e_acsl_add_2;
-  __e_acsl_mpz_t __gen_e_acsl__2;
-  int __gen_e_acsl_gt_2;
-  __gmpz_init_set_si(__gen_e_acsl_x_2,(long)x);
-  __gmpz_init_set_si(__gen_e_acsl_y_2,(long)y);
-  __gmpz_init(__gen_e_acsl_add_2);
-  __gmpz_add(__gen_e_acsl_add_2,
-             (__e_acsl_mpz_struct const *)(__gen_e_acsl_x_2),
-             (__e_acsl_mpz_struct const *)(__gen_e_acsl_y_2));
-  __gmpz_init_set_si(__gen_e_acsl__2,0L);
-  __gen_e_acsl_gt_2 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_add_2),
-                                 (__e_acsl_mpz_struct const *)(__gen_e_acsl__2));
-  int __retres = __gen_e_acsl_gt_2 > 0;
-  __gmpz_clear(__gen_e_acsl_x_2);
-  __gmpz_clear(__gen_e_acsl_y_2);
-  __gmpz_clear(__gen_e_acsl_add_2);
-  __gmpz_clear(__gen_e_acsl__2);
-  return __retres;
-}
-
-int __gen_e_acsl_p2_3(int x, __e_acsl_mpz_struct * y)
-{
-  __e_acsl_mpz_t __gen_e_acsl_x_3;
-  __e_acsl_mpz_t __gen_e_acsl_add_3;
-  __e_acsl_mpz_t __gen_e_acsl__4;
-  int __gen_e_acsl_gt_3;
-  __gmpz_init_set_si(__gen_e_acsl_x_3,(long)x);
-  __gmpz_init(__gen_e_acsl_add_3);
-  __gmpz_add(__gen_e_acsl_add_3,
-             (__e_acsl_mpz_struct const *)(__gen_e_acsl_x_3),
-             (__e_acsl_mpz_struct const *)(y));
-  __gmpz_init_set_si(__gen_e_acsl__4,0L);
-  __gen_e_acsl_gt_3 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_add_3),
-                                 (__e_acsl_mpz_struct const *)(__gen_e_acsl__4));
-  int __retres = __gen_e_acsl_gt_3 > 0;
-  __gmpz_clear(__gen_e_acsl_x_3);
-  __gmpz_clear(__gen_e_acsl_add_3);
-  __gmpz_clear(__gen_e_acsl__4);
-  return __retres;
-}
-
 
diff --git a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_addrOf.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_addrOf.c
index 7ac69dd471677940f7fa1b2f85a7255029006847..7b77f53af25192904b9c35d6dc15f56152a3874e 100644
--- a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_addrOf.c
+++ b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_addrOf.c
@@ -18,8 +18,8 @@ void f(void)
   {
     int __gen_e_acsl_initialized;
     __gen_e_acsl_initialized = __e_acsl_initialized((void *)p,sizeof(int));
-    __e_acsl_assert(__gen_e_acsl_initialized,(char *)"Assertion",(char *)"f",
-                    (char *)"\\initialized(p)",10);
+    __e_acsl_assert(__gen_e_acsl_initialized,"Assertion","f",
+                    "\\initialized(p)","tests/memory/addrOf.i",10);
   }
   /*@ assert \initialized(p); */ ;
   __e_acsl_delete_block((void *)(& p));
@@ -34,8 +34,8 @@ int main(void)
   __e_acsl_memory_init((int *)0,(char ***)0,(size_t)8);
   int x = 0;
   f();
-  __e_acsl_assert(& x == & x,(char *)"Assertion",(char *)"main",
-                  (char *)"&x == &x",16);
+  __e_acsl_assert(& x == & x,"Assertion","main","&x == &x",
+                  "tests/memory/addrOf.i",16);
   /*@ assert &x ≡ &x; */ ;
   __retres = 0;
   __e_acsl_memory_clean();
diff --git a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_alias.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_alias.c
index 623444a15a10844b7fcb218fdc35881747b5220f..6a17c6b8426bb74077ff37e8e435e93293fccc46 100644
--- a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_alias.c
+++ b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_alias.c
@@ -25,8 +25,8 @@ int main(void)
     int __gen_e_acsl_initialized;
     __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& i),
                                                     sizeof(int));
-    __e_acsl_assert(__gen_e_acsl_initialized,(char *)"Assertion",
-                    (char *)"main",(char *)"\\initialized(&i)",14);
+    __e_acsl_assert(__gen_e_acsl_initialized,"Assertion","main",
+                    "\\initialized(&i)","tests/memory/alias.i",14);
   }
   /*@ assert \initialized(&i); */ ;
   __retres = 0;
diff --git a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_base_addr.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_base_addr.c
index 23c0c703bddfe2039716143e6a6a2249115b9db3..6f888df6d065d78c22c954269449c6aa082a292c 100644
--- a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_base_addr.c
+++ b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_base_addr.c
@@ -30,8 +30,9 @@ int main(void)
     __gen_e_acsl_base_addr = __e_acsl_base_addr((void *)(A));
     __gen_e_acsl_base_addr_2 = __e_acsl_base_addr((void *)(& A));
     __e_acsl_assert(__gen_e_acsl_base_addr == __gen_e_acsl_base_addr_2,
-                    (char *)"Assertion",(char *)"main",
-                    (char *)"\\base_addr((int *)A) == \\base_addr(&A)",13);
+                    "Assertion","main",
+                    "\\base_addr((int *)A) == \\base_addr(&A)",
+                    "tests/memory/base_addr.c",13);
   }
   /*@ assert \base_addr((int *)A) ≡ \base_addr(&A); */ ;
   {
@@ -40,8 +41,9 @@ int main(void)
     __gen_e_acsl_base_addr_3 = __e_acsl_base_addr((void *)(A));
     __gen_e_acsl_base_addr_4 = __e_acsl_base_addr((void *)PA);
     __e_acsl_assert(__gen_e_acsl_base_addr_3 == __gen_e_acsl_base_addr_4,
-                    (char *)"Assertion",(char *)"main",
-                    (char *)"\\base_addr((int *)A) == \\base_addr(PA)",14);
+                    "Assertion","main",
+                    "\\base_addr((int *)A) == \\base_addr(PA)",
+                    "tests/memory/base_addr.c",14);
   }
   /*@ assert \base_addr((int *)A) ≡ \base_addr(PA); */ ;
   {
@@ -50,8 +52,9 @@ int main(void)
     __gen_e_acsl_base_addr_5 = __e_acsl_base_addr((void *)(& A[3]));
     __gen_e_acsl_base_addr_6 = __e_acsl_base_addr((void *)PA);
     __e_acsl_assert(__gen_e_acsl_base_addr_5 == __gen_e_acsl_base_addr_6,
-                    (char *)"Assertion",(char *)"main",
-                    (char *)"\\base_addr(&A[3]) == \\base_addr(PA)",15);
+                    "Assertion","main",
+                    "\\base_addr(&A[3]) == \\base_addr(PA)",
+                    "tests/memory/base_addr.c",15);
   }
   /*@ assert \base_addr(&A[3]) ≡ \base_addr(PA); */ ;
   PA ++;
@@ -61,8 +64,9 @@ int main(void)
     __gen_e_acsl_base_addr_7 = __e_acsl_base_addr((void *)PA);
     __gen_e_acsl_base_addr_8 = __e_acsl_base_addr((void *)(A));
     __e_acsl_assert(__gen_e_acsl_base_addr_7 == __gen_e_acsl_base_addr_8,
-                    (char *)"Assertion",(char *)"main",
-                    (char *)"\\base_addr(PA) == \\base_addr((int *)A)",17);
+                    "Assertion","main",
+                    "\\base_addr(PA) == \\base_addr((int *)A)",
+                    "tests/memory/base_addr.c",17);
   }
   /*@ assert \base_addr(PA) ≡ \base_addr((int *)A); */ ;
   {
@@ -71,8 +75,9 @@ int main(void)
     __gen_e_acsl_base_addr_9 = __e_acsl_base_addr((void *)(PA + 2));
     __gen_e_acsl_base_addr_10 = __e_acsl_base_addr((void *)(& A[3]));
     __e_acsl_assert(__gen_e_acsl_base_addr_9 == __gen_e_acsl_base_addr_10,
-                    (char *)"Assertion",(char *)"main",
-                    (char *)"\\base_addr(PA + 2) == \\base_addr(&A[3])",18);
+                    "Assertion","main",
+                    "\\base_addr(PA + 2) == \\base_addr(&A[3])",
+                    "tests/memory/base_addr.c",18);
   }
   /*@ assert \base_addr(PA + 2) ≡ \base_addr(&A[3]); */ ;
   int a[4] = {1, 2, 3, 4};
@@ -86,8 +91,9 @@ int main(void)
     __gen_e_acsl_base_addr_11 = __e_acsl_base_addr((void *)(a));
     __gen_e_acsl_base_addr_12 = __e_acsl_base_addr((void *)(& a));
     __e_acsl_assert(__gen_e_acsl_base_addr_11 == __gen_e_acsl_base_addr_12,
-                    (char *)"Assertion",(char *)"main",
-                    (char *)"\\base_addr((int *)a) == \\base_addr(&a)",25);
+                    "Assertion","main",
+                    "\\base_addr((int *)a) == \\base_addr(&a)",
+                    "tests/memory/base_addr.c",25);
   }
   /*@ assert \base_addr((int *)a) ≡ \base_addr(&a); */ ;
   {
@@ -96,8 +102,9 @@ int main(void)
     __gen_e_acsl_base_addr_13 = __e_acsl_base_addr((void *)(a));
     __gen_e_acsl_base_addr_14 = __e_acsl_base_addr((void *)pa);
     __e_acsl_assert(__gen_e_acsl_base_addr_13 == __gen_e_acsl_base_addr_14,
-                    (char *)"Assertion",(char *)"main",
-                    (char *)"\\base_addr((int *)a) == \\base_addr(pa)",26);
+                    "Assertion","main",
+                    "\\base_addr((int *)a) == \\base_addr(pa)",
+                    "tests/memory/base_addr.c",26);
   }
   /*@ assert \base_addr((int *)a) ≡ \base_addr(pa); */ ;
   {
@@ -106,8 +113,9 @@ int main(void)
     __gen_e_acsl_base_addr_15 = __e_acsl_base_addr((void *)(& a[3]));
     __gen_e_acsl_base_addr_16 = __e_acsl_base_addr((void *)pa);
     __e_acsl_assert(__gen_e_acsl_base_addr_15 == __gen_e_acsl_base_addr_16,
-                    (char *)"Assertion",(char *)"main",
-                    (char *)"\\base_addr(&a[3]) == \\base_addr(pa)",27);
+                    "Assertion","main",
+                    "\\base_addr(&a[3]) == \\base_addr(pa)",
+                    "tests/memory/base_addr.c",27);
   }
   /*@ assert \base_addr(&a[3]) ≡ \base_addr(pa); */ ;
   __e_acsl_full_init((void *)(& pa));
@@ -118,8 +126,9 @@ int main(void)
     __gen_e_acsl_base_addr_17 = __e_acsl_base_addr((void *)pa);
     __gen_e_acsl_base_addr_18 = __e_acsl_base_addr((void *)(a));
     __e_acsl_assert(__gen_e_acsl_base_addr_17 == __gen_e_acsl_base_addr_18,
-                    (char *)"Assertion",(char *)"main",
-                    (char *)"\\base_addr(pa) == \\base_addr((int *)a)",29);
+                    "Assertion","main",
+                    "\\base_addr(pa) == \\base_addr((int *)a)",
+                    "tests/memory/base_addr.c",29);
   }
   /*@ assert \base_addr(pa) ≡ \base_addr((int *)a); */ ;
   {
@@ -128,9 +137,9 @@ int main(void)
     __gen_e_acsl_base_addr_19 = __e_acsl_base_addr((void *)(pa + 2));
     __gen_e_acsl_base_addr_20 = __e_acsl_base_addr((void *)(a));
     __e_acsl_assert(__gen_e_acsl_base_addr_19 == __gen_e_acsl_base_addr_20,
-                    (char *)"Assertion",(char *)"main",
-                    (char *)"\\base_addr(pa + 2) == \\base_addr((int *)a)",
-                    30);
+                    "Assertion","main",
+                    "\\base_addr(pa + 2) == \\base_addr((int *)a)",
+                    "tests/memory/base_addr.c",30);
   }
   /*@ assert \base_addr(pa + 2) ≡ \base_addr((int *)a); */ ;
   long l = (long)4;
@@ -145,8 +154,8 @@ int main(void)
     __gen_e_acsl_base_addr_21 = __e_acsl_base_addr((void *)(& l));
     __gen_e_acsl_base_addr_22 = __e_acsl_base_addr((void *)pl);
     __e_acsl_assert(__gen_e_acsl_base_addr_21 == __gen_e_acsl_base_addr_22,
-                    (char *)"Assertion",(char *)"main",
-                    (char *)"\\base_addr(&l) == \\base_addr(pl)",35);
+                    "Assertion","main","\\base_addr(&l) == \\base_addr(pl)",
+                    "tests/memory/base_addr.c",35);
   }
   /*@ assert \base_addr(&l) ≡ \base_addr(pl); */ ;
   {
@@ -155,8 +164,9 @@ int main(void)
     __gen_e_acsl_base_addr_23 = __e_acsl_base_addr((void *)(pl + 2));
     __gen_e_acsl_base_addr_24 = __e_acsl_base_addr((void *)(& l));
     __e_acsl_assert(__gen_e_acsl_base_addr_23 == __gen_e_acsl_base_addr_24,
-                    (char *)"Assertion",(char *)"main",
-                    (char *)"\\base_addr(pl + 2) == \\base_addr(&l)",36);
+                    "Assertion","main",
+                    "\\base_addr(pl + 2) == \\base_addr(&l)",
+                    "tests/memory/base_addr.c",36);
   }
   /*@ assert \base_addr(pl + 2) ≡ \base_addr(&l); */ ;
   short *pi = (short *)(& l);
@@ -172,8 +182,8 @@ int main(void)
     __gen_e_acsl_base_addr_25 = __e_acsl_base_addr((void *)pi);
     __gen_e_acsl_base_addr_26 = __e_acsl_base_addr((void *)pl);
     __e_acsl_assert(__gen_e_acsl_base_addr_25 == __gen_e_acsl_base_addr_26,
-                    (char *)"Assertion",(char *)"main",
-                    (char *)"\\base_addr(pi) == \\base_addr(pl)",40);
+                    "Assertion","main","\\base_addr(pi) == \\base_addr(pl)",
+                    "tests/memory/base_addr.c",40);
   }
   /*@ assert \base_addr(pi) ≡ \base_addr(pl); */ ;
   {
@@ -182,8 +192,8 @@ int main(void)
     __gen_e_acsl_base_addr_27 = __e_acsl_base_addr((void *)pl);
     __gen_e_acsl_base_addr_28 = __e_acsl_base_addr((void *)(& l));
     __e_acsl_assert(__gen_e_acsl_base_addr_27 == __gen_e_acsl_base_addr_28,
-                    (char *)"Assertion",(char *)"main",
-                    (char *)"\\base_addr(pl) == \\base_addr(&l)",41);
+                    "Assertion","main","\\base_addr(pl) == \\base_addr(&l)",
+                    "tests/memory/base_addr.c",41);
   }
   /*@ assert \base_addr(pl) ≡ \base_addr(&l); */ ;
   char *p = malloc((unsigned long)12);
@@ -198,8 +208,8 @@ int main(void)
     __gen_e_acsl_base_addr_29 = __e_acsl_base_addr((void *)p);
     __gen_e_acsl_base_addr_30 = __e_acsl_base_addr((void *)pd);
     __e_acsl_assert(__gen_e_acsl_base_addr_29 == __gen_e_acsl_base_addr_30,
-                    (char *)"Assertion",(char *)"main",
-                    (char *)"\\base_addr(p) == \\base_addr(pd)",46);
+                    "Assertion","main","\\base_addr(p) == \\base_addr(pd)",
+                    "tests/memory/base_addr.c",46);
   }
   /*@ assert \base_addr(p) ≡ \base_addr(pd); */ ;
   {
@@ -208,8 +218,9 @@ int main(void)
     __gen_e_acsl_base_addr_31 = __e_acsl_base_addr((void *)(p + 1));
     __gen_e_acsl_base_addr_32 = __e_acsl_base_addr((void *)(pd + 5));
     __e_acsl_assert(__gen_e_acsl_base_addr_31 == __gen_e_acsl_base_addr_32,
-                    (char *)"Assertion",(char *)"main",
-                    (char *)"\\base_addr(p + 1) == \\base_addr(pd + 5)",47);
+                    "Assertion","main",
+                    "\\base_addr(p + 1) == \\base_addr(pd + 5)",
+                    "tests/memory/base_addr.c",47);
   }
   /*@ assert \base_addr(p + 1) ≡ \base_addr(pd + 5); */ ;
   {
@@ -218,8 +229,9 @@ int main(void)
     __gen_e_acsl_base_addr_33 = __e_acsl_base_addr((void *)(p + 11));
     __gen_e_acsl_base_addr_34 = __e_acsl_base_addr((void *)(pd + 1));
     __e_acsl_assert(__gen_e_acsl_base_addr_33 == __gen_e_acsl_base_addr_34,
-                    (char *)"Assertion",(char *)"main",
-                    (char *)"\\base_addr(p + 11) == \\base_addr(pd + 1)",48);
+                    "Assertion","main",
+                    "\\base_addr(p + 11) == \\base_addr(pd + 1)",
+                    "tests/memory/base_addr.c",48);
   }
   /*@ assert \base_addr(p + 11) ≡ \base_addr(pd + 1); */ ;
   __e_acsl_full_init((void *)(& p));
@@ -230,8 +242,9 @@ int main(void)
     __gen_e_acsl_base_addr_35 = __e_acsl_base_addr((void *)(p + 5));
     __gen_e_acsl_base_addr_36 = __e_acsl_base_addr((void *)pd);
     __e_acsl_assert(__gen_e_acsl_base_addr_35 == __gen_e_acsl_base_addr_36,
-                    (char *)"Assertion",(char *)"main",
-                    (char *)"\\base_addr(p + 5) == \\base_addr(pd)",50);
+                    "Assertion","main",
+                    "\\base_addr(p + 5) == \\base_addr(pd)",
+                    "tests/memory/base_addr.c",50);
   }
   /*@ assert \base_addr(p + 5) ≡ \base_addr(pd); */ ;
   {
@@ -240,8 +253,9 @@ int main(void)
     __gen_e_acsl_base_addr_37 = __e_acsl_base_addr((void *)(p - 5));
     __gen_e_acsl_base_addr_38 = __e_acsl_base_addr((void *)pd);
     __e_acsl_assert(__gen_e_acsl_base_addr_37 == __gen_e_acsl_base_addr_38,
-                    (char *)"Assertion",(char *)"main",
-                    (char *)"\\base_addr(p - 5) == \\base_addr(pd)",51);
+                    "Assertion","main",
+                    "\\base_addr(p - 5) == \\base_addr(pd)",
+                    "tests/memory/base_addr.c",51);
   }
   /*@ assert \base_addr(p - 5) ≡ \base_addr(pd); */ ;
   long *q = malloc((unsigned long)30 * sizeof(long));
@@ -256,8 +270,8 @@ int main(void)
     __gen_e_acsl_base_addr_39 = __e_acsl_base_addr((void *)q);
     __gen_e_acsl_base_addr_40 = __e_acsl_base_addr((void *)qd);
     __e_acsl_assert(__gen_e_acsl_base_addr_39 == __gen_e_acsl_base_addr_40,
-                    (char *)"Assertion",(char *)"main",
-                    (char *)"\\base_addr(q) == \\base_addr(qd)",57);
+                    "Assertion","main","\\base_addr(q) == \\base_addr(qd)",
+                    "tests/memory/base_addr.c",57);
   }
   /*@ assert \base_addr(q) ≡ \base_addr(qd); */ ;
   __e_acsl_full_init((void *)(& q));
@@ -268,8 +282,8 @@ int main(void)
     __gen_e_acsl_base_addr_41 = __e_acsl_base_addr((void *)q);
     __gen_e_acsl_base_addr_42 = __e_acsl_base_addr((void *)qd);
     __e_acsl_assert(__gen_e_acsl_base_addr_41 == __gen_e_acsl_base_addr_42,
-                    (char *)"Assertion",(char *)"main",
-                    (char *)"\\base_addr(q) == \\base_addr(qd)",59);
+                    "Assertion","main","\\base_addr(q) == \\base_addr(qd)",
+                    "tests/memory/base_addr.c",59);
   }
   /*@ assert \base_addr(q) ≡ \base_addr(qd); */ ;
   __e_acsl_full_init((void *)(& q));
@@ -280,8 +294,8 @@ int main(void)
     __gen_e_acsl_base_addr_43 = __e_acsl_base_addr((void *)q);
     __gen_e_acsl_base_addr_44 = __e_acsl_base_addr((void *)qd);
     __e_acsl_assert(__gen_e_acsl_base_addr_43 == __gen_e_acsl_base_addr_44,
-                    (char *)"Assertion",(char *)"main",
-                    (char *)"\\base_addr(q) == \\base_addr(qd)",61);
+                    "Assertion","main","\\base_addr(q) == \\base_addr(qd)",
+                    "tests/memory/base_addr.c",61);
   }
   /*@ assert \base_addr(q) ≡ \base_addr(qd); */ ;
   __e_acsl_full_init((void *)(& q));
@@ -292,8 +306,8 @@ int main(void)
     __gen_e_acsl_base_addr_45 = __e_acsl_base_addr((void *)q);
     __gen_e_acsl_base_addr_46 = __e_acsl_base_addr((void *)qd);
     __e_acsl_assert(__gen_e_acsl_base_addr_45 == __gen_e_acsl_base_addr_46,
-                    (char *)"Assertion",(char *)"main",
-                    (char *)"\\base_addr(q) == \\base_addr(qd)",63);
+                    "Assertion","main","\\base_addr(q) == \\base_addr(qd)",
+                    "tests/memory/base_addr.c",63);
   }
   /*@ assert \base_addr(q) ≡ \base_addr(qd); */ ;
   __retres = 0;
diff --git a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_block_length.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_block_length.c
index 43fe61a32446f9cb36709c7acd1633b782879699..4f0f4366d63a92caa4c16a1376aef65e6e0c0fdd 100644
--- a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_block_length.c
+++ b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_block_length.c
@@ -32,40 +32,42 @@ int main(void)
   {
     unsigned long __gen_e_acsl_block_length;
     __gen_e_acsl_block_length = __e_acsl_block_length((void *)(& ZERO));
-    __e_acsl_assert(__gen_e_acsl_block_length == 0UL,(char *)"Assertion",
-                    (char *)"main",(char *)"\\block_length(&ZERO) == 0",15);
+    __e_acsl_assert(__gen_e_acsl_block_length == 0UL,"Assertion","main",
+                    "\\block_length(&ZERO) == 0",
+                    "tests/memory/block_length.c",15);
   }
   /*@ assert \block_length(&ZERO) ≡ 0; */ ;
   {
     unsigned long __gen_e_acsl_block_length_2;
     __gen_e_acsl_block_length_2 = __e_acsl_block_length((void *)(& zero));
-    __e_acsl_assert(__gen_e_acsl_block_length_2 == 0UL,(char *)"Assertion",
-                    (char *)"main",(char *)"\\block_length(&zero) == 0",16);
+    __e_acsl_assert(__gen_e_acsl_block_length_2 == 0UL,"Assertion","main",
+                    "\\block_length(&zero) == 0",
+                    "tests/memory/block_length.c",16);
   }
   /*@ assert \block_length(&zero) ≡ 0; */ ;
   PA = (int *)(& A);
   {
     unsigned long __gen_e_acsl_block_length_3;
     __gen_e_acsl_block_length_3 = __e_acsl_block_length((void *)(A));
-    __e_acsl_assert(__gen_e_acsl_block_length_3 == 16UL,(char *)"Assertion",
-                    (char *)"main",
-                    (char *)"\\block_length((int *)A) == sizeof(A)",20);
+    __e_acsl_assert(__gen_e_acsl_block_length_3 == 16UL,"Assertion","main",
+                    "\\block_length((int *)A) == sizeof(A)",
+                    "tests/memory/block_length.c",20);
   }
   /*@ assert \block_length((int *)A) ≡ sizeof(A); */ ;
   {
     unsigned long __gen_e_acsl_block_length_4;
     __gen_e_acsl_block_length_4 = __e_acsl_block_length((void *)(& A[3]));
-    __e_acsl_assert(__gen_e_acsl_block_length_4 == 16UL,(char *)"Assertion",
-                    (char *)"main",
-                    (char *)"\\block_length(&A[3]) == sizeof(A)",21);
+    __e_acsl_assert(__gen_e_acsl_block_length_4 == 16UL,"Assertion","main",
+                    "\\block_length(&A[3]) == sizeof(A)",
+                    "tests/memory/block_length.c",21);
   }
   /*@ assert \block_length(&A[3]) ≡ sizeof(A); */ ;
   {
     unsigned long __gen_e_acsl_block_length_5;
     __gen_e_acsl_block_length_5 = __e_acsl_block_length((void *)PA);
-    __e_acsl_assert(__gen_e_acsl_block_length_5 == 16UL,(char *)"Assertion",
-                    (char *)"main",(char *)"\\block_length(PA) == sizeof(A)",
-                    22);
+    __e_acsl_assert(__gen_e_acsl_block_length_5 == 16UL,"Assertion","main",
+                    "\\block_length(PA) == sizeof(A)",
+                    "tests/memory/block_length.c",22);
   }
   /*@ assert \block_length(PA) ≡ sizeof(A); */ ;
   PA ++;
@@ -75,9 +77,9 @@ int main(void)
     __gen_e_acsl_block_length_6 = __e_acsl_block_length((void *)(PA + 1));
     __gen_e_acsl_block_length_7 = __e_acsl_block_length((void *)(& A[1]));
     __e_acsl_assert(__gen_e_acsl_block_length_6 == __gen_e_acsl_block_length_7,
-                    (char *)"Assertion",(char *)"main",
-                    (char *)"\\block_length(PA + 1) == \\block_length(&A[1])",
-                    24);
+                    "Assertion","main",
+                    "\\block_length(PA + 1) == \\block_length(&A[1])",
+                    "tests/memory/block_length.c",24);
   }
   /*@ assert \block_length(PA + 1) ≡ \block_length(&A[1]); */ ;
   int a[4] = {1, 2, 3, 4};
@@ -89,25 +91,25 @@ int main(void)
   {
     unsigned long __gen_e_acsl_block_length_8;
     __gen_e_acsl_block_length_8 = __e_acsl_block_length((void *)(a));
-    __e_acsl_assert(__gen_e_acsl_block_length_8 == 16UL,(char *)"Assertion",
-                    (char *)"main",
-                    (char *)"\\block_length((int *)a) == sizeof(a)",29);
+    __e_acsl_assert(__gen_e_acsl_block_length_8 == 16UL,"Assertion","main",
+                    "\\block_length((int *)a) == sizeof(a)",
+                    "tests/memory/block_length.c",29);
   }
   /*@ assert \block_length((int *)a) ≡ sizeof(a); */ ;
   {
     unsigned long __gen_e_acsl_block_length_9;
     __gen_e_acsl_block_length_9 = __e_acsl_block_length((void *)(& a[3]));
-    __e_acsl_assert(__gen_e_acsl_block_length_9 == 16UL,(char *)"Assertion",
-                    (char *)"main",
-                    (char *)"\\block_length(&a[3]) == sizeof(a)",30);
+    __e_acsl_assert(__gen_e_acsl_block_length_9 == 16UL,"Assertion","main",
+                    "\\block_length(&a[3]) == sizeof(a)",
+                    "tests/memory/block_length.c",30);
   }
   /*@ assert \block_length(&a[3]) ≡ sizeof(a); */ ;
   {
     unsigned long __gen_e_acsl_block_length_10;
     __gen_e_acsl_block_length_10 = __e_acsl_block_length((void *)pa);
-    __e_acsl_assert(__gen_e_acsl_block_length_10 == 16UL,(char *)"Assertion",
-                    (char *)"main",(char *)"\\block_length(pa) == sizeof(a)",
-                    31);
+    __e_acsl_assert(__gen_e_acsl_block_length_10 == 16UL,"Assertion","main",
+                    "\\block_length(pa) == sizeof(a)",
+                    "tests/memory/block_length.c",31);
   }
   /*@ assert \block_length(pa) ≡ sizeof(a); */ ;
   __e_acsl_full_init((void *)(& pa));
@@ -118,9 +120,9 @@ int main(void)
     __gen_e_acsl_block_length_11 = __e_acsl_block_length((void *)(pa + 1));
     __gen_e_acsl_block_length_12 = __e_acsl_block_length((void *)(& a[1]));
     __e_acsl_assert(__gen_e_acsl_block_length_11 == __gen_e_acsl_block_length_12,
-                    (char *)"Assertion",(char *)"main",
-                    (char *)"\\block_length(pa + 1) == \\block_length(&a[1])",
-                    33);
+                    "Assertion","main",
+                    "\\block_length(pa + 1) == \\block_length(&a[1])",
+                    "tests/memory/block_length.c",33);
   }
   /*@ assert \block_length(pa + 1) ≡ \block_length(&a[1]); */ ;
   long l = (long)4;
@@ -132,25 +134,25 @@ int main(void)
   {
     unsigned long __gen_e_acsl_block_length_13;
     __gen_e_acsl_block_length_13 = __e_acsl_block_length((void *)(& l));
-    __e_acsl_assert(__gen_e_acsl_block_length_13 == 8UL,(char *)"Assertion",
-                    (char *)"main",
-                    (char *)"\\block_length(&l) == sizeof(long)",39);
+    __e_acsl_assert(__gen_e_acsl_block_length_13 == 8UL,"Assertion","main",
+                    "\\block_length(&l) == sizeof(long)",
+                    "tests/memory/block_length.c",39);
   }
   /*@ assert \block_length(&l) ≡ sizeof(long); */ ;
   {
     unsigned long __gen_e_acsl_block_length_14;
     __gen_e_acsl_block_length_14 = __e_acsl_block_length((void *)pl);
-    __e_acsl_assert(__gen_e_acsl_block_length_14 == 8UL,(char *)"Assertion",
-                    (char *)"main",
-                    (char *)"\\block_length(pl) == sizeof(long)",40);
+    __e_acsl_assert(__gen_e_acsl_block_length_14 == 8UL,"Assertion","main",
+                    "\\block_length(pl) == sizeof(long)",
+                    "tests/memory/block_length.c",40);
   }
   /*@ assert \block_length(pl) ≡ sizeof(long); */ ;
   {
     unsigned long __gen_e_acsl_block_length_15;
     __gen_e_acsl_block_length_15 = __e_acsl_block_length((void *)(pl + 7));
-    __e_acsl_assert(__gen_e_acsl_block_length_15 == 8UL,(char *)"Assertion",
-                    (char *)"main",
-                    (char *)"\\block_length(pl + 7) == sizeof(long)",41);
+    __e_acsl_assert(__gen_e_acsl_block_length_15 == 8UL,"Assertion","main",
+                    "\\block_length(pl + 7) == sizeof(long)",
+                    "tests/memory/block_length.c",41);
   }
   /*@ assert \block_length(pl + 7) ≡ sizeof(long); */ ;
   int *pi = (int *)(& l);
@@ -162,8 +164,9 @@ int main(void)
     __gen_e_acsl_block_length_16 = __e_acsl_block_length((void *)pi);
     __gen_e_acsl_block_length_17 = __e_acsl_block_length((void *)(& l));
     __e_acsl_assert(__gen_e_acsl_block_length_16 == __gen_e_acsl_block_length_17,
-                    (char *)"Assertion",(char *)"main",
-                    (char *)"\\block_length(pi) == \\block_length(&l)",43);
+                    "Assertion","main",
+                    "\\block_length(pi) == \\block_length(&l)",
+                    "tests/memory/block_length.c",43);
   }
   /*@ assert \block_length(pi) ≡ \block_length(&l); */ ;
   __e_acsl_full_init((void *)(& pi));
@@ -174,8 +177,9 @@ int main(void)
     __gen_e_acsl_block_length_18 = __e_acsl_block_length((void *)pi);
     __gen_e_acsl_block_length_19 = __e_acsl_block_length((void *)(& l));
     __e_acsl_assert(__gen_e_acsl_block_length_18 == __gen_e_acsl_block_length_19,
-                    (char *)"Assertion",(char *)"main",
-                    (char *)"\\block_length(pi) == \\block_length(&l)",45);
+                    "Assertion","main",
+                    "\\block_length(pi) == \\block_length(&l)",
+                    "tests/memory/block_length.c",45);
   }
   /*@ assert \block_length(pi) ≡ \block_length(&l); */ ;
   size_t size = (unsigned long)12;
@@ -185,16 +189,17 @@ int main(void)
   {
     unsigned long __gen_e_acsl_block_length_20;
     __gen_e_acsl_block_length_20 = __e_acsl_block_length((void *)p);
-    __e_acsl_assert(__gen_e_acsl_block_length_20 == size,(char *)"Assertion",
-                    (char *)"main",(char *)"\\block_length(p) == size",50);
+    __e_acsl_assert(__gen_e_acsl_block_length_20 == size,"Assertion","main",
+                    "\\block_length(p) == size",
+                    "tests/memory/block_length.c",50);
   }
   /*@ assert \block_length(p) ≡ size; */ ;
   {
     unsigned long __gen_e_acsl_block_length_21;
     __gen_e_acsl_block_length_21 = __e_acsl_block_length((void *)(p + 11));
-    __e_acsl_assert(__gen_e_acsl_block_length_21 == size,(char *)"Assertion",
-                    (char *)"main",(char *)"\\block_length(p + 11) == size",
-                    51);
+    __e_acsl_assert(__gen_e_acsl_block_length_21 == size,"Assertion","main",
+                    "\\block_length(p + 11) == size",
+                    "tests/memory/block_length.c",51);
   }
   /*@ assert \block_length(p + 11) ≡ size; */ ;
   __e_acsl_full_init((void *)(& p));
@@ -205,9 +210,9 @@ int main(void)
     __gen_e_acsl_block_length_22 = __e_acsl_block_length((void *)(p + 5));
     __gen_e_acsl_block_length_23 = __e_acsl_block_length((void *)(p - 5));
     __e_acsl_assert(__gen_e_acsl_block_length_22 == __gen_e_acsl_block_length_23,
-                    (char *)"Assertion",(char *)"main",
-                    (char *)"\\block_length(p + 5) == \\block_length(p - 5)",
-                    53);
+                    "Assertion","main",
+                    "\\block_length(p + 5) == \\block_length(p - 5)",
+                    "tests/memory/block_length.c",53);
   }
   /*@ assert \block_length(p + 5) ≡ \block_length(p - 5); */ ;
   size = (unsigned long)30 * sizeof(long);
@@ -217,8 +222,9 @@ int main(void)
   {
     unsigned long __gen_e_acsl_block_length_24;
     __gen_e_acsl_block_length_24 = __e_acsl_block_length((void *)q);
-    __e_acsl_assert(__gen_e_acsl_block_length_24 == size,(char *)"Assertion",
-                    (char *)"main",(char *)"\\block_length(q) == size",59);
+    __e_acsl_assert(__gen_e_acsl_block_length_24 == size,"Assertion","main",
+                    "\\block_length(q) == size",
+                    "tests/memory/block_length.c",59);
   }
   /*@ assert \block_length(q) ≡ size; */ ;
   __e_acsl_full_init((void *)(& q));
@@ -226,8 +232,9 @@ int main(void)
   {
     unsigned long __gen_e_acsl_block_length_25;
     __gen_e_acsl_block_length_25 = __e_acsl_block_length((void *)q);
-    __e_acsl_assert(__gen_e_acsl_block_length_25 == size,(char *)"Assertion",
-                    (char *)"main",(char *)"\\block_length(q) == size",61);
+    __e_acsl_assert(__gen_e_acsl_block_length_25 == size,"Assertion","main",
+                    "\\block_length(q) == size",
+                    "tests/memory/block_length.c",61);
   }
   /*@ assert \block_length(q) ≡ size; */ ;
   __retres = 0;
diff --git a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_block_valid.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_block_valid.c
index c400102e72ce047a0bbff4e3e98cf1c15c129309..a839a6888e5457bdd352c8bbff5536f6cc609bd6 100644
--- a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_block_valid.c
+++ b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_block_valid.c
@@ -43,16 +43,16 @@ int main(int argc, char **argv)
       __gen_e_acsl_and = __gen_e_acsl_valid;
     }
     else __gen_e_acsl_and = 0;
-    __e_acsl_assert(__gen_e_acsl_and,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(p)",24);
+    __e_acsl_assert(__gen_e_acsl_and,"Assertion","main","\\valid(p)",
+                    "tests/memory/block_valid.c",24);
   }
   /*@ assert \valid(p); */ ;
   {
     int __gen_e_acsl_valid_2;
     __gen_e_acsl_valid_2 = __e_acsl_valid((void *)(p + 1),sizeof(int),
                                           (void *)p,(void *)(& p));
-    __e_acsl_assert(! __gen_e_acsl_valid_2,(char *)"Assertion",
-                    (char *)"main",(char *)"!\\valid(p + 1)",26);
+    __e_acsl_assert(! __gen_e_acsl_valid_2,"Assertion","main",
+                    "!\\valid(p + 1)","tests/memory/block_valid.c",26);
   }
   /*@ assert ¬\valid(p + 1); */ ;
   __e_acsl_full_init((void *)(& p));
@@ -69,16 +69,16 @@ int main(int argc, char **argv)
       __gen_e_acsl_and_2 = __gen_e_acsl_valid_3;
     }
     else __gen_e_acsl_and_2 = 0;
-    __e_acsl_assert(__gen_e_acsl_and_2,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(p)",29);
+    __e_acsl_assert(__gen_e_acsl_and_2,"Assertion","main","\\valid(p)",
+                    "tests/memory/block_valid.c",29);
   }
   /*@ assert \valid(p); */ ;
   {
     int __gen_e_acsl_valid_4;
     __gen_e_acsl_valid_4 = __e_acsl_valid((void *)(p + 1),sizeof(int),
                                           (void *)p,(void *)(& p));
-    __e_acsl_assert(! __gen_e_acsl_valid_4,(char *)"Assertion",
-                    (char *)"main",(char *)"!\\valid(p + 1)",31);
+    __e_acsl_assert(! __gen_e_acsl_valid_4,"Assertion","main",
+                    "!\\valid(p + 1)","tests/memory/block_valid.c",31);
   }
   /*@ assert ¬\valid(p + 1); */ ;
   char *pmin = malloc(sizeof(int));
@@ -114,8 +114,8 @@ int main(int argc, char **argv)
       __gen_e_acsl_and_3 = __gen_e_acsl_valid_5;
     }
     else __gen_e_acsl_and_3 = 0;
-    __e_acsl_assert(__gen_e_acsl_and_3,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(pmin)",49);
+    __e_acsl_assert(__gen_e_acsl_and_3,"Assertion","main","\\valid(pmin)",
+                    "tests/memory/block_valid.c",49);
   }
   /*@ assert \valid(pmin); */ ;
   {
@@ -130,24 +130,24 @@ int main(int argc, char **argv)
       __gen_e_acsl_and_4 = __gen_e_acsl_valid_6;
     }
     else __gen_e_acsl_and_4 = 0;
-    __e_acsl_assert(__gen_e_acsl_and_4,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(pmax)",50);
+    __e_acsl_assert(__gen_e_acsl_and_4,"Assertion","main","\\valid(pmax)",
+                    "tests/memory/block_valid.c",50);
   }
   /*@ assert \valid(pmax); */ ;
   {
     int __gen_e_acsl_valid_7;
     __gen_e_acsl_valid_7 = __e_acsl_valid((void *)(pmin + diff),sizeof(char),
                                           (void *)pmin,(void *)(& pmin));
-    __e_acsl_assert(! __gen_e_acsl_valid_7,(char *)"Assertion",
-                    (char *)"main",(char *)"!\\valid(pmin + diff)",52);
+    __e_acsl_assert(! __gen_e_acsl_valid_7,"Assertion","main",
+                    "!\\valid(pmin + diff)","tests/memory/block_valid.c",52);
   }
   /*@ assert ¬\valid(pmin + diff); */ ;
   {
     int __gen_e_acsl_valid_8;
     __gen_e_acsl_valid_8 = __e_acsl_valid((void *)(pmax - diff),sizeof(char),
                                           (void *)pmax,(void *)(& pmax));
-    __e_acsl_assert(! __gen_e_acsl_valid_8,(char *)"Assertion",
-                    (char *)"main",(char *)"!\\valid(pmax - diff)",54);
+    __e_acsl_assert(! __gen_e_acsl_valid_8,"Assertion","main",
+                    "!\\valid(pmax - diff)","tests/memory/block_valid.c",54);
   }
   /*@ assert ¬\valid(pmax - diff); */ ;
   __retres = 0;
diff --git a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_bypassed_var.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_bypassed_var.c
index 6cd8eac24b56c7d1a56aee197267c9dc11a1d6be..719d8c6de18244f8507738bb25d68335882a474a 100644
--- a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_bypassed_var.c
+++ b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_bypassed_var.c
@@ -16,8 +16,8 @@ int main(int argc, char const **argv)
       int __gen_e_acsl_valid;
       __gen_e_acsl_valid = __e_acsl_valid((void *)(& p),sizeof(int *),
                                           (void *)(& p),(void *)0);
-      __e_acsl_assert(__gen_e_acsl_valid,(char *)"Assertion",(char *)"main",
-                      (char *)"\\valid(&p)",13);
+      __e_acsl_assert(__gen_e_acsl_valid,"Assertion","main","\\valid(&p)",
+                      "tests/memory/bypassed_var.c",13);
     }
     /*@ assert \valid(&p); */ ;
     __e_acsl_delete_block((void *)(& p));
diff --git a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_call.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_call.c
index ac3c12211ae0a06975ebc353c91922da10dcc108..2cdd52844f8b3dd1d6ea9f77b90be6a3ebeeb7cf 100644
--- a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_call.c
+++ b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_call.c
@@ -55,8 +55,8 @@ int *__gen_e_acsl_f(int *x, int *y)
     __gen_e_acsl_valid = __e_acsl_valid((void *)__retres,sizeof(int),
                                         (void *)__retres,
                                         (void *)(& __retres));
-    __e_acsl_assert(__gen_e_acsl_valid,(char *)"Postcondition",(char *)"f",
-                    (char *)"\\valid(\\result)",7);
+    __e_acsl_assert(__gen_e_acsl_valid,"Postcondition","f",
+                    "\\valid(\\result)","tests/memory/call.c",7);
     __e_acsl_delete_block((void *)(& y));
     __e_acsl_delete_block((void *)(& x));
     __e_acsl_delete_block((void *)(& __retres));
diff --git a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_compound_initializers.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_compound_initializers.c
index 71e2e252ecb91b98ab40e0827b16a3c0d31404e0..e10793f41018677657e111efbaf3f8b81307a83e 100644
--- a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_compound_initializers.c
+++ b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_compound_initializers.c
@@ -74,8 +74,9 @@ int main(int argc, char **argv)
     int __gen_e_acsl_valid;
     __gen_e_acsl_valid = __e_acsl_valid((void *)(_A),sizeof(char *),
                                         (void *)(_A),(void *)(_A));
-    __e_acsl_assert(__gen_e_acsl_valid,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid((char **)_A)",33);
+    __e_acsl_assert(__gen_e_acsl_valid,"Assertion","main",
+                    "\\valid((char **)_A)",
+                    "tests/memory/compound_initializers.c",33);
   }
   /*@ assert \valid((char **)_A); */ ;
   {
@@ -92,8 +93,9 @@ int main(int argc, char **argv)
       __gen_e_acsl_and = __gen_e_acsl_valid_read;
     }
     else __gen_e_acsl_and = 0;
-    __e_acsl_assert(__gen_e_acsl_and,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid_read(_A[0])",34);
+    __e_acsl_assert(__gen_e_acsl_and,"Assertion","main",
+                    "\\valid_read(_A[0])",
+                    "tests/memory/compound_initializers.c",34);
   }
   /*@ assert \valid_read(_A[0]); */ ;
   {
@@ -110,8 +112,9 @@ int main(int argc, char **argv)
       __gen_e_acsl_and_2 = __gen_e_acsl_valid_read_2;
     }
     else __gen_e_acsl_and_2 = 0;
-    __e_acsl_assert(__gen_e_acsl_and_2,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid_read(_A[1])",35);
+    __e_acsl_assert(__gen_e_acsl_and_2,"Assertion","main",
+                    "\\valid_read(_A[1])",
+                    "tests/memory/compound_initializers.c",35);
   }
   /*@ assert \valid_read(_A[1]); */ ;
   {
@@ -119,56 +122,58 @@ int main(int argc, char **argv)
     __gen_e_acsl_valid_read_3 = __e_acsl_valid_read((void *)_B,sizeof(char),
                                                     (void *)_B,
                                                     (void *)(& _B));
-    __e_acsl_assert(__gen_e_acsl_valid_read_3,(char *)"Assertion",
-                    (char *)"main",(char *)"\\valid_read(_B)",36);
+    __e_acsl_assert(__gen_e_acsl_valid_read_3,"Assertion","main",
+                    "\\valid_read(_B)",
+                    "tests/memory/compound_initializers.c",36);
   }
   /*@ assert \valid_read(_B); */ ;
   {
     int __gen_e_acsl_valid_2;
     __gen_e_acsl_valid_2 = __e_acsl_valid((void *)(& _C),sizeof(char *),
                                           (void *)(& _C),(void *)0);
-    __e_acsl_assert(__gen_e_acsl_valid_2,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(&_C)",37);
+    __e_acsl_assert(__gen_e_acsl_valid_2,"Assertion","main","\\valid(&_C)",
+                    "tests/memory/compound_initializers.c",37);
   }
   /*@ assert \valid(&_C); */ ;
   {
     int __gen_e_acsl_valid_3;
     __gen_e_acsl_valid_3 = __e_acsl_valid((void *)(_D),sizeof(int),
                                           (void *)(_D),(void *)(_D));
-    __e_acsl_assert(__gen_e_acsl_valid_3,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid((int *)_D)",38);
+    __e_acsl_assert(__gen_e_acsl_valid_3,"Assertion","main",
+                    "\\valid((int *)_D)",
+                    "tests/memory/compound_initializers.c",38);
   }
   /*@ assert \valid((int *)_D); */ ;
   {
     int __gen_e_acsl_valid_4;
     __gen_e_acsl_valid_4 = __e_acsl_valid((void *)(& _E),sizeof(int),
                                           (void *)(& _E),(void *)0);
-    __e_acsl_assert(__gen_e_acsl_valid_4,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(&_E)",39);
+    __e_acsl_assert(__gen_e_acsl_valid_4,"Assertion","main","\\valid(&_E)",
+                    "tests/memory/compound_initializers.c",39);
   }
   /*@ assert \valid(&_E); */ ;
   {
     int __gen_e_acsl_valid_5;
     __gen_e_acsl_valid_5 = __e_acsl_valid((void *)(& _F),sizeof(int),
                                           (void *)(& _F),(void *)0);
-    __e_acsl_assert(__gen_e_acsl_valid_5,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(&_F)",40);
+    __e_acsl_assert(__gen_e_acsl_valid_5,"Assertion","main","\\valid(&_F)",
+                    "tests/memory/compound_initializers.c",40);
   }
   /*@ assert \valid(&_F); */ ;
-  __e_acsl_assert(_E == 44,(char *)"Assertion",(char *)"main",
-                  (char *)"_E == 44",41);
+  __e_acsl_assert(_E == 44,"Assertion","main","_E == 44",
+                  "tests/memory/compound_initializers.c",41);
   /*@ assert _E ≡ 44; */ ;
   {
     int __gen_e_acsl_valid_6;
     __gen_e_acsl_valid_6 = __e_acsl_valid((void *)(& _G),
                                           sizeof(struct ST [2]),
                                           (void *)(& _G),(void *)0);
-    __e_acsl_assert(__gen_e_acsl_valid_6,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(&_G)",42);
+    __e_acsl_assert(__gen_e_acsl_valid_6,"Assertion","main","\\valid(&_G)",
+                    "tests/memory/compound_initializers.c",42);
   }
   /*@ assert \valid(&_G); */ ;
-  __e_acsl_assert(_G[0].num == 99,(char *)"Assertion",(char *)"main",
-                  (char *)"_G[0].num == 99",43);
+  __e_acsl_assert(_G[0].num == 99,"Assertion","main","_G[0].num == 99",
+                  "tests/memory/compound_initializers.c",43);
   /*@ assert _G[0].num ≡ 99; */ ;
   __retres = 0;
   __e_acsl_delete_block((void *)(_G));
diff --git a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_ctype_macros.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_ctype_macros.c
index 705a7c5f5de369e694d93cd1ed7539d2cb58d74a..416aa6f3ed6c6327c6fb3f1e66770a7b0f9b2adc 100644
--- a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_ctype_macros.c
+++ b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_ctype_macros.c
@@ -28,8 +28,8 @@ int main(int argc, char const **argv)
       __gen_e_acsl_and = __gen_e_acsl_valid;
     }
     else __gen_e_acsl_and = 0;
-    __e_acsl_assert(__gen_e_acsl_and,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(d)",39);
+    __e_acsl_assert(__gen_e_acsl_and,"Assertion","main","\\valid(d)",
+                    "tests/memory/ctype_macros.c",39);
   }
   /*@ assert \valid(d); */ ;
   __retres = 0;
diff --git a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_early_exit.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_early_exit.c
index 19debba1ccbc0f3b4939f3de3e4a646eb47fff12..aaa3abefdbd4f3f2b6c3f3a0c98403cd4f8aa347 100644
--- a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_early_exit.c
+++ b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_early_exit.c
@@ -24,8 +24,8 @@ int goto_bts(void)
         __gen_e_acsl_and = __gen_e_acsl_valid;
       }
       else __gen_e_acsl_and = 0;
-      __e_acsl_assert(__gen_e_acsl_and,(char *)"Assertion",
-                      (char *)"goto_bts",(char *)"\\valid(p)",13);
+      __e_acsl_assert(__gen_e_acsl_and,"Assertion","goto_bts","\\valid(p)",
+                      "tests/memory/early_exit.c",13);
     }
     /*@ assert \valid(p); */ ;
     __e_acsl_delete_block((void *)(& a));
@@ -47,8 +47,8 @@ int goto_bts(void)
       __gen_e_acsl_and_2 = __gen_e_acsl_valid_2;
     }
     else __gen_e_acsl_and_2 = 0;
-    __e_acsl_assert(! __gen_e_acsl_and_2,(char *)"Assertion",
-                    (char *)"goto_bts",(char *)"!\\valid(p)",18);
+    __e_acsl_assert(! __gen_e_acsl_and_2,"Assertion","goto_bts",
+                    "!\\valid(p)","tests/memory/early_exit.c",18);
   }
   __retres = 0;
   __e_acsl_delete_block((void *)(& p));
@@ -110,8 +110,8 @@ int goto_valid(void)
         __gen_e_acsl_and = __gen_e_acsl_valid;
       }
       else __gen_e_acsl_and = 0;
-      __e_acsl_assert(__gen_e_acsl_and,(char *)"Assertion",
-                      (char *)"goto_valid",(char *)"\\valid(p)",46);
+      __e_acsl_assert(__gen_e_acsl_and,"Assertion","goto_valid","\\valid(p)",
+                      "tests/memory/early_exit.c",46);
     }
     {
       int __gen_e_acsl_initialized_2;
@@ -125,8 +125,8 @@ int goto_valid(void)
         __gen_e_acsl_and_2 = __gen_e_acsl_valid_2;
       }
       else __gen_e_acsl_and_2 = 0;
-      __e_acsl_assert(! __gen_e_acsl_and_2,(char *)"Assertion",
-                      (char *)"goto_valid",(char *)"!\\valid(q)",47);
+      __e_acsl_assert(! __gen_e_acsl_and_2,"Assertion","goto_valid",
+                      "!\\valid(q)","tests/memory/early_exit.c",47);
     }
     /*@ assert ¬\valid(q); */ ;
     {
@@ -141,8 +141,8 @@ int goto_valid(void)
         __gen_e_acsl_and_3 = __gen_e_acsl_valid_3;
       }
       else __gen_e_acsl_and_3 = 0;
-      __e_acsl_assert(! __gen_e_acsl_and_3,(char *)"Assertion",
-                      (char *)"goto_valid",(char *)"!\\valid(r)",48);
+      __e_acsl_assert(! __gen_e_acsl_and_3,"Assertion","goto_valid",
+                      "!\\valid(r)","tests/memory/early_exit.c",48);
     }
     /*@ assert ¬\valid(r); */ ;
     __e_acsl_delete_block((void *)(& a1));
@@ -169,8 +169,8 @@ int goto_valid(void)
       __gen_e_acsl_and_4 = __gen_e_acsl_valid_4;
     }
     else __gen_e_acsl_and_4 = 0;
-    __e_acsl_assert(! __gen_e_acsl_and_4,(char *)"Assertion",
-                    (char *)"goto_valid",(char *)"!\\valid(p)",56);
+    __e_acsl_assert(! __gen_e_acsl_and_4,"Assertion","goto_valid",
+                    "!\\valid(p)","tests/memory/early_exit.c",56);
   }
   {
     int __gen_e_acsl_initialized_5;
@@ -184,8 +184,8 @@ int goto_valid(void)
       __gen_e_acsl_and_5 = __gen_e_acsl_valid_5;
     }
     else __gen_e_acsl_and_5 = 0;
-    __e_acsl_assert(! __gen_e_acsl_and_5,(char *)"Assertion",
-                    (char *)"goto_valid",(char *)"!\\valid(q)",57);
+    __e_acsl_assert(! __gen_e_acsl_and_5,"Assertion","goto_valid",
+                    "!\\valid(q)","tests/memory/early_exit.c",57);
   }
   /*@ assert ¬\valid(q); */ ;
   {
@@ -200,8 +200,8 @@ int goto_valid(void)
       __gen_e_acsl_and_6 = __gen_e_acsl_valid_6;
     }
     else __gen_e_acsl_and_6 = 0;
-    __e_acsl_assert(! __gen_e_acsl_and_6,(char *)"Assertion",
-                    (char *)"goto_valid",(char *)"!\\valid(r)",58);
+    __e_acsl_assert(! __gen_e_acsl_and_6,"Assertion","goto_valid",
+                    "!\\valid(r)","tests/memory/early_exit.c",58);
   }
   /*@ assert ¬\valid(r); */ ;
   __retres = 0;
@@ -251,8 +251,8 @@ int switch_valid(void)
             __gen_e_acsl_and = __gen_e_acsl_valid;
           }
           else __gen_e_acsl_and = 0;
-          __e_acsl_assert(__gen_e_acsl_and,(char *)"Assertion",
-                          (char *)"switch_valid",(char *)"\\valid(p)",76);
+          __e_acsl_assert(__gen_e_acsl_and,"Assertion","switch_valid",
+                          "\\valid(p)","tests/memory/early_exit.c",76);
         }
         /*@ assert \valid(p); */ ;
         {
@@ -267,8 +267,8 @@ int switch_valid(void)
             __gen_e_acsl_and_2 = __gen_e_acsl_valid_2;
           }
           else __gen_e_acsl_and_2 = 0;
-          __e_acsl_assert(__gen_e_acsl_and_2,(char *)"Assertion",
-                          (char *)"switch_valid",(char *)"\\valid(q)",77);
+          __e_acsl_assert(__gen_e_acsl_and_2,"Assertion","switch_valid",
+                          "\\valid(q)","tests/memory/early_exit.c",77);
         }
         /*@ assert \valid(q); */ ;
         {
@@ -283,8 +283,8 @@ int switch_valid(void)
             __gen_e_acsl_and_3 = __gen_e_acsl_valid_3;
           }
           else __gen_e_acsl_and_3 = 0;
-          __e_acsl_assert(__gen_e_acsl_and_3,(char *)"Assertion",
-                          (char *)"switch_valid",(char *)"\\valid(s)",78);
+          __e_acsl_assert(__gen_e_acsl_and_3,"Assertion","switch_valid",
+                          "\\valid(s)","tests/memory/early_exit.c",78);
         }
         /*@ assert \valid(s); */ ;
         __e_acsl_delete_block((void *)(& a1));
@@ -313,8 +313,8 @@ int switch_valid(void)
       __gen_e_acsl_and_4 = __gen_e_acsl_valid_4;
     }
     else __gen_e_acsl_and_4 = 0;
-    __e_acsl_assert(! __gen_e_acsl_and_4,(char *)"Assertion",
-                    (char *)"switch_valid",(char *)"!\\valid(q)",87);
+    __e_acsl_assert(! __gen_e_acsl_and_4,"Assertion","switch_valid",
+                    "!\\valid(q)","tests/memory/early_exit.c",87);
   }
   /*@ assert ¬\valid(q); */ ;
   {
@@ -329,8 +329,8 @@ int switch_valid(void)
       __gen_e_acsl_and_5 = __gen_e_acsl_valid_5;
     }
     else __gen_e_acsl_and_5 = 0;
-    __e_acsl_assert(! __gen_e_acsl_and_5,(char *)"Assertion",
-                    (char *)"switch_valid",(char *)"!\\valid(p)",88);
+    __e_acsl_assert(! __gen_e_acsl_and_5,"Assertion","switch_valid",
+                    "!\\valid(p)","tests/memory/early_exit.c",88);
   }
   /*@ assert ¬\valid(p); */ ;
   {
@@ -345,8 +345,8 @@ int switch_valid(void)
       __gen_e_acsl_and_6 = __gen_e_acsl_valid_6;
     }
     else __gen_e_acsl_and_6 = 0;
-    __e_acsl_assert(__gen_e_acsl_and_6,(char *)"Assertion",
-                    (char *)"switch_valid",(char *)"\\valid(s)",89);
+    __e_acsl_assert(__gen_e_acsl_and_6,"Assertion","switch_valid",
+                    "\\valid(s)","tests/memory/early_exit.c",89);
   }
   /*@ assert \valid(s); */ ;
   __retres = 0;
@@ -400,8 +400,8 @@ int while_valid(void)
               __gen_e_acsl_and = __gen_e_acsl_valid;
             }
             else __gen_e_acsl_and = 0;
-            __e_acsl_assert(__gen_e_acsl_and,(char *)"Assertion",
-                            (char *)"while_valid",(char *)"\\valid(p)",108);
+            __e_acsl_assert(__gen_e_acsl_and,"Assertion","while_valid",
+                            "\\valid(p)","tests/memory/early_exit.c",108);
           }
           /*@ assert \valid(p); */ ;
           {
@@ -416,8 +416,8 @@ int while_valid(void)
               __gen_e_acsl_and_2 = __gen_e_acsl_valid_2;
             }
             else __gen_e_acsl_and_2 = 0;
-            __e_acsl_assert(__gen_e_acsl_and_2,(char *)"Assertion",
-                            (char *)"while_valid",(char *)"\\valid(q)",109);
+            __e_acsl_assert(__gen_e_acsl_and_2,"Assertion","while_valid",
+                            "\\valid(q)","tests/memory/early_exit.c",109);
           }
           /*@ assert \valid(q); */ ;
           {
@@ -432,8 +432,8 @@ int while_valid(void)
               __gen_e_acsl_and_3 = __gen_e_acsl_valid_3;
             }
             else __gen_e_acsl_and_3 = 0;
-            __e_acsl_assert(__gen_e_acsl_and_3,(char *)"Assertion",
-                            (char *)"while_valid",(char *)"\\valid(r)",110);
+            __e_acsl_assert(__gen_e_acsl_and_3,"Assertion","while_valid",
+                            "\\valid(r)","tests/memory/early_exit.c",110);
           }
           /*@ assert \valid(r); */ ;
           if (! i) {
@@ -458,8 +458,8 @@ int while_valid(void)
         __gen_e_acsl_and_4 = __gen_e_acsl_valid_4;
       }
       else __gen_e_acsl_and_4 = 0;
-      __e_acsl_assert(! __gen_e_acsl_and_4,(char *)"Assertion",
-                      (char *)"while_valid",(char *)"!\\valid(p)",116);
+      __e_acsl_assert(! __gen_e_acsl_and_4,"Assertion","while_valid",
+                      "!\\valid(p)","tests/memory/early_exit.c",116);
     }
     /*@ assert ¬\valid(p); */ ;
     {
@@ -474,8 +474,8 @@ int while_valid(void)
         __gen_e_acsl_and_5 = __gen_e_acsl_valid_5;
       }
       else __gen_e_acsl_and_5 = 0;
-      __e_acsl_assert(! __gen_e_acsl_and_5,(char *)"Assertion",
-                      (char *)"while_valid",(char *)"!\\valid(q)",117);
+      __e_acsl_assert(! __gen_e_acsl_and_5,"Assertion","while_valid",
+                      "!\\valid(q)","tests/memory/early_exit.c",117);
     }
     /*@ assert ¬\valid(q); */ ;
     {
@@ -490,8 +490,8 @@ int while_valid(void)
         __gen_e_acsl_and_6 = __gen_e_acsl_valid_6;
       }
       else __gen_e_acsl_and_6 = 0;
-      __e_acsl_assert(__gen_e_acsl_and_6,(char *)"Assertion",
-                      (char *)"while_valid",(char *)"\\valid(r)",118);
+      __e_acsl_assert(__gen_e_acsl_and_6,"Assertion","while_valid",
+                      "\\valid(r)","tests/memory/early_exit.c",118);
     }
     /*@ assert \valid(r); */ ;
     __e_acsl_delete_block((void *)(& a0));
@@ -529,8 +529,8 @@ void continue_valid(void)
           __gen_e_acsl_and = __gen_e_acsl_valid;
         }
         else __gen_e_acsl_and = 0;
-        __e_acsl_assert(! __gen_e_acsl_and,(char *)"Assertion",
-                        (char *)"continue_valid",(char *)"!\\valid(p)",130);
+        __e_acsl_assert(! __gen_e_acsl_and,"Assertion","continue_valid",
+                        "!\\valid(p)","tests/memory/early_exit.c",130);
       }
       /*@ assert ¬\valid(p); */ ;
       {
@@ -545,8 +545,8 @@ void continue_valid(void)
           __gen_e_acsl_and_2 = __gen_e_acsl_valid_2;
         }
         else __gen_e_acsl_and_2 = 0;
-        __e_acsl_assert(! __gen_e_acsl_and_2,(char *)"Assertion",
-                        (char *)"continue_valid",(char *)"!\\valid(q)",131);
+        __e_acsl_assert(! __gen_e_acsl_and_2,"Assertion","continue_valid",
+                        "!\\valid(q)","tests/memory/early_exit.c",131);
       }
       /*@ assert ¬\valid(q); */ ;
       int a1 = 1;
@@ -566,8 +566,8 @@ void continue_valid(void)
           __gen_e_acsl_and_3 = __gen_e_acsl_valid_3;
         }
         else __gen_e_acsl_and_3 = 0;
-        __e_acsl_assert(__gen_e_acsl_and_3,(char *)"Assertion",
-                        (char *)"continue_valid",(char *)"\\valid(p)",135);
+        __e_acsl_assert(__gen_e_acsl_and_3,"Assertion","continue_valid",
+                        "\\valid(p)","tests/memory/early_exit.c",135);
       }
       /*@ assert \valid(p); */ ;
       {
@@ -582,8 +582,8 @@ void continue_valid(void)
           __gen_e_acsl_and_4 = __gen_e_acsl_valid_4;
         }
         else __gen_e_acsl_and_4 = 0;
-        __e_acsl_assert(! __gen_e_acsl_and_4,(char *)"Assertion",
-                        (char *)"continue_valid",(char *)"!\\valid(q)",136);
+        __e_acsl_assert(! __gen_e_acsl_and_4,"Assertion","continue_valid",
+                        "!\\valid(q)","tests/memory/early_exit.c",136);
       }
       /*@ assert ¬\valid(q); */ ;
       {
@@ -604,8 +604,8 @@ void continue_valid(void)
             __gen_e_acsl_and_5 = __gen_e_acsl_valid_5;
           }
           else __gen_e_acsl_and_5 = 0;
-          __e_acsl_assert(__gen_e_acsl_and_5,(char *)"Assertion",
-                          (char *)"continue_valid",(char *)"\\valid(p)",141);
+          __e_acsl_assert(__gen_e_acsl_and_5,"Assertion","continue_valid",
+                          "\\valid(p)","tests/memory/early_exit.c",141);
         }
         /*@ assert \valid(p); */ ;
         {
@@ -620,8 +620,8 @@ void continue_valid(void)
             __gen_e_acsl_and_6 = __gen_e_acsl_valid_6;
           }
           else __gen_e_acsl_and_6 = 0;
-          __e_acsl_assert(__gen_e_acsl_and_6,(char *)"Assertion",
-                          (char *)"continue_valid",(char *)"\\valid(q)",142);
+          __e_acsl_assert(__gen_e_acsl_and_6,"Assertion","continue_valid",
+                          "\\valid(q)","tests/memory/early_exit.c",142);
         }
         /*@ assert \valid(q); */ ;
         __e_acsl_delete_block((void *)(& a1));
@@ -648,8 +648,8 @@ void continue_valid(void)
       __gen_e_acsl_and_7 = __gen_e_acsl_valid_7;
     }
     else __gen_e_acsl_and_7 = 0;
-    __e_acsl_assert(! __gen_e_acsl_and_7,(char *)"Assertion",
-                    (char *)"continue_valid",(char *)"!\\valid(p)",150);
+    __e_acsl_assert(! __gen_e_acsl_and_7,"Assertion","continue_valid",
+                    "!\\valid(p)","tests/memory/early_exit.c",150);
   }
   /*@ assert ¬\valid(p); */ ;
   {
@@ -664,8 +664,8 @@ void continue_valid(void)
       __gen_e_acsl_and_8 = __gen_e_acsl_valid_8;
     }
     else __gen_e_acsl_and_8 = 0;
-    __e_acsl_assert(! __gen_e_acsl_and_8,(char *)"Assertion",
-                    (char *)"continue_valid",(char *)"!\\valid(q)",151);
+    __e_acsl_assert(! __gen_e_acsl_and_8,"Assertion","continue_valid",
+                    "!\\valid(q)","tests/memory/early_exit.c",151);
   }
   /*@ assert ¬\valid(q); */ ;
   __e_acsl_delete_block((void *)(& q));
diff --git a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_errno.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_errno.c
index 7289f21922972afe3342e1a3a1115db70c1fb725..f8a0d9b78f7f2b704c58c6b33afcdaaebc45ad89 100644
--- a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_errno.c
+++ b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_errno.c
@@ -33,8 +33,8 @@ int main(int argc, char const **argv)
       __gen_e_acsl_and = __gen_e_acsl_valid;
     }
     else __gen_e_acsl_and = 0;
-    __e_acsl_assert(__gen_e_acsl_and,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(p)",11);
+    __e_acsl_assert(__gen_e_acsl_and,"Assertion","main","\\valid(p)",
+                    "tests/memory/errno.c",11);
   }
   /*@ assert \valid(p); */ ;
   __retres = 0;
diff --git a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_freeable.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_freeable.c
index fddb9606712326ab2fa911acff7a0c1789c20b8a..57d0968b67750997726a2d69abdb2203f2206f79 100644
--- a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_freeable.c
+++ b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_freeable.c
@@ -24,15 +24,15 @@ int main(void)
     int __gen_e_acsl_freeable;
     /*@ assert Eva: initialization: \initialized(&p); */
     __gen_e_acsl_freeable = __e_acsl_freeable((void *)p);
-    __e_acsl_assert(! __gen_e_acsl_freeable,(char *)"Assertion",
-                    (char *)"main",(char *)"!\\freeable(p)",14);
+    __e_acsl_assert(! __gen_e_acsl_freeable,"Assertion","main",
+                    "!\\freeable(p)","tests/memory/freeable.c",14);
   }
   /*@ assert ¬\freeable(p); */ ;
   {
     int __gen_e_acsl_freeable_2;
     __gen_e_acsl_freeable_2 = __e_acsl_freeable((void *)0);
-    __e_acsl_assert(! __gen_e_acsl_freeable_2,(char *)"Assertion",
-                    (char *)"main",(char *)"!\\freeable((void *)0)",15);
+    __e_acsl_assert(! __gen_e_acsl_freeable_2,"Assertion","main",
+                    "!\\freeable((void *)0)","tests/memory/freeable.c",15);
   }
   /*@ assert ¬\freeable((void *)0); */ ;
   __e_acsl_full_init((void *)(& p));
@@ -40,37 +40,38 @@ int main(void)
   {
     int __gen_e_acsl_freeable_3;
     __gen_e_acsl_freeable_3 = __e_acsl_freeable((void *)(p + 1));
-    __e_acsl_assert(! __gen_e_acsl_freeable_3,(char *)"Assertion",
-                    (char *)"main",(char *)"!\\freeable(p + 1)",17);
+    __e_acsl_assert(! __gen_e_acsl_freeable_3,"Assertion","main",
+                    "!\\freeable(p + 1)","tests/memory/freeable.c",17);
   }
   /*@ assert ¬\freeable(p + 1); */ ;
   {
     int __gen_e_acsl_freeable_4;
     __gen_e_acsl_freeable_4 = __e_acsl_freeable((void *)p);
-    __e_acsl_assert(__gen_e_acsl_freeable_4,(char *)"Assertion",
-                    (char *)"main",(char *)"\\freeable(p)",18);
+    __e_acsl_assert(__gen_e_acsl_freeable_4,"Assertion","main",
+                    "\\freeable(p)","tests/memory/freeable.c",18);
   }
   /*@ assert \freeable(p); */ ;
   free((void *)p);
   {
     int __gen_e_acsl_freeable_5;
     __gen_e_acsl_freeable_5 = __e_acsl_freeable((void *)p);
-    __e_acsl_assert(! __gen_e_acsl_freeable_5,(char *)"Assertion",
-                    (char *)"main",(char *)"!\\freeable(p)",20);
+    __e_acsl_assert(! __gen_e_acsl_freeable_5,"Assertion","main",
+                    "!\\freeable(p)","tests/memory/freeable.c",20);
   }
   /*@ assert ¬\freeable(p); */ ;
   {
     int __gen_e_acsl_freeable_6;
     __gen_e_acsl_freeable_6 = __e_acsl_freeable((void *)(array));
-    __e_acsl_assert(! __gen_e_acsl_freeable_6,(char *)"Assertion",
-                    (char *)"main",(char *)"!\\freeable((char *)array)",23);
+    __e_acsl_assert(! __gen_e_acsl_freeable_6,"Assertion","main",
+                    "!\\freeable((char *)array)","tests/memory/freeable.c",
+                    23);
   }
   /*@ assert ¬\freeable((char *)array); */ ;
   {
     int __gen_e_acsl_freeable_7;
     __gen_e_acsl_freeable_7 = __e_acsl_freeable((void *)(& array[5]));
-    __e_acsl_assert(! __gen_e_acsl_freeable_7,(char *)"Assertion",
-                    (char *)"main",(char *)"!\\freeable(&array[5])",24);
+    __e_acsl_assert(! __gen_e_acsl_freeable_7,"Assertion","main",
+                    "!\\freeable(&array[5])","tests/memory/freeable.c",24);
   }
   /*@ assert ¬\freeable(&array[5]); */ ;
   __retres = 0;
diff --git a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_goto.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_goto.c
index 78fa770984efe823684573babf2b9fb1e7460c9a..ac4c3251956faf3ce1a4ee25379caa79d892b195 100644
--- a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_goto.c
+++ b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_goto.c
@@ -29,8 +29,8 @@ int main(void)
   {
     int __gen_e_acsl_initialized;
     __gen_e_acsl_initialized = __e_acsl_initialized((void *)b,sizeof(char));
-    __e_acsl_assert(__gen_e_acsl_initialized,(char *)"Assertion",
-                    (char *)"main",(char *)"\\initialized(b)",15);
+    __e_acsl_assert(__gen_e_acsl_initialized,"Assertion","main",
+                    "\\initialized(b)","tests/memory/goto.c",15);
   }
   /*@ assert \initialized(b); */ ;
   __retres = 0;
diff --git a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_init.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_init.c
index c022f9c482b25aeefbf42005feb0259a12be77ea..97f4520a88aef0c989249eab9a2abc1c9c02cb2f 100644
--- a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_init.c
+++ b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_init.c
@@ -27,21 +27,21 @@ int main(void)
   int *q = & b;
   __e_acsl_store_block((void *)(& q),(size_t)8);
   __e_acsl_full_init((void *)(& q));
-  __e_acsl_assert(1,(char *)"Assertion",(char *)"main",
-                  (char *)"\\initialized(&b)",9);
+  __e_acsl_assert(1,"Assertion","main","\\initialized(&b)",
+                  "tests/memory/init.c",9);
   /*@ assert \initialized(&b); */ ;
   {
     int __gen_e_acsl_initialized;
     __gen_e_acsl_initialized = __e_acsl_initialized((void *)q,sizeof(int));
-    __e_acsl_assert(__gen_e_acsl_initialized,(char *)"Assertion",
-                    (char *)"main",(char *)"\\initialized(q)",10);
+    __e_acsl_assert(__gen_e_acsl_initialized,"Assertion","main",
+                    "\\initialized(q)","tests/memory/init.c",10);
   }
   /*@ assert \initialized(q); */ ;
   {
     int __gen_e_acsl_initialized_2;
     __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)p,sizeof(int));
-    __e_acsl_assert(__gen_e_acsl_initialized_2,(char *)"Assertion",
-                    (char *)"main",(char *)"\\initialized(p)",11);
+    __e_acsl_assert(__gen_e_acsl_initialized_2,"Assertion","main",
+                    "\\initialized(p)","tests/memory/init.c",11);
   }
   /*@ assert \initialized(p); */ ;
   __retres = 0;
diff --git a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_initialized.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_initialized.c
index 60f6615b8c52fdef5c00fcbcddb62b64641c8ce5..c426b1e926591f79e583da1089d6e600480e80dc 100644
--- a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_initialized.c
+++ b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_initialized.c
@@ -34,24 +34,24 @@ int main(void)
   int *q = & B;
   __e_acsl_store_block((void *)(& q),(size_t)8);
   __e_acsl_full_init((void *)(& q));
-  __e_acsl_assert(1,(char *)"Assertion",(char *)"main",
-                  (char *)"\\initialized(&A)",16);
+  __e_acsl_assert(1,"Assertion","main","\\initialized(&A)",
+                  "tests/memory/initialized.c",16);
   /*@ assert \initialized(&A); */ ;
-  __e_acsl_assert(1,(char *)"Assertion",(char *)"main",
-                  (char *)"\\initialized(&B)",17);
+  __e_acsl_assert(1,"Assertion","main","\\initialized(&B)",
+                  "tests/memory/initialized.c",17);
   /*@ assert \initialized(&B); */ ;
   {
     int __gen_e_acsl_initialized;
     __gen_e_acsl_initialized = __e_acsl_initialized((void *)p,sizeof(int));
-    __e_acsl_assert(__gen_e_acsl_initialized,(char *)"Assertion",
-                    (char *)"main",(char *)"\\initialized(p)",18);
+    __e_acsl_assert(__gen_e_acsl_initialized,"Assertion","main",
+                    "\\initialized(p)","tests/memory/initialized.c",18);
   }
   /*@ assert \initialized(p); */ ;
   {
     int __gen_e_acsl_initialized_2;
     __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)q,sizeof(int));
-    __e_acsl_assert(__gen_e_acsl_initialized_2,(char *)"Assertion",
-                    (char *)"main",(char *)"\\initialized(q)",19);
+    __e_acsl_assert(__gen_e_acsl_initialized_2,"Assertion","main",
+                    "\\initialized(q)","tests/memory/initialized.c",19);
   }
   /*@ assert \initialized(q); */ ;
   int a = 0;
@@ -68,46 +68,46 @@ int main(void)
     int __gen_e_acsl_initialized_3;
     __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(& a),
                                                       sizeof(int));
-    __e_acsl_assert(__gen_e_acsl_initialized_3,(char *)"Assertion",
-                    (char *)"main",(char *)"\\initialized(&a)",30);
+    __e_acsl_assert(__gen_e_acsl_initialized_3,"Assertion","main",
+                    "\\initialized(&a)","tests/memory/initialized.c",30);
   }
   /*@ assert \initialized(&a); */ ;
   {
     int __gen_e_acsl_initialized_4;
     __gen_e_acsl_initialized_4 = __e_acsl_initialized((void *)(& b),
                                                       sizeof(int));
-    __e_acsl_assert(! __gen_e_acsl_initialized_4,(char *)"Assertion",
-                    (char *)"main",(char *)"!\\initialized(&b)",31);
+    __e_acsl_assert(! __gen_e_acsl_initialized_4,"Assertion","main",
+                    "!\\initialized(&b)","tests/memory/initialized.c",31);
   }
   /*@ assert ¬\initialized(&b); */ ;
   {
     int __gen_e_acsl_initialized_5;
     __gen_e_acsl_initialized_5 = __e_acsl_initialized((void *)p,sizeof(int));
-    __e_acsl_assert(__gen_e_acsl_initialized_5,(char *)"Assertion",
-                    (char *)"main",(char *)"\\initialized(p)",32);
+    __e_acsl_assert(__gen_e_acsl_initialized_5,"Assertion","main",
+                    "\\initialized(p)","tests/memory/initialized.c",32);
   }
   /*@ assert \initialized(p); */ ;
   {
     int __gen_e_acsl_initialized_6;
     __gen_e_acsl_initialized_6 = __e_acsl_initialized((void *)q,sizeof(int));
-    __e_acsl_assert(! __gen_e_acsl_initialized_6,(char *)"Assertion",
-                    (char *)"main",(char *)"!\\initialized(q)",33);
+    __e_acsl_assert(! __gen_e_acsl_initialized_6,"Assertion","main",
+                    "!\\initialized(q)","tests/memory/initialized.c",33);
   }
   /*@ assert ¬\initialized(q); */ ;
   {
     int __gen_e_acsl_initialized_7;
     __gen_e_acsl_initialized_7 = __e_acsl_initialized((void *)(& c),
                                                       sizeof(long [2]));
-    __e_acsl_assert(__gen_e_acsl_initialized_7,(char *)"Assertion",
-                    (char *)"main",(char *)"\\initialized(&c)",34);
+    __e_acsl_assert(__gen_e_acsl_initialized_7,"Assertion","main",
+                    "\\initialized(&c)","tests/memory/initialized.c",34);
   }
   /*@ assert \initialized(&c); */ ;
   {
     int __gen_e_acsl_initialized_8;
     __gen_e_acsl_initialized_8 = __e_acsl_initialized((void *)(& d),
                                                       sizeof(long [2]));
-    __e_acsl_assert(! __gen_e_acsl_initialized_8,(char *)"Assertion",
-                    (char *)"main",(char *)"!\\initialized(&d)",35);
+    __e_acsl_assert(! __gen_e_acsl_initialized_8,"Assertion","main",
+                    "!\\initialized(&d)","tests/memory/initialized.c",35);
   }
   /*@ assert ¬\initialized(&d); */ ;
   __e_acsl_full_init((void *)(& b));
@@ -115,16 +115,16 @@ int main(void)
   {
     int __gen_e_acsl_initialized_9;
     __gen_e_acsl_initialized_9 = __e_acsl_initialized((void *)q,sizeof(int));
-    __e_acsl_assert(__gen_e_acsl_initialized_9,(char *)"Assertion",
-                    (char *)"main",(char *)"\\initialized(q)",39);
+    __e_acsl_assert(__gen_e_acsl_initialized_9,"Assertion","main",
+                    "\\initialized(q)","tests/memory/initialized.c",39);
   }
   /*@ assert \initialized(q); */ ;
   {
     int __gen_e_acsl_initialized_10;
     __gen_e_acsl_initialized_10 = __e_acsl_initialized((void *)(& b),
                                                        sizeof(int));
-    __e_acsl_assert(__gen_e_acsl_initialized_10,(char *)"Assertion",
-                    (char *)"main",(char *)"\\initialized(&b)",40);
+    __e_acsl_assert(__gen_e_acsl_initialized_10,"Assertion","main",
+                    "\\initialized(&b)","tests/memory/initialized.c",40);
   }
   /*@ assert \initialized(&b); */ ;
   __e_acsl_full_init((void *)(& r));
@@ -133,40 +133,41 @@ int main(void)
     int __gen_e_acsl_initialized_11;
     __gen_e_acsl_initialized_11 = __e_acsl_initialized((void *)(d),
                                                        sizeof(long));
-    __e_acsl_assert(! __gen_e_acsl_initialized_11,(char *)"Assertion",
-                    (char *)"main",(char *)"!\\initialized((long *)d)",43);
+    __e_acsl_assert(! __gen_e_acsl_initialized_11,"Assertion","main",
+                    "!\\initialized((long *)d)","tests/memory/initialized.c",
+                    43);
   }
   /*@ assert ¬\initialized((long *)d); */ ;
   {
     int __gen_e_acsl_initialized_12;
     __gen_e_acsl_initialized_12 = __e_acsl_initialized((void *)(& d[1]),
                                                        sizeof(long));
-    __e_acsl_assert(! __gen_e_acsl_initialized_12,(char *)"Assertion",
-                    (char *)"main",(char *)"!\\initialized(&d[1])",44);
+    __e_acsl_assert(! __gen_e_acsl_initialized_12,"Assertion","main",
+                    "!\\initialized(&d[1])","tests/memory/initialized.c",44);
   }
   /*@ assert ¬\initialized(&d[1]); */ ;
   {
     int __gen_e_acsl_initialized_13;
     __gen_e_acsl_initialized_13 = __e_acsl_initialized((void *)(& d),
                                                        sizeof(long [2]));
-    __e_acsl_assert(! __gen_e_acsl_initialized_13,(char *)"Assertion",
-                    (char *)"main",(char *)"!\\initialized(&d)",45);
+    __e_acsl_assert(! __gen_e_acsl_initialized_13,"Assertion","main",
+                    "!\\initialized(&d)","tests/memory/initialized.c",45);
   }
   /*@ assert ¬\initialized(&d); */ ;
   {
     int __gen_e_acsl_initialized_14;
     __gen_e_acsl_initialized_14 = __e_acsl_initialized((void *)r,
                                                        sizeof(long));
-    __e_acsl_assert(! __gen_e_acsl_initialized_14,(char *)"Assertion",
-                    (char *)"main",(char *)"!\\initialized(r)",46);
+    __e_acsl_assert(! __gen_e_acsl_initialized_14,"Assertion","main",
+                    "!\\initialized(r)","tests/memory/initialized.c",46);
   }
   /*@ assert ¬\initialized(r); */ ;
   {
     int __gen_e_acsl_initialized_15;
     __gen_e_acsl_initialized_15 = __e_acsl_initialized((void *)(r + 1),
                                                        sizeof(long));
-    __e_acsl_assert(! __gen_e_acsl_initialized_15,(char *)"Assertion",
-                    (char *)"main",(char *)"!\\initialized(r + 1)",47);
+    __e_acsl_assert(! __gen_e_acsl_initialized_15,"Assertion","main",
+                    "!\\initialized(r + 1)","tests/memory/initialized.c",47);
   }
   /*@ assert ¬\initialized(r + 1); */ ;
   __e_acsl_initialize((void *)(d),sizeof(long));
@@ -175,40 +176,41 @@ int main(void)
     int __gen_e_acsl_initialized_16;
     __gen_e_acsl_initialized_16 = __e_acsl_initialized((void *)(d),
                                                        sizeof(long));
-    __e_acsl_assert(__gen_e_acsl_initialized_16,(char *)"Assertion",
-                    (char *)"main",(char *)"\\initialized((long *)d)",50);
+    __e_acsl_assert(__gen_e_acsl_initialized_16,"Assertion","main",
+                    "\\initialized((long *)d)","tests/memory/initialized.c",
+                    50);
   }
   /*@ assert \initialized((long *)d); */ ;
   {
     int __gen_e_acsl_initialized_17;
     __gen_e_acsl_initialized_17 = __e_acsl_initialized((void *)(& d[1]),
                                                        sizeof(long));
-    __e_acsl_assert(! __gen_e_acsl_initialized_17,(char *)"Assertion",
-                    (char *)"main",(char *)"!\\initialized(&d[1])",51);
+    __e_acsl_assert(! __gen_e_acsl_initialized_17,"Assertion","main",
+                    "!\\initialized(&d[1])","tests/memory/initialized.c",51);
   }
   /*@ assert ¬\initialized(&d[1]); */ ;
   {
     int __gen_e_acsl_initialized_18;
     __gen_e_acsl_initialized_18 = __e_acsl_initialized((void *)(& d),
                                                        sizeof(long [2]));
-    __e_acsl_assert(! __gen_e_acsl_initialized_18,(char *)"Assertion",
-                    (char *)"main",(char *)"!\\initialized(&d)",52);
+    __e_acsl_assert(! __gen_e_acsl_initialized_18,"Assertion","main",
+                    "!\\initialized(&d)","tests/memory/initialized.c",52);
   }
   /*@ assert ¬\initialized(&d); */ ;
   {
     int __gen_e_acsl_initialized_19;
     __gen_e_acsl_initialized_19 = __e_acsl_initialized((void *)r,
                                                        sizeof(long));
-    __e_acsl_assert(__gen_e_acsl_initialized_19,(char *)"Assertion",
-                    (char *)"main",(char *)"\\initialized(r)",53);
+    __e_acsl_assert(__gen_e_acsl_initialized_19,"Assertion","main",
+                    "\\initialized(r)","tests/memory/initialized.c",53);
   }
   /*@ assert \initialized(r); */ ;
   {
     int __gen_e_acsl_initialized_20;
     __gen_e_acsl_initialized_20 = __e_acsl_initialized((void *)(r + 1),
                                                        sizeof(long));
-    __e_acsl_assert(! __gen_e_acsl_initialized_20,(char *)"Assertion",
-                    (char *)"main",(char *)"!\\initialized(r + 1)",54);
+    __e_acsl_assert(! __gen_e_acsl_initialized_20,"Assertion","main",
+                    "!\\initialized(r + 1)","tests/memory/initialized.c",54);
   }
   /*@ assert ¬\initialized(r + 1); */ ;
   __e_acsl_initialize((void *)(& d[1]),sizeof(long));
@@ -217,40 +219,41 @@ int main(void)
     int __gen_e_acsl_initialized_21;
     __gen_e_acsl_initialized_21 = __e_acsl_initialized((void *)(d),
                                                        sizeof(long));
-    __e_acsl_assert(__gen_e_acsl_initialized_21,(char *)"Assertion",
-                    (char *)"main",(char *)"\\initialized((long *)d)",57);
+    __e_acsl_assert(__gen_e_acsl_initialized_21,"Assertion","main",
+                    "\\initialized((long *)d)","tests/memory/initialized.c",
+                    57);
   }
   /*@ assert \initialized((long *)d); */ ;
   {
     int __gen_e_acsl_initialized_22;
     __gen_e_acsl_initialized_22 = __e_acsl_initialized((void *)(& d[1]),
                                                        sizeof(long));
-    __e_acsl_assert(__gen_e_acsl_initialized_22,(char *)"Assertion",
-                    (char *)"main",(char *)"\\initialized(&d[1])",58);
+    __e_acsl_assert(__gen_e_acsl_initialized_22,"Assertion","main",
+                    "\\initialized(&d[1])","tests/memory/initialized.c",58);
   }
   /*@ assert \initialized(&d[1]); */ ;
   {
     int __gen_e_acsl_initialized_23;
     __gen_e_acsl_initialized_23 = __e_acsl_initialized((void *)(& d),
                                                        sizeof(long [2]));
-    __e_acsl_assert(__gen_e_acsl_initialized_23,(char *)"Assertion",
-                    (char *)"main",(char *)"\\initialized(&d)",59);
+    __e_acsl_assert(__gen_e_acsl_initialized_23,"Assertion","main",
+                    "\\initialized(&d)","tests/memory/initialized.c",59);
   }
   /*@ assert \initialized(&d); */ ;
   {
     int __gen_e_acsl_initialized_24;
     __gen_e_acsl_initialized_24 = __e_acsl_initialized((void *)r,
                                                        sizeof(long));
-    __e_acsl_assert(__gen_e_acsl_initialized_24,(char *)"Assertion",
-                    (char *)"main",(char *)"\\initialized(r)",60);
+    __e_acsl_assert(__gen_e_acsl_initialized_24,"Assertion","main",
+                    "\\initialized(r)","tests/memory/initialized.c",60);
   }
   /*@ assert \initialized(r); */ ;
   {
     int __gen_e_acsl_initialized_25;
     __gen_e_acsl_initialized_25 = __e_acsl_initialized((void *)(r + 1),
                                                        sizeof(long));
-    __e_acsl_assert(__gen_e_acsl_initialized_25,(char *)"Assertion",
-                    (char *)"main",(char *)"\\initialized(r + 1)",61);
+    __e_acsl_assert(__gen_e_acsl_initialized_25,"Assertion","main",
+                    "\\initialized(r + 1)","tests/memory/initialized.c",61);
   }
   /*@ assert \initialized(r + 1); */ ;
   __e_acsl_full_init((void *)(& p));
@@ -258,8 +261,8 @@ int main(void)
   {
     int __gen_e_acsl_initialized_26;
     __gen_e_acsl_initialized_26 = __e_acsl_initialized((void *)p,sizeof(int));
-    __e_acsl_assert(! __gen_e_acsl_initialized_26,(char *)"Assertion",
-                    (char *)"main",(char *)"!\\initialized(p)",65);
+    __e_acsl_assert(! __gen_e_acsl_initialized_26,"Assertion","main",
+                    "!\\initialized(p)","tests/memory/initialized.c",65);
   }
   /*@ assert ¬\initialized(p); */ ;
   __e_acsl_full_init((void *)(& q));
@@ -267,8 +270,8 @@ int main(void)
   {
     int __gen_e_acsl_initialized_27;
     __gen_e_acsl_initialized_27 = __e_acsl_initialized((void *)q,sizeof(int));
-    __e_acsl_assert(__gen_e_acsl_initialized_27,(char *)"Assertion",
-                    (char *)"main",(char *)"\\initialized(q)",69);
+    __e_acsl_assert(__gen_e_acsl_initialized_27,"Assertion","main",
+                    "\\initialized(q)","tests/memory/initialized.c",69);
   }
   /*@ assert \initialized(q); */ ;
   __e_acsl_full_init((void *)(& q));
@@ -276,8 +279,8 @@ int main(void)
   {
     int __gen_e_acsl_initialized_28;
     __gen_e_acsl_initialized_28 = __e_acsl_initialized((void *)q,sizeof(int));
-    __e_acsl_assert(__gen_e_acsl_initialized_28,(char *)"Assertion",
-                    (char *)"main",(char *)"\\initialized(q)",74);
+    __e_acsl_assert(__gen_e_acsl_initialized_28,"Assertion","main",
+                    "\\initialized(q)","tests/memory/initialized.c",74);
   }
   /*@ assert \initialized(q); */ ;
   __e_acsl_full_init((void *)(& q));
@@ -285,8 +288,8 @@ int main(void)
   {
     int __gen_e_acsl_initialized_29;
     __gen_e_acsl_initialized_29 = __e_acsl_initialized((void *)q,sizeof(int));
-    __e_acsl_assert(! __gen_e_acsl_initialized_29,(char *)"Assertion",
-                    (char *)"main",(char *)"!\\initialized(q)",76);
+    __e_acsl_assert(! __gen_e_acsl_initialized_29,"Assertion","main",
+                    "!\\initialized(q)","tests/memory/initialized.c",76);
   }
   /*@ assert ¬\initialized(q); */ ;
   __e_acsl_full_init((void *)(& q));
@@ -297,15 +300,15 @@ int main(void)
     int __gen_e_acsl_initialized_30;
     /*@ assert Eva: dangling_pointer: ¬\dangling(&p); */
     __gen_e_acsl_initialized_30 = __e_acsl_initialized((void *)p,sizeof(int));
-    __e_acsl_assert(! __gen_e_acsl_initialized_30,(char *)"Assertion",
-                    (char *)"main",(char *)"!\\initialized(p)",84);
+    __e_acsl_assert(! __gen_e_acsl_initialized_30,"Assertion","main",
+                    "!\\initialized(p)","tests/memory/initialized.c",84);
   }
   /*@ assert ¬\initialized(p); */ ;
   {
     int __gen_e_acsl_initialized_31;
     __gen_e_acsl_initialized_31 = __e_acsl_initialized((void *)q,sizeof(int));
-    __e_acsl_assert(! __gen_e_acsl_initialized_31,(char *)"Assertion",
-                    (char *)"main",(char *)"!\\initialized(q)",85);
+    __e_acsl_assert(! __gen_e_acsl_initialized_31,"Assertion","main",
+                    "!\\initialized(q)","tests/memory/initialized.c",85);
   }
   /*@ assert ¬\initialized(q); */ ;
   __e_acsl_full_init((void *)(& q));
@@ -315,8 +318,8 @@ int main(void)
   {
     int __gen_e_acsl_initialized_32;
     __gen_e_acsl_initialized_32 = __e_acsl_initialized((void *)q,sizeof(int));
-    __e_acsl_assert(! __gen_e_acsl_initialized_32,(char *)"Assertion",
-                    (char *)"main",(char *)"!\\initialized(q)",93);
+    __e_acsl_assert(! __gen_e_acsl_initialized_32,"Assertion","main",
+                    "!\\initialized(q)","tests/memory/initialized.c",93);
   }
   /*@ assert ¬\initialized(q); */ ;
   __e_acsl_full_init((void *)(& p));
@@ -324,8 +327,8 @@ int main(void)
   {
     int __gen_e_acsl_initialized_33;
     __gen_e_acsl_initialized_33 = __e_acsl_initialized((void *)p,sizeof(int));
-    __e_acsl_assert(! __gen_e_acsl_initialized_33,(char *)"Assertion",
-                    (char *)"main",(char *)"!\\initialized(p)",96);
+    __e_acsl_assert(! __gen_e_acsl_initialized_33,"Assertion","main",
+                    "!\\initialized(p)","tests/memory/initialized.c",96);
   }
   /*@ assert ¬\initialized(p); */ ;
   int size = 100;
diff --git a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_literal_string.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_literal_string.c
index 677839949b391b87d55330e30a705377fda4dce0..3dbfb76f1f0296ca96e263e5bd18e3cacd55021f 100644
--- a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_literal_string.c
+++ b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_literal_string.c
@@ -18,10 +18,11 @@ void f(void)
     __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)(T + G),
                                                   sizeof(char),(void *)T,
                                                   (void *)(& T));
-    __e_acsl_assert(__gen_e_acsl_valid_read,(char *)"RTE",(char *)"f",
-                    (char *)"mem_access: \\valid_read(T + G)",11);
-    __e_acsl_assert((int)*(T + G) == 98,(char *)"Assertion",(char *)"f",
-                    (char *)"*(T + G) == \'b\'",11);
+    __e_acsl_assert(__gen_e_acsl_valid_read,"RTE","f",
+                    "mem_access: \\valid_read(T + G)",
+                    "tests/memory/literal_string.i",11);
+    __e_acsl_assert((int)*(T + G) == 98,"Assertion","f","*(T + G) == \'b\'",
+                    "tests/memory/literal_string.i",11);
   }
   /*@ assert *(T + G) ≡ 'b'; */ ;
   G ++;
@@ -94,17 +95,18 @@ int main(void)
     __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)(S + G2),
                                                   sizeof(char),(void *)S,
                                                   (void *)(& S));
-    __e_acsl_assert(__gen_e_acsl_valid_read,(char *)"RTE",(char *)"main",
-                    (char *)"mem_access: \\valid_read(S + G2)",25);
-    __e_acsl_assert((int)*(S + G2) == 111,(char *)"Assertion",(char *)"main",
-                    (char *)"*(S + G2) == \'o\'",25);
+    __e_acsl_assert(__gen_e_acsl_valid_read,"RTE","main",
+                    "mem_access: \\valid_read(S + G2)",
+                    "tests/memory/literal_string.i",25);
+    __e_acsl_assert((int)*(S + G2) == 111,"Assertion","main",
+                    "*(S + G2) == \'o\'","tests/memory/literal_string.i",25);
   }
   /*@ assert *(S + G2) ≡ 'o'; */ ;
   {
     int __gen_e_acsl_initialized;
     __gen_e_acsl_initialized = __e_acsl_initialized((void *)S,sizeof(char));
-    __e_acsl_assert(__gen_e_acsl_initialized,(char *)"Assertion",
-                    (char *)"main",(char *)"\\initialized(S)",26);
+    __e_acsl_assert(__gen_e_acsl_initialized,"Assertion","main",
+                    "\\initialized(S)","tests/memory/literal_string.i",26);
   }
   /*@ assert \initialized(S); */ ;
   {
@@ -112,8 +114,8 @@ int main(void)
     __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)S2,sizeof(char),
                                                     (void *)S2,
                                                     (void *)(& S2));
-    __e_acsl_assert(__gen_e_acsl_valid_read_2,(char *)"Assertion",
-                    (char *)"main",(char *)"\\valid_read(S2)",27);
+    __e_acsl_assert(__gen_e_acsl_valid_read_2,"Assertion","main",
+                    "\\valid_read(S2)","tests/memory/literal_string.i",27);
   }
   /*@ assert \valid_read(S2); */ ;
   {
@@ -128,8 +130,8 @@ int main(void)
       __gen_e_acsl_and = __gen_e_acsl_valid;
     }
     else __gen_e_acsl_and = 0;
-    __e_acsl_assert(! __gen_e_acsl_and,(char *)"Assertion",(char *)"main",
-                    (char *)"!\\valid(SS)",28);
+    __e_acsl_assert(! __gen_e_acsl_and,"Assertion","main","!\\valid(SS)",
+                    "tests/memory/literal_string.i",28);
   }
   /*@ assert ¬\valid(SS); */ ;
   f();
diff --git a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_local_goto.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_local_goto.c
index f75569727cb0a83584c21e41030834e5f2eac8c0..707853628e0809429f024754938dc89d741936cc 100644
--- a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_local_goto.c
+++ b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_local_goto.c
@@ -53,8 +53,8 @@ int main(int argc, char const **argv)
       int __gen_e_acsl_valid;
       __gen_e_acsl_valid = __e_acsl_valid((void *)(& a),sizeof(int),
                                           (void *)(& a),(void *)0);
-      __e_acsl_assert(__gen_e_acsl_valid,(char *)"Assertion",(char *)"main",
-                      (char *)"\\valid(&a)",29);
+      __e_acsl_assert(__gen_e_acsl_valid,"Assertion","main","\\valid(&a)",
+                      "tests/memory/local_goto.c",29);
     }
     /*@ assert \valid(&a); */ ;
     if (t == 2) {
@@ -70,8 +70,8 @@ int main(int argc, char const **argv)
       int __gen_e_acsl_valid_2;
       __gen_e_acsl_valid_2 = __e_acsl_valid((void *)(& b),sizeof(int),
                                             (void *)(& b),(void *)0);
-      __e_acsl_assert(__gen_e_acsl_valid_2,(char *)"Assertion",
-                      (char *)"main",(char *)"\\valid(&b)",40);
+      __e_acsl_assert(__gen_e_acsl_valid_2,"Assertion","main","\\valid(&b)",
+                      "tests/memory/local_goto.c",40);
     }
     /*@ assert \valid(&b); */ ;
     printf(__gen_e_acsl_literal_string_2,t,__gen_e_acsl_literal_string_4);
diff --git a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_local_var.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_local_var.c
index 0cf96dbc3654d3f9d96059ce9a8bb58080eab3f7..a7de0f8707ddc4ec1edc095ebf3689bf5eb99a11 100644
--- a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_local_var.c
+++ b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_local_var.c
@@ -24,8 +24,8 @@ struct list *add(struct list *l, int i)
       __gen_e_acsl_and = __gen_e_acsl_valid;
     }
     else __gen_e_acsl_and = 0;
-    __e_acsl_assert(__gen_e_acsl_and,(char *)"Assertion",(char *)"add",
-                    (char *)"\\valid(new)",15);
+    __e_acsl_assert(__gen_e_acsl_and,"Assertion","add","\\valid(new)",
+                    "tests/memory/local_var.c",15);
   }
   /*@ assert \valid(new); */ ;
   __e_acsl_initialize((void *)(& new->element),sizeof(int));
diff --git a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_mainargs.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_mainargs.c
index c7333552e793cf60c73d255129438a7e52ceea5a..8ec1fd43938696c97a69a574ac0324914fbac459 100644
--- a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_mainargs.c
+++ b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_mainargs.c
@@ -34,9 +34,9 @@ int __gen_e_acsl_main(int argc, char **argv)
       __gen_e_acsl_k ++;
     }
     e_acsl_end_loop1: ;
-    __e_acsl_assert(__gen_e_acsl_forall,(char *)"Assertion",(char *)"main",
-                    (char *)"\\forall int k; 0 <= k < argc ==> \\valid(argv + k)",
-                    12);
+    __e_acsl_assert(__gen_e_acsl_forall,"Assertion","main",
+                    "\\forall int k; 0 <= k < argc ==> \\valid(argv + k)",
+                    "tests/memory/mainargs.c",12);
   }
   /*@ assert ∀ int k; 0 ≤ k < argc ⇒ \valid(argv + k); */ ;
   {
@@ -49,9 +49,9 @@ int __gen_e_acsl_main(int argc, char **argv)
     __gmpz_init_set_si(__gen_e_acsl_,(argc + 1L) * 8);
     __gen_e_acsl_eq = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_block_length_2),
                                  (__e_acsl_mpz_struct const *)(__gen_e_acsl_));
-    __e_acsl_assert(__gen_e_acsl_eq == 0,(char *)"Assertion",(char *)"main",
-                    (char *)"\\block_length(argv) == (argc + 1) * sizeof(char *)",
-                    13);
+    __e_acsl_assert(__gen_e_acsl_eq == 0,"Assertion","main",
+                    "\\block_length(argv) == (argc + 1) * sizeof(char *)",
+                    "tests/memory/mainargs.c",13);
     __gmpz_clear(__gen_e_acsl_block_length_2);
     __gmpz_clear(__gen_e_acsl_);
   }
@@ -62,11 +62,12 @@ int __gen_e_acsl_main(int argc, char **argv)
                                                   sizeof(char *),
                                                   (void *)argv,
                                                   (void *)(& argv));
-    __e_acsl_assert(__gen_e_acsl_valid_read,(char *)"RTE",(char *)"main",
-                    (char *)"mem_access: \\valid_read(argv + argc)",15);
+    __e_acsl_assert(__gen_e_acsl_valid_read,"RTE","main",
+                    "mem_access: \\valid_read(argv + argc)",
+                    "tests/memory/mainargs.c",15);
     /*@ assert Eva: mem_access: \valid_read(argv + argc); */
-    __e_acsl_assert(*(argv + argc) == (char *)0,(char *)"Assertion",
-                    (char *)"main",(char *)"*(argv + argc) == \\null",15);
+    __e_acsl_assert(*(argv + argc) == (char *)0,"Assertion","main",
+                    "*(argv + argc) == \\null","tests/memory/mainargs.c",15);
   }
   /*@ assert *(argv + argc) ≡ \null; */ ;
   {
@@ -81,8 +82,9 @@ int __gen_e_acsl_main(int argc, char **argv)
                                                       sizeof(char *),
                                                       (void *)argv,
                                                       (void *)(& argv));
-      __e_acsl_assert(__gen_e_acsl_valid_read_2,(char *)"RTE",(char *)"main",
-                      (char *)"mem_access: \\valid_read(argv + argc)",16);
+      __e_acsl_assert(__gen_e_acsl_valid_read_2,"RTE","main",
+                      "mem_access: \\valid_read(argv + argc)",
+                      "tests/memory/mainargs.c",16);
       /*@ assert Eva: mem_access: \valid_read(argv + argc); */
       __gen_e_acsl_valid_2 = __e_acsl_valid((void *)*(argv + argc),
                                             sizeof(char),
@@ -91,8 +93,8 @@ int __gen_e_acsl_main(int argc, char **argv)
       __gen_e_acsl_and = __gen_e_acsl_valid_2;
     }
     else __gen_e_acsl_and = 0;
-    __e_acsl_assert(! __gen_e_acsl_and,(char *)"Assertion",(char *)"main",
-                    (char *)"!\\valid(*(argv + argc))",16);
+    __e_acsl_assert(! __gen_e_acsl_and,"Assertion","main",
+                    "!\\valid(*(argv + argc))","tests/memory/mainargs.c",16);
   }
   /*@ assert ¬\valid(*(argv + argc)); */ ;
   i = 0;
@@ -113,9 +115,9 @@ int __gen_e_acsl_main(int argc, char **argv)
                                                           sizeof(char *),
                                                           (void *)argv,
                                                           (void *)(& argv));
-          __e_acsl_assert(__gen_e_acsl_valid_read_3,(char *)"RTE",
-                          (char *)"main",
-                          (char *)"mem_access: \\valid_read(argv + i)",19);
+          __e_acsl_assert(__gen_e_acsl_valid_read_3,"RTE","main",
+                          "mem_access: \\valid_read(argv + i)",
+                          "tests/memory/mainargs.c",19);
           __gen_e_acsl_valid_3 = __e_acsl_valid((void *)*(argv + i),
                                                 sizeof(char),
                                                 (void *)*(argv + i),
@@ -123,8 +125,8 @@ int __gen_e_acsl_main(int argc, char **argv)
           __gen_e_acsl_and_2 = __gen_e_acsl_valid_3;
         }
         else __gen_e_acsl_and_2 = 0;
-        __e_acsl_assert(__gen_e_acsl_and_2,(char *)"Assertion",
-                        (char *)"main",(char *)"\\valid(*(argv + i))",19);
+        __e_acsl_assert(__gen_e_acsl_and_2,"Assertion","main",
+                        "\\valid(*(argv + i))","tests/memory/mainargs.c",19);
       }
       /*@ assert \valid(*(argv + i)); */ ;
       {
@@ -142,9 +144,9 @@ int __gen_e_acsl_main(int argc, char **argv)
                                                             sizeof(char *),
                                                             (void *)argv,
                                                             (void *)(& argv));
-            __e_acsl_assert(__gen_e_acsl_valid_read_4,(char *)"RTE",
-                            (char *)"main",
-                            (char *)"mem_access: \\valid_read(argv + i)",20);
+            __e_acsl_assert(__gen_e_acsl_valid_read_4,"RTE","main",
+                            "mem_access: \\valid_read(argv + i)",
+                            "tests/memory/mainargs.c",20);
             __gen_e_acsl_valid_4 = __e_acsl_valid((void *)(*(argv + i) + __gen_e_acsl_k_2),
                                                   sizeof(char),
                                                   (void *)*(argv + i),
@@ -158,10 +160,9 @@ int __gen_e_acsl_main(int argc, char **argv)
           __gen_e_acsl_k_2 ++;
         }
         e_acsl_end_loop2: ;
-        __e_acsl_assert(__gen_e_acsl_forall_2,(char *)"Assertion",
-                        (char *)"main",
-                        (char *)"\\forall int k; 0 <= k <= len ==> \\valid(*(argv + i) + k)",
-                        20);
+        __e_acsl_assert(__gen_e_acsl_forall_2,"Assertion","main",
+                        "\\forall int k; 0 <= k <= len ==> \\valid(*(argv + i) + k)",
+                        "tests/memory/mainargs.c",20);
       }
       /*@ assert ∀ int k; 0 ≤ k ≤ len ⇒ \valid(*(argv + i) + k); */ ;
     }
@@ -183,12 +184,12 @@ int main(int argc, char **argv)
     int __gen_e_acsl_valid_2;
     __gen_e_acsl_valid = __e_acsl_valid((void *)(& argc),sizeof(int),
                                         (void *)(& argc),(void *)0);
-    __e_acsl_assert(__gen_e_acsl_valid,(char *)"Precondition",(char *)"main",
-                    (char *)"\\valid(&argc)",7);
+    __e_acsl_assert(__gen_e_acsl_valid,"Precondition","main",
+                    "\\valid(&argc)","tests/memory/mainargs.c",7);
     __gen_e_acsl_valid_2 = __e_acsl_valid((void *)(& argv),sizeof(char **),
                                           (void *)(& argv),(void *)0);
-    __e_acsl_assert(__gen_e_acsl_valid_2,(char *)"Precondition",
-                    (char *)"main",(char *)"\\valid(&argv)",8);
+    __e_acsl_assert(__gen_e_acsl_valid_2,"Precondition","main",
+                    "\\valid(&argv)","tests/memory/mainargs.c",8);
   }
   __retres = __gen_e_acsl_main(argc,argv);
   __e_acsl_delete_block((void *)(& argv));
diff --git a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_memalign.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_memalign.c
index 604eee670df04a833722e2ba4ad1628b214f6fde..7e7362461bb1ec5e09bc5b26370fcda40ddbc4c3 100644
--- a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_memalign.c
+++ b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_memalign.c
@@ -28,22 +28,22 @@ int main(int argc, char const **argv)
       __gen_e_acsl_and = __gen_e_acsl_valid;
     }
     else __gen_e_acsl_and = 0;
-    __e_acsl_assert(__gen_e_acsl_and,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(p)",15);
+    __e_acsl_assert(__gen_e_acsl_and,"Assertion","main","\\valid(p)",
+                    "tests/memory/memalign.c",15);
   }
   /*@ assert \valid(p); */ ;
   {
     unsigned long __gen_e_acsl_block_length;
     __gen_e_acsl_block_length = __e_acsl_block_length((void *)p);
-    __e_acsl_assert(__gen_e_acsl_block_length == 15UL,(char *)"Assertion",
-                    (char *)"main",(char *)"\\block_length(p) == 15",16);
+    __e_acsl_assert(__gen_e_acsl_block_length == 15UL,"Assertion","main",
+                    "\\block_length(p) == 15","tests/memory/memalign.c",16);
   }
   /*@ assert \block_length(p) ≡ 15; */ ;
   {
     int __gen_e_acsl_freeable;
     __gen_e_acsl_freeable = __e_acsl_freeable((void *)p);
-    __e_acsl_assert(__gen_e_acsl_freeable,(char *)"Assertion",(char *)"main",
-                    (char *)"\\freeable(p)",17);
+    __e_acsl_assert(__gen_e_acsl_freeable,"Assertion","main","\\freeable(p)",
+                    "tests/memory/memalign.c",17);
   }
   /*@ assert \freeable(p); */ ;
   free((void *)p);
@@ -59,29 +59,29 @@ int main(int argc, char const **argv)
       __gen_e_acsl_and_2 = __gen_e_acsl_valid_2;
     }
     else __gen_e_acsl_and_2 = 0;
-    __e_acsl_assert(! __gen_e_acsl_and_2,(char *)"Assertion",(char *)"main",
-                    (char *)"!\\valid(p)",19);
+    __e_acsl_assert(! __gen_e_acsl_and_2,"Assertion","main","!\\valid(p)",
+                    "tests/memory/memalign.c",19);
   }
   /*@ assert ¬\valid(p); */ ;
   __e_acsl_full_init((void *)(& a));
   a = (char *)aligned_alloc((unsigned long)256,(unsigned long)12);
-  __e_acsl_assert(a == (char *)0,(char *)"Assertion",(char *)"main",
-                  (char *)"a == \\null",23);
+  __e_acsl_assert(a == (char *)0,"Assertion","main","a == \\null",
+                  "tests/memory/memalign.c",23);
   /*@ assert a ≡ \null; */ ;
   __e_acsl_full_init((void *)(& a));
   a = (char *)aligned_alloc((unsigned long)255,(unsigned long)512);
-  __e_acsl_assert(a == (char *)0,(char *)"Assertion",(char *)"main",
-                  (char *)"a == \\null",26);
+  __e_acsl_assert(a == (char *)0,"Assertion","main","a == \\null",
+                  "tests/memory/memalign.c",26);
   /*@ assert a ≡ \null; */ ;
   __e_acsl_full_init((void *)(& a));
   a = (char *)aligned_alloc((unsigned long)0,(unsigned long)512);
-  __e_acsl_assert(a == (char *)0,(char *)"Assertion",(char *)"main",
-                  (char *)"a == \\null",29);
+  __e_acsl_assert(a == (char *)0,"Assertion","main","a == \\null",
+                  "tests/memory/memalign.c",29);
   /*@ assert a ≡ \null; */ ;
   __e_acsl_full_init((void *)(& a));
   a = (char *)aligned_alloc((unsigned long)256,(unsigned long)512);
-  __e_acsl_assert(a != (char *)0,(char *)"Assertion",(char *)"main",
-                  (char *)"a != \\null",32);
+  __e_acsl_assert(a != (char *)0,"Assertion","main","a != \\null",
+                  "tests/memory/memalign.c",32);
   /*@ assert a ≢ \null; */ ;
   {
     int __gen_e_acsl_initialized_3;
@@ -95,22 +95,22 @@ int main(int argc, char const **argv)
       __gen_e_acsl_and_3 = __gen_e_acsl_valid_3;
     }
     else __gen_e_acsl_and_3 = 0;
-    __e_acsl_assert(__gen_e_acsl_and_3,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(a)",33);
+    __e_acsl_assert(__gen_e_acsl_and_3,"Assertion","main","\\valid(a)",
+                    "tests/memory/memalign.c",33);
   }
   /*@ assert \valid(a); */ ;
   {
     unsigned long __gen_e_acsl_block_length_2;
     __gen_e_acsl_block_length_2 = __e_acsl_block_length((void *)a);
-    __e_acsl_assert(__gen_e_acsl_block_length_2 == 512UL,(char *)"Assertion",
-                    (char *)"main",(char *)"\\block_length(a) == 512",34);
+    __e_acsl_assert(__gen_e_acsl_block_length_2 == 512UL,"Assertion","main",
+                    "\\block_length(a) == 512","tests/memory/memalign.c",34);
   }
   /*@ assert \block_length(a) ≡ 512; */ ;
   {
     int __gen_e_acsl_freeable_2;
     __gen_e_acsl_freeable_2 = __e_acsl_freeable((void *)a);
-    __e_acsl_assert(__gen_e_acsl_freeable_2,(char *)"Assertion",
-                    (char *)"main",(char *)"\\freeable(a)",35);
+    __e_acsl_assert(__gen_e_acsl_freeable_2,"Assertion","main",
+                    "\\freeable(a)","tests/memory/memalign.c",35);
   }
   /*@ assert \freeable(a); */ ;
   free((void *)a);
@@ -126,8 +126,8 @@ int main(int argc, char const **argv)
       __gen_e_acsl_and_4 = __gen_e_acsl_valid_4;
     }
     else __gen_e_acsl_and_4 = 0;
-    __e_acsl_assert(! __gen_e_acsl_and_4,(char *)"Assertion",(char *)"main",
-                    (char *)"!\\valid(a)",38);
+    __e_acsl_assert(! __gen_e_acsl_and_4,"Assertion","main","!\\valid(a)",
+                    "tests/memory/memalign.c",38);
   }
   /*@ assert ¬\valid(a); */ ;
   __retres = 0;
diff --git a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_memsize.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_memsize.c
index d4a293a8655db899eab07f77b13ff7d2813553e1..a7e98e9b92928f184ef61762e98d62f6f344b6f4 100644
--- a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_memsize.c
+++ b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_memsize.c
@@ -6,75 +6,75 @@ int main(int argc, char **argv)
   int __retres;
   __e_acsl_memory_init(& argc,& argv,(size_t)8);
   char *a = malloc((unsigned long)7);
-  __e_acsl_assert(__e_acsl_heap_allocation_size == 7UL,(char *)"Assertion",
-                  (char *)"main",
-                  (char *)"__e_acsl_heap_allocation_size == 7",14);
+  __e_acsl_assert(__e_acsl_heap_allocation_size == 7UL,"Assertion","main",
+                  "__e_acsl_heap_allocation_size == 7",
+                  "tests/memory/memsize.c",14);
   /*@ assert __e_acsl_heap_allocation_size ≡ 7; */ ;
   char *b = malloc((unsigned long)14);
-  __e_acsl_assert(__e_acsl_heap_allocation_size == 21UL,(char *)"Assertion",
-                  (char *)"main",
-                  (char *)"__e_acsl_heap_allocation_size == 21",16);
+  __e_acsl_assert(__e_acsl_heap_allocation_size == 21UL,"Assertion","main",
+                  "__e_acsl_heap_allocation_size == 21",
+                  "tests/memory/memsize.c",16);
   /*@ assert __e_acsl_heap_allocation_size ≡ 21; */ ;
   free((void *)a);
-  __e_acsl_assert(__e_acsl_heap_allocation_size == 14UL,(char *)"Assertion",
-                  (char *)"main",
-                  (char *)"__e_acsl_heap_allocation_size == 14",20);
+  __e_acsl_assert(__e_acsl_heap_allocation_size == 14UL,"Assertion","main",
+                  "__e_acsl_heap_allocation_size == 14",
+                  "tests/memory/memsize.c",20);
   /*@ assert __e_acsl_heap_allocation_size ≡ 14; */ ;
   a = (char *)0;
   free((void *)a);
-  __e_acsl_assert(__e_acsl_heap_allocation_size == 14UL,(char *)"Assertion",
-                  (char *)"main",
-                  (char *)"__e_acsl_heap_allocation_size == 14",25);
+  __e_acsl_assert(__e_acsl_heap_allocation_size == 14UL,"Assertion","main",
+                  "__e_acsl_heap_allocation_size == 14",
+                  "tests/memory/memsize.c",25);
   /*@ assert __e_acsl_heap_allocation_size ≡ 14; */ ;
   b = (char *)realloc((void *)b,(unsigned long)9);
-  __e_acsl_assert(__e_acsl_heap_allocation_size == 9UL,(char *)"Assertion",
-                  (char *)"main",
-                  (char *)"__e_acsl_heap_allocation_size == 9",29);
+  __e_acsl_assert(__e_acsl_heap_allocation_size == 9UL,"Assertion","main",
+                  "__e_acsl_heap_allocation_size == 9",
+                  "tests/memory/memsize.c",29);
   /*@ assert __e_acsl_heap_allocation_size ≡ 9; */ ;
   b = (char *)realloc((void *)b,(unsigned long)18);
-  __e_acsl_assert(__e_acsl_heap_allocation_size == 18UL,(char *)"Assertion",
-                  (char *)"main",
-                  (char *)"__e_acsl_heap_allocation_size == 18",33);
+  __e_acsl_assert(__e_acsl_heap_allocation_size == 18UL,"Assertion","main",
+                  "__e_acsl_heap_allocation_size == 18",
+                  "tests/memory/memsize.c",33);
   /*@ assert __e_acsl_heap_allocation_size ≡ 18; */ ;
   b = (char *)realloc((void *)b,(unsigned long)0);
   b = (char *)0;
-  __e_acsl_assert(__e_acsl_heap_allocation_size == 0UL,(char *)"Assertion",
-                  (char *)"main",
-                  (char *)"__e_acsl_heap_allocation_size == 0",38);
+  __e_acsl_assert(__e_acsl_heap_allocation_size == 0UL,"Assertion","main",
+                  "__e_acsl_heap_allocation_size == 0",
+                  "tests/memory/memsize.c",38);
   /*@ assert __e_acsl_heap_allocation_size ≡ 0; */ ;
   b = (char *)realloc((void *)b,(unsigned long)8);
-  __e_acsl_assert(__e_acsl_heap_allocation_size == 8UL,(char *)"Assertion",
-                  (char *)"main",
-                  (char *)"__e_acsl_heap_allocation_size == 8",42);
+  __e_acsl_assert(__e_acsl_heap_allocation_size == 8UL,"Assertion","main",
+                  "__e_acsl_heap_allocation_size == 8",
+                  "tests/memory/memsize.c",42);
   /*@ assert __e_acsl_heap_allocation_size ≡ 8; */ ;
   b = (char *)realloc((void *)0,(unsigned long)8);
-  __e_acsl_assert(__e_acsl_heap_allocation_size == 16UL,(char *)"Assertion",
-                  (char *)"main",
-                  (char *)"__e_acsl_heap_allocation_size == 16",46);
+  __e_acsl_assert(__e_acsl_heap_allocation_size == 16UL,"Assertion","main",
+                  "__e_acsl_heap_allocation_size == 16",
+                  "tests/memory/memsize.c",46);
   /*@ assert __e_acsl_heap_allocation_size ≡ 16; */ ;
   b = (char *)realloc((void *)0,18446744073709551615UL);
-  __e_acsl_assert(__e_acsl_heap_allocation_size == 16UL,(char *)"Assertion",
-                  (char *)"main",
-                  (char *)"__e_acsl_heap_allocation_size == 16",50);
+  __e_acsl_assert(__e_acsl_heap_allocation_size == 16UL,"Assertion","main",
+                  "__e_acsl_heap_allocation_size == 16",
+                  "tests/memory/memsize.c",50);
   /*@ assert __e_acsl_heap_allocation_size ≡ 16; */ ;
-  __e_acsl_assert(b == (char *)0,(char *)"Assertion",(char *)"main",
-                  (char *)"b == (char *)((void *)0)",51);
+  __e_acsl_assert(b == (char *)0,"Assertion","main",
+                  "b == (char *)((void *)0)","tests/memory/memsize.c",51);
   /*@ assert b ≡ (char *)((void *)0); */ ;
   b = (char *)calloc(18446744073709551615UL,18446744073709551615UL);
-  __e_acsl_assert(__e_acsl_heap_allocation_size == 16UL,(char *)"Assertion",
-                  (char *)"main",
-                  (char *)"__e_acsl_heap_allocation_size == 16",55);
+  __e_acsl_assert(__e_acsl_heap_allocation_size == 16UL,"Assertion","main",
+                  "__e_acsl_heap_allocation_size == 16",
+                  "tests/memory/memsize.c",55);
   /*@ assert __e_acsl_heap_allocation_size ≡ 16; */ ;
-  __e_acsl_assert(b == (char *)0,(char *)"Assertion",(char *)"main",
-                  (char *)"b == (char *)((void *)0)",56);
+  __e_acsl_assert(b == (char *)0,"Assertion","main",
+                  "b == (char *)((void *)0)","tests/memory/memsize.c",56);
   /*@ assert b ≡ (char *)((void *)0); */ ;
   b = (char *)malloc(18446744073709551615UL);
-  __e_acsl_assert(__e_acsl_heap_allocation_size == 16UL,(char *)"Assertion",
-                  (char *)"main",
-                  (char *)"__e_acsl_heap_allocation_size == 16",60);
+  __e_acsl_assert(__e_acsl_heap_allocation_size == 16UL,"Assertion","main",
+                  "__e_acsl_heap_allocation_size == 16",
+                  "tests/memory/memsize.c",60);
   /*@ assert __e_acsl_heap_allocation_size ≡ 16; */ ;
-  __e_acsl_assert(b == (char *)0,(char *)"Assertion",(char *)"main",
-                  (char *)"b == (char *)((void *)0)",61);
+  __e_acsl_assert(b == (char *)0,"Assertion","main",
+                  "b == (char *)((void *)0)","tests/memory/memsize.c",61);
   /*@ assert b ≡ (char *)((void *)0); */ ;
   __retres = 0;
   __e_acsl_memory_clean();
diff --git a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_null.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_null.c
index 5542fda870e7efcdccfc66eeeb718278726a55c6..ba7b47ef1efb3dcf236f93b079d608c747538631 100644
--- a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_null.c
+++ b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_null.c
@@ -5,8 +5,8 @@ int main(void)
 {
   int __retres;
   __e_acsl_memory_init((int *)0,(char ***)0,(size_t)8);
-  __e_acsl_assert((void *)0 == (void *)0,(char *)"Assertion",(char *)"main",
-                  (char *)"\\null == (void *)0",6);
+  __e_acsl_assert((void *)0 == (void *)0,"Assertion","main",
+                  "\\null == (void *)0","tests/memory/null.i",6);
   /*@ assert \null ≡ (void *)0; */ ;
   __retres = 0;
   return __retres;
diff --git a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_offset.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_offset.c
index 2ebc5e41092825f7dd97649256b9f9a8451c7ec1..5c92ba3302262ac4dafabd204b8630980d5cac1b 100644
--- a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_offset.c
+++ b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_offset.c
@@ -25,30 +25,30 @@ int main(void)
   {
     unsigned long __gen_e_acsl_offset;
     __gen_e_acsl_offset = __e_acsl_offset((void *)(A));
-    __e_acsl_assert(__gen_e_acsl_offset == 0UL,(char *)"Assertion",
-                    (char *)"main",(char *)"\\offset((int *)A) == 0",13);
+    __e_acsl_assert(__gen_e_acsl_offset == 0UL,"Assertion","main",
+                    "\\offset((int *)A) == 0","tests/memory/offset.c",13);
   }
   /*@ assert \offset((int *)A) ≡ 0; */ ;
   {
     unsigned long __gen_e_acsl_offset_2;
     __gen_e_acsl_offset_2 = __e_acsl_offset((void *)(& A[3]));
-    __e_acsl_assert(__gen_e_acsl_offset_2 == 12UL,(char *)"Assertion",
-                    (char *)"main",(char *)"\\offset(&A[3]) == 12",14);
+    __e_acsl_assert(__gen_e_acsl_offset_2 == 12UL,"Assertion","main",
+                    "\\offset(&A[3]) == 12","tests/memory/offset.c",14);
   }
   /*@ assert \offset(&A[3]) ≡ 12; */ ;
   {
     unsigned long __gen_e_acsl_offset_3;
     __gen_e_acsl_offset_3 = __e_acsl_offset((void *)PA);
-    __e_acsl_assert(__gen_e_acsl_offset_3 == 0UL,(char *)"Assertion",
-                    (char *)"main",(char *)"\\offset(PA) == 0",15);
+    __e_acsl_assert(__gen_e_acsl_offset_3 == 0UL,"Assertion","main",
+                    "\\offset(PA) == 0","tests/memory/offset.c",15);
   }
   /*@ assert \offset(PA) ≡ 0; */ ;
   PA ++;
   {
     unsigned long __gen_e_acsl_offset_4;
     __gen_e_acsl_offset_4 = __e_acsl_offset((void *)(PA + 1));
-    __e_acsl_assert(__gen_e_acsl_offset_4 == 8UL,(char *)"Assertion",
-                    (char *)"main",(char *)"\\offset(PA + 1) == 8",17);
+    __e_acsl_assert(__gen_e_acsl_offset_4 == 8UL,"Assertion","main",
+                    "\\offset(PA + 1) == 8","tests/memory/offset.c",17);
   }
   /*@ assert \offset(PA + 1) ≡ 8; */ ;
   int a[4] = {1, 2, 3, 4};
@@ -57,22 +57,22 @@ int main(void)
   {
     unsigned long __gen_e_acsl_offset_5;
     __gen_e_acsl_offset_5 = __e_acsl_offset((void *)(a));
-    __e_acsl_assert(__gen_e_acsl_offset_5 == 0UL,(char *)"Assertion",
-                    (char *)"main",(char *)"\\offset((int *)a) == 0",21);
+    __e_acsl_assert(__gen_e_acsl_offset_5 == 0UL,"Assertion","main",
+                    "\\offset((int *)a) == 0","tests/memory/offset.c",21);
   }
   /*@ assert \offset((int *)a) ≡ 0; */ ;
   {
     unsigned long __gen_e_acsl_offset_6;
     __gen_e_acsl_offset_6 = __e_acsl_offset((void *)(& a[1]));
-    __e_acsl_assert(__gen_e_acsl_offset_6 == 4UL,(char *)"Assertion",
-                    (char *)"main",(char *)"\\offset(&a[1]) == 4",22);
+    __e_acsl_assert(__gen_e_acsl_offset_6 == 4UL,"Assertion","main",
+                    "\\offset(&a[1]) == 4","tests/memory/offset.c",22);
   }
   /*@ assert \offset(&a[1]) ≡ 4; */ ;
   {
     unsigned long __gen_e_acsl_offset_7;
     __gen_e_acsl_offset_7 = __e_acsl_offset((void *)(& a[3]));
-    __e_acsl_assert(__gen_e_acsl_offset_7 == 12UL,(char *)"Assertion",
-                    (char *)"main",(char *)"\\offset(&a[3]) == 12",23);
+    __e_acsl_assert(__gen_e_acsl_offset_7 == 12UL,"Assertion","main",
+                    "\\offset(&a[3]) == 12","tests/memory/offset.c",23);
   }
   /*@ assert \offset(&a[3]) ≡ 12; */ ;
   long l = (long)4;
@@ -84,29 +84,29 @@ int main(void)
   {
     unsigned long __gen_e_acsl_offset_8;
     __gen_e_acsl_offset_8 = __e_acsl_offset((void *)(& l));
-    __e_acsl_assert(__gen_e_acsl_offset_8 == 0UL,(char *)"Assertion",
-                    (char *)"main",(char *)"\\offset(&l) == 0",28);
+    __e_acsl_assert(__gen_e_acsl_offset_8 == 0UL,"Assertion","main",
+                    "\\offset(&l) == 0","tests/memory/offset.c",28);
   }
   /*@ assert \offset(&l) ≡ 0; */ ;
   {
     unsigned long __gen_e_acsl_offset_9;
     __gen_e_acsl_offset_9 = __e_acsl_offset((void *)pl);
-    __e_acsl_assert(__gen_e_acsl_offset_9 == 0UL,(char *)"Assertion",
-                    (char *)"main",(char *)"\\offset(pl) == 0",29);
+    __e_acsl_assert(__gen_e_acsl_offset_9 == 0UL,"Assertion","main",
+                    "\\offset(pl) == 0","tests/memory/offset.c",29);
   }
   /*@ assert \offset(pl) ≡ 0; */ ;
   {
     unsigned long __gen_e_acsl_offset_10;
     __gen_e_acsl_offset_10 = __e_acsl_offset((void *)(pl + 1));
-    __e_acsl_assert(__gen_e_acsl_offset_10 == 1UL,(char *)"Assertion",
-                    (char *)"main",(char *)"\\offset(pl + 1) == 1",30);
+    __e_acsl_assert(__gen_e_acsl_offset_10 == 1UL,"Assertion","main",
+                    "\\offset(pl + 1) == 1","tests/memory/offset.c",30);
   }
   /*@ assert \offset(pl + 1) ≡ 1; */ ;
   {
     unsigned long __gen_e_acsl_offset_11;
     __gen_e_acsl_offset_11 = __e_acsl_offset((void *)(pl + 7));
-    __e_acsl_assert(__gen_e_acsl_offset_11 == 7UL,(char *)"Assertion",
-                    (char *)"main",(char *)"\\offset(pl + 7) == 7",31);
+    __e_acsl_assert(__gen_e_acsl_offset_11 == 7UL,"Assertion","main",
+                    "\\offset(pl + 7) == 7","tests/memory/offset.c",31);
   }
   /*@ assert \offset(pl + 7) ≡ 7; */ ;
   int *pi = (int *)(& l);
@@ -115,8 +115,8 @@ int main(void)
   {
     unsigned long __gen_e_acsl_offset_12;
     __gen_e_acsl_offset_12 = __e_acsl_offset((void *)pi);
-    __e_acsl_assert(__gen_e_acsl_offset_12 == 0UL,(char *)"Assertion",
-                    (char *)"main",(char *)"\\offset(pi) == 0",33);
+    __e_acsl_assert(__gen_e_acsl_offset_12 == 0UL,"Assertion","main",
+                    "\\offset(pi) == 0","tests/memory/offset.c",33);
   }
   /*@ assert \offset(pi) ≡ 0; */ ;
   __e_acsl_full_init((void *)(& pi));
@@ -124,8 +124,8 @@ int main(void)
   {
     unsigned long __gen_e_acsl_offset_13;
     __gen_e_acsl_offset_13 = __e_acsl_offset((void *)pi);
-    __e_acsl_assert(__gen_e_acsl_offset_13 == 4UL,(char *)"Assertion",
-                    (char *)"main",(char *)"\\offset(pi) == 4",35);
+    __e_acsl_assert(__gen_e_acsl_offset_13 == 4UL,"Assertion","main",
+                    "\\offset(pi) == 4","tests/memory/offset.c",35);
   }
   /*@ assert \offset(pi) ≡ 4; */ ;
   char *p = malloc((unsigned long)12);
@@ -134,22 +134,22 @@ int main(void)
   {
     unsigned long __gen_e_acsl_offset_14;
     __gen_e_acsl_offset_14 = __e_acsl_offset((void *)p);
-    __e_acsl_assert(__gen_e_acsl_offset_14 == 0UL,(char *)"Assertion",
-                    (char *)"main",(char *)"\\offset(p) == 0",39);
+    __e_acsl_assert(__gen_e_acsl_offset_14 == 0UL,"Assertion","main",
+                    "\\offset(p) == 0","tests/memory/offset.c",39);
   }
   /*@ assert \offset(p) ≡ 0; */ ;
   {
     unsigned long __gen_e_acsl_offset_15;
     __gen_e_acsl_offset_15 = __e_acsl_offset((void *)(p + 1));
-    __e_acsl_assert(__gen_e_acsl_offset_15 == 1UL,(char *)"Assertion",
-                    (char *)"main",(char *)"\\offset(p + 1) == 1",40);
+    __e_acsl_assert(__gen_e_acsl_offset_15 == 1UL,"Assertion","main",
+                    "\\offset(p + 1) == 1","tests/memory/offset.c",40);
   }
   /*@ assert \offset(p + 1) ≡ 1; */ ;
   {
     unsigned long __gen_e_acsl_offset_16;
     __gen_e_acsl_offset_16 = __e_acsl_offset((void *)(p + 11));
-    __e_acsl_assert(__gen_e_acsl_offset_16 == 11UL,(char *)"Assertion",
-                    (char *)"main",(char *)"\\offset(p + 11) == 11",41);
+    __e_acsl_assert(__gen_e_acsl_offset_16 == 11UL,"Assertion","main",
+                    "\\offset(p + 11) == 11","tests/memory/offset.c",41);
   }
   /*@ assert \offset(p + 11) ≡ 11; */ ;
   __e_acsl_full_init((void *)(& p));
@@ -157,15 +157,15 @@ int main(void)
   {
     unsigned long __gen_e_acsl_offset_17;
     __gen_e_acsl_offset_17 = __e_acsl_offset((void *)(p + 5));
-    __e_acsl_assert(__gen_e_acsl_offset_17 == 10UL,(char *)"Assertion",
-                    (char *)"main",(char *)"\\offset(p + 5) == 10",43);
+    __e_acsl_assert(__gen_e_acsl_offset_17 == 10UL,"Assertion","main",
+                    "\\offset(p + 5) == 10","tests/memory/offset.c",43);
   }
   /*@ assert \offset(p + 5) ≡ 10; */ ;
   {
     unsigned long __gen_e_acsl_offset_18;
     __gen_e_acsl_offset_18 = __e_acsl_offset((void *)(p - 5));
-    __e_acsl_assert(__gen_e_acsl_offset_18 == 0UL,(char *)"Assertion",
-                    (char *)"main",(char *)"\\offset(p - 5) == 0",44);
+    __e_acsl_assert(__gen_e_acsl_offset_18 == 0UL,"Assertion","main",
+                    "\\offset(p - 5) == 0","tests/memory/offset.c",44);
   }
   /*@ assert \offset(p - 5) ≡ 0; */ ;
   long *q = malloc((unsigned long)30 * sizeof(long));
@@ -174,8 +174,8 @@ int main(void)
   {
     unsigned long __gen_e_acsl_offset_19;
     __gen_e_acsl_offset_19 = __e_acsl_offset((void *)q);
-    __e_acsl_assert(__gen_e_acsl_offset_19 == 0UL,(char *)"Assertion",
-                    (char *)"main",(char *)"\\offset(q) == 0",49);
+    __e_acsl_assert(__gen_e_acsl_offset_19 == 0UL,"Assertion","main",
+                    "\\offset(q) == 0","tests/memory/offset.c",49);
   }
   /*@ assert \offset(q) ≡ 0; */ ;
   __e_acsl_full_init((void *)(& q));
@@ -183,8 +183,8 @@ int main(void)
   {
     unsigned long __gen_e_acsl_offset_20;
     __gen_e_acsl_offset_20 = __e_acsl_offset((void *)q);
-    __e_acsl_assert(__gen_e_acsl_offset_20 == 8UL,(char *)"Assertion",
-                    (char *)"main",(char *)"\\offset(q) == sizeof(long)",51);
+    __e_acsl_assert(__gen_e_acsl_offset_20 == 8UL,"Assertion","main",
+                    "\\offset(q) == sizeof(long)","tests/memory/offset.c",51);
   }
   /*@ assert \offset(q) ≡ sizeof(long); */ ;
   __e_acsl_full_init((void *)(& q));
@@ -192,9 +192,9 @@ int main(void)
   {
     unsigned long __gen_e_acsl_offset_21;
     __gen_e_acsl_offset_21 = __e_acsl_offset((void *)q);
-    __e_acsl_assert(__gen_e_acsl_offset_21 == 24UL,(char *)"Assertion",
-                    (char *)"main",(char *)"\\offset(q) == sizeof(long) * 3",
-                    53);
+    __e_acsl_assert(__gen_e_acsl_offset_21 == 24UL,"Assertion","main",
+                    "\\offset(q) == sizeof(long) * 3",
+                    "tests/memory/offset.c",53);
   }
   /*@ assert \offset(q) ≡ sizeof(long) * 3; */ ;
   __e_acsl_full_init((void *)(& q));
@@ -202,9 +202,9 @@ int main(void)
   {
     unsigned long __gen_e_acsl_offset_22;
     __gen_e_acsl_offset_22 = __e_acsl_offset((void *)q);
-    __e_acsl_assert(__gen_e_acsl_offset_22 == 56UL,(char *)"Assertion",
-                    (char *)"main",(char *)"\\offset(q) == sizeof(long) * 7",
-                    55);
+    __e_acsl_assert(__gen_e_acsl_offset_22 == 56UL,"Assertion","main",
+                    "\\offset(q) == sizeof(long) * 7",
+                    "tests/memory/offset.c",55);
   }
   /*@ assert \offset(q) ≡ sizeof(long) * 7; */ ;
   __retres = 0;
diff --git a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_other_constants.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_other_constants.c
index ce6278c67c42d032820c7026886532b93f279ee9..1af62be53369d574c402c31fd5c59bb7c192637c 100644
--- a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_other_constants.c
+++ b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_other_constants.c
@@ -9,11 +9,11 @@ int main(void)
 {
   int __retres;
   __e_acsl_memory_init((int *)0,(char ***)0,(size_t)8);
-  __e_acsl_assert(1,(char *)"Assertion",(char *)"main",
-                  (char *)"\'c\' == \'c\'",10);
+  __e_acsl_assert(1,"Assertion","main","\'c\' == \'c\'",
+                  "tests/memory/other_constants.i",10);
   /*@ assert 'c' ≡ 'c'; */ ;
-  __e_acsl_assert(1,(char *)"Assertion",(char *)"main",
-                  (char *)"false != true",11);
+  __e_acsl_assert(1,"Assertion","main","false != true",
+                  "tests/memory/other_constants.i",11);
   /*@ assert false ≢ true; */ ;
   __retres = 0;
   return __retres;
diff --git a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_ptr.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_ptr.c
index 1c2fdfd46f19c98f91144a37d6c252e6cbab1320..dbe02ee97e287e9b51200658e62179c11806c705 100644
--- a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_ptr.c
+++ b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_ptr.c
@@ -26,37 +26,40 @@ int main(void)
       __gen_e_acsl_and = __gen_e_acsl_valid_read;
     }
     else __gen_e_acsl_and = 0;
-    __e_acsl_assert(__gen_e_acsl_and,(char *)"RTE",(char *)"main",
-                    (char *)"mem_access: \\valid_read(p)",11);
-    __e_acsl_assert(*p == 1,(char *)"Assertion",(char *)"main",
-                    (char *)"*p == 1",11);
+    __e_acsl_assert(__gen_e_acsl_and,"RTE","main",
+                    "mem_access: \\valid_read(p)","tests/memory/ptr.i",11);
+    __e_acsl_assert(*p == 1,"Assertion","main","*p == 1",
+                    "tests/memory/ptr.i",11);
   }
   /*@ assert *p ≡ 1; */ ;
-  __e_acsl_assert(t[0] == 2,(char *)"Assertion",(char *)"main",
-                  (char *)"t[0] == 2",12);
+  __e_acsl_assert(t[0] == 2,"Assertion","main","t[0] == 2",
+                  "tests/memory/ptr.i",12);
   /*@ assert t[0] ≡ 2; */ ;
-  __e_acsl_assert(t[2] == 4,(char *)"Assertion",(char *)"main",
-                  (char *)"t[2] == 4",13);
+  __e_acsl_assert(t[2] == 4,"Assertion","main","t[2] == 4",
+                  "tests/memory/ptr.i",13);
   /*@ assert t[2] ≡ 4; */ ;
-  __e_acsl_assert(t[2] == 4,(char *)"Assertion",(char *)"main",
-                  (char *)"t[(2 * sizeof(int)) / sizeof((int)0x0)] == 4",14);
+  __e_acsl_assert(t[2] == 4,"Assertion","main",
+                  "t[(2 * sizeof(int)) / sizeof((int)0x0)] == 4",
+                  "tests/memory/ptr.i",14);
   /*@ assert t[(2 * sizeof(int)) / sizeof((int)0x0)] ≡ 4; */ ;
   {
     int i = 0;
     while (i < 2) {
-      __e_acsl_assert(i < 3,(char *)"RTE",(char *)"main",
-                      (char *)"index_bound: i < 3",17);
-      __e_acsl_assert(0 <= i,(char *)"RTE",(char *)"main",
-                      (char *)"index_bound: 0 <= i",17);
-      __e_acsl_assert((long)t[i] == i + 2L,(char *)"Assertion",
-                      (char *)"main",(char *)"t[i] == i + 2",17);
+      __e_acsl_assert(i < 3,"RTE","main","index_bound: i < 3",
+                      "tests/memory/ptr.i",17);
+      __e_acsl_assert(0 <= i,"RTE","main","index_bound: 0 <= i",
+                      "tests/memory/ptr.i",17);
+      __e_acsl_assert((long)t[i] == i + 2L,"Assertion","main",
+                      "t[i] == i + 2","tests/memory/ptr.i",17);
       /*@ assert t[i] ≡ i + 2; */ ;
-      __e_acsl_assert(2L - i < 3L,(char *)"RTE",(char *)"main",
-                      (char *)"index_bound: (long)(2 - i) < 3",18);
-      __e_acsl_assert(0L <= 2L - i,(char *)"RTE",(char *)"main",
-                      (char *)"index_bound: 0 <= (long)(2 - i)",18);
-      __e_acsl_assert((long)t[2L - i] == 4L - i,(char *)"Assertion",
-                      (char *)"main",(char *)"t[2 - i] == 4 - i",18);
+      __e_acsl_assert(2L - i < 3L,"RTE","main",
+                      "index_bound: (long)(2 - i) < 3","tests/memory/ptr.i",
+                      18);
+      __e_acsl_assert(0L <= 2L - i,"RTE","main",
+                      "index_bound: 0 <= (long)(2 - i)","tests/memory/ptr.i",
+                      18);
+      __e_acsl_assert((long)t[2L - i] == 4L - i,"Assertion","main",
+                      "t[2 - i] == 4 - i","tests/memory/ptr.i",18);
       /*@ assert t[2 - i] ≡ 4 - i; */ ;
       {
         int __gen_e_acsl_valid_read_2;
@@ -64,11 +67,11 @@ int main(void)
                                                         sizeof(int),
                                                         (void *)(& t[2]),
                                                         (void *)0);
-        __e_acsl_assert(__gen_e_acsl_valid_read_2,(char *)"RTE",
-                        (char *)"main",
-                        (char *)"mem_access: \\valid_read(&t[2] - i)",19);
-        __e_acsl_assert((long)*(& t[2] - i) == 4L - i,(char *)"Assertion",
-                        (char *)"main",(char *)"*(&t[2] - i) == 4 - i",19);
+        __e_acsl_assert(__gen_e_acsl_valid_read_2,"RTE","main",
+                        "mem_access: \\valid_read(&t[2] - i)",
+                        "tests/memory/ptr.i",19);
+        __e_acsl_assert((long)*(& t[2] - i) == 4L - i,"Assertion","main",
+                        "*(&t[2] - i) == 4 - i","tests/memory/ptr.i",19);
       }
       /*@ assert *(&t[2] - i) ≡ 4 - i; */ ;
       i ++;
@@ -91,10 +94,10 @@ int main(void)
       __gen_e_acsl_and_2 = __gen_e_acsl_valid_read_3;
     }
     else __gen_e_acsl_and_2 = 0;
-    __e_acsl_assert(__gen_e_acsl_and_2,(char *)"RTE",(char *)"main",
-                    (char *)"mem_access: \\valid_read(p)",25);
-    __e_acsl_assert(*p == 5,(char *)"Assertion",(char *)"main",
-                    (char *)"*p == 5",25);
+    __e_acsl_assert(__gen_e_acsl_and_2,"RTE","main",
+                    "mem_access: \\valid_read(p)","tests/memory/ptr.i",25);
+    __e_acsl_assert(*p == 5,"Assertion","main","*p == 5",
+                    "tests/memory/ptr.i",25);
   }
   /*@ assert *p ≡ 5; */ ;
   int k = -1;
@@ -103,10 +106,11 @@ int main(void)
     __gen_e_acsl_valid_read_4 = __e_acsl_valid_read((void *)(p + k),
                                                     sizeof(int),(void *)p,
                                                     (void *)(& p));
-    __e_acsl_assert(__gen_e_acsl_valid_read_4,(char *)"RTE",(char *)"main",
-                    (char *)"mem_access: \\valid_read(p + k)",27);
-    __e_acsl_assert(*(p + k) == 3,(char *)"Assertion",(char *)"main",
-                    (char *)"*(p + k) == 3",27);
+    __e_acsl_assert(__gen_e_acsl_valid_read_4,"RTE","main",
+                    "mem_access: \\valid_read(p + k)","tests/memory/ptr.i",
+                    27);
+    __e_acsl_assert(*(p + k) == 3,"Assertion","main","*(p + k) == 3",
+                    "tests/memory/ptr.i",27);
   }
   /*@ assert *(p + k) ≡ 3; */ ;
   __retres = 0;
diff --git a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_ptr_init.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_ptr_init.c
index 7ba16b696c6d7051b852a16c8f7c53f79d1b19b9..91f376c34796a2f330bac280083e03fb8e6a9e5b 100644
--- a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_ptr_init.c
+++ b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_ptr_init.c
@@ -12,8 +12,8 @@ void f(void)
 void g(int *C, int *D)
 {
   __e_acsl_store_block((void *)(& C),(size_t)8);
-  __e_acsl_assert(1,(char *)"Assertion",(char *)"g",
-                  (char *)"\\initialized(&C)",16);
+  __e_acsl_assert(1,"Assertion","g","\\initialized(&C)",
+                  "tests/memory/ptr_init.c",16);
   /*@ assert \initialized(&C); */ ;
   __e_acsl_delete_block((void *)(& C));
   return;
@@ -47,15 +47,15 @@ int main(void)
   __e_acsl_full_init((void *)(& x));
   x = y;
   f();
-  __e_acsl_assert(1,(char *)"Assertion",(char *)"main",
-                  (char *)"\\initialized(&A)",25);
+  __e_acsl_assert(1,"Assertion","main","\\initialized(&A)",
+                  "tests/memory/ptr_init.c",25);
   /*@ assert \initialized(&A); */ ;
   {
     int __gen_e_acsl_initialized;
     __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& x),
                                                     sizeof(int *));
-    __e_acsl_assert(__gen_e_acsl_initialized,(char *)"Assertion",
-                    (char *)"main",(char *)"\\initialized(&x)",26);
+    __e_acsl_assert(__gen_e_acsl_initialized,"Assertion","main",
+                    "\\initialized(&x)","tests/memory/ptr_init.c",26);
   }
   /*@ assert \initialized(&x); */ ;
   g(x,y);
diff --git a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_ranges_in_builtins.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_ranges_in_builtins.c
index ec4b5e57cf5599199540014d963fc082bfe27c13..8e3439c83775f0bd853817078ee8f08865b6cf39 100644
--- a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_ranges_in_builtins.c
+++ b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_ranges_in_builtins.c
@@ -51,8 +51,9 @@ int main(void)
     int __gen_e_acsl_valid;
     __gen_e_acsl_valid = __e_acsl_valid((void *)((char *)a + 4 * 0),
                                         (size_t)16,(void *)a,(void *)(& a));
-    __e_acsl_assert(__gen_e_acsl_valid,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(a + (0 .. 4))",19);
+    __e_acsl_assert(__gen_e_acsl_valid,"Assertion","main",
+                    "\\valid(a + (0 .. 4))",
+                    "tests/memory/ranges_in_builtins.c",19);
   }
   /*@ assert \valid(a + (0 .. 4)); */ ;
   int j = 2;
@@ -61,16 +62,18 @@ int main(void)
     __gen_e_acsl_valid_2 = __e_acsl_valid((void *)((char *)a + 4 * 4),
                                           (size_t)(4L * ((8L + j) - 4L)),
                                           (void *)a,(void *)(& a));
-    __e_acsl_assert(__gen_e_acsl_valid_2,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(a + (4 .. 8 + j))",21);
+    __e_acsl_assert(__gen_e_acsl_valid_2,"Assertion","main",
+                    "\\valid(a + (4 .. 8 + j))",
+                    "tests/memory/ranges_in_builtins.c",21);
   }
   /*@ assert \valid(a + (4 .. 8 + j)); */ ;
   {
     int __gen_e_acsl_valid_3;
     __gen_e_acsl_valid_3 = __e_acsl_valid((void *)((char *)a + 4 * 10),
                                           (size_t)4,(void *)a,(void *)(& a));
-    __e_acsl_assert(! __gen_e_acsl_valid_3,(char *)"Assertion",
-                    (char *)"main",(char *)"!\\valid(a + (10 .. 11))",22);
+    __e_acsl_assert(! __gen_e_acsl_valid_3,"Assertion","main",
+                    "!\\valid(a + (10 .. 11))",
+                    "tests/memory/ranges_in_builtins.c",22);
   }
   /*@ assert ¬\valid(a + (10 .. 11)); */ ;
   free((void *)a);
@@ -80,16 +83,18 @@ int main(void)
     int __gen_e_acsl_valid_4;
     __gen_e_acsl_valid_4 = __e_acsl_valid((void *)(b + 1 * 0),(size_t)10,
                                           (void *)b,(void *)(& b));
-    __e_acsl_assert(__gen_e_acsl_valid_4,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(b + (0 .. 10))",27);
+    __e_acsl_assert(__gen_e_acsl_valid_4,"Assertion","main",
+                    "\\valid(b + (0 .. 10))",
+                    "tests/memory/ranges_in_builtins.c",27);
   }
   /*@ assert \valid(b + (0 .. 10)); */ ;
   {
     int __gen_e_acsl_valid_5;
     __gen_e_acsl_valid_5 = __e_acsl_valid((void *)(b + 1 * 11),(size_t)4,
                                           (void *)b,(void *)(& b));
-    __e_acsl_assert(! __gen_e_acsl_valid_5,(char *)"Assertion",
-                    (char *)"main",(char *)"!\\valid(b + (11 .. 15))",28);
+    __e_acsl_assert(! __gen_e_acsl_valid_5,"Assertion","main",
+                    "!\\valid(b + (11 .. 15))",
+                    "tests/memory/ranges_in_builtins.c",28);
   }
   /*@ assert ¬\valid(b + (11 .. 15)); */ ;
   long t[3] = {7l, 8l, 9l};
@@ -99,16 +104,18 @@ int main(void)
     int __gen_e_acsl_valid_6;
     __gen_e_acsl_valid_6 = __e_acsl_valid((void *)((char *)(& t) + 8 * 0),
                                           (size_t)16,(void *)(& t),(void *)0);
-    __e_acsl_assert(__gen_e_acsl_valid_6,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(&t[0 .. 2])",31);
+    __e_acsl_assert(__gen_e_acsl_valid_6,"Assertion","main",
+                    "\\valid(&t[0 .. 2])",
+                    "tests/memory/ranges_in_builtins.c",31);
   }
   /*@ assert \valid(&t[0 .. 2]); */ ;
   {
     int __gen_e_acsl_valid_7;
     __gen_e_acsl_valid_7 = __e_acsl_valid((void *)((char *)(& t) + 8 * 3),
                                           (size_t)16,(void *)(& t),(void *)0);
-    __e_acsl_assert(! __gen_e_acsl_valid_7,(char *)"Assertion",
-                    (char *)"main",(char *)"!\\valid(&t[3 .. 5])",32);
+    __e_acsl_assert(! __gen_e_acsl_valid_7,"Assertion","main",
+                    "!\\valid(&t[3 .. 5])",
+                    "tests/memory/ranges_in_builtins.c",32);
   }
   /*@ assert ¬\valid(&t[3 .. 5]); */ ;
   __gen_e_acsl_g(t,(unsigned long)3);
@@ -121,8 +128,9 @@ int main(void)
     __gen_e_acsl_initialized = __e_acsl_initialized((void *)((char *)(& t2) + 
                                                              8 * 0),
                                                     (size_t)8);
-    __e_acsl_assert(__gen_e_acsl_initialized,(char *)"Assertion",
-                    (char *)"main",(char *)"\\initialized(&t2[0 .. 1])",38);
+    __e_acsl_assert(__gen_e_acsl_initialized,"Assertion","main",
+                    "\\initialized(&t2[0 .. 1])",
+                    "tests/memory/ranges_in_builtins.c",38);
   }
   /*@ assert \initialized(&t2[0 .. 1]); */ ;
   {
@@ -130,17 +138,18 @@ int main(void)
     __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)((char *)(& t2) + 
                                                                8 * 2),
                                                       (size_t)8);
-    __e_acsl_assert(! __gen_e_acsl_initialized_2,(char *)"Assertion",
-                    (char *)"main",(char *)"!\\initialized(&t2[2 .. 3])",39);
+    __e_acsl_assert(! __gen_e_acsl_initialized_2,"Assertion","main",
+                    "!\\initialized(&t2[2 .. 3])",
+                    "tests/memory/ranges_in_builtins.c",39);
   }
   /*@ assert ¬\initialized(&t2[2 .. 3]); */ ;
   {
     int __gen_e_acsl_initialized_3;
     __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(b + 1 * 0),
                                                       (size_t)10);
-    __e_acsl_assert(! __gen_e_acsl_initialized_3,(char *)"Assertion",
-                    (char *)"main",(char *)"!\\initialized(b + (0 .. 10))",
-                    41);
+    __e_acsl_assert(! __gen_e_acsl_initialized_3,"Assertion","main",
+                    "!\\initialized(b + (0 .. 10))",
+                    "tests/memory/ranges_in_builtins.c",41);
   }
   /*@ assert ¬\initialized(b + (0 .. 10)); */ ;
   free((void *)b);
@@ -181,9 +190,9 @@ int main(void)
       __gen_e_acsl_range_2 ++;
     }
     e_acsl_end_loop2: ;
-    __e_acsl_assert(! __gen_e_acsl_forall,(char *)"Assertion",(char *)"main",
-                    (char *)"!\\initialized(&t3[n - 1 .. n + 2][1][0 .. 1])",
-                    46);
+    __e_acsl_assert(! __gen_e_acsl_forall,"Assertion","main",
+                    "!\\initialized(&t3[n - 1 .. n + 2][1][0 .. 1])",
+                    "tests/memory/ranges_in_builtins.c",46);
   }
   /*@ assert ¬\initialized(&t3[n - 1 .. n + 2][1][0 .. 1]); */ ;
   {
@@ -192,9 +201,9 @@ int main(void)
                                                            4 * 2),(size_t)32,
                                                   (void *)(& t3[6][1][0]),
                                                   (void *)0);
-    __e_acsl_assert(! __gen_e_acsl_valid_read,(char *)"Assertion",
-                    (char *)"main",
-                    (char *)"!\\valid_read(&t3[6][1][0] + (2 .. 10))",48);
+    __e_acsl_assert(! __gen_e_acsl_valid_read,"Assertion","main",
+                    "!\\valid_read(&t3[6][1][0] + (2 .. 10))",
+                    "tests/memory/ranges_in_builtins.c",48);
   }
   /*@ assert ¬\valid_read(&t3[6][1][0] + (2 .. 10)); */ ;
   {
@@ -219,8 +228,9 @@ int main(void)
       __gen_e_acsl_range_3 ++;
     }
     e_acsl_end_loop3: ;
-    __e_acsl_assert(__gen_e_acsl_forall_3,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid_read(&t3[n - 1 .. n + 2][1])",49);
+    __e_acsl_assert(__gen_e_acsl_forall_3,"Assertion","main",
+                    "\\valid_read(&t3[n - 1 .. n + 2][1])",
+                    "tests/memory/ranges_in_builtins.c",49);
   }
   /*@ assert \valid_read(&t3[n - 1 .. n + 2][1]); */ ;
   __e_acsl_initialize((void *)(& s.a[0]),sizeof(int));
@@ -232,9 +242,9 @@ int main(void)
     __gen_e_acsl_initialized_5 = __e_acsl_initialized((void *)((char *)(& s.a[0]) + 
                                                                4 * 1),
                                                       (size_t)4);
-    __e_acsl_assert(__gen_e_acsl_initialized_5,(char *)"Assertion",
-                    (char *)"main",
-                    (char *)"\\initialized(&s.a[0] + (1 .. 2))",53);
+    __e_acsl_assert(__gen_e_acsl_initialized_5,"Assertion","main",
+                    "\\initialized(&s.a[0] + (1 .. 2))",
+                    "tests/memory/ranges_in_builtins.c",53);
   }
   /*@ assert \initialized(&s.a[0] + (1 .. 2)); */ ;
   {
@@ -242,9 +252,9 @@ int main(void)
     __gen_e_acsl_initialized_6 = __e_acsl_initialized((void *)((char *)s.b + 
                                                                4 * 0),
                                                       (size_t)4);
-    __e_acsl_assert(! __gen_e_acsl_initialized_6,(char *)"Assertion",
-                    (char *)"main",(char *)"!\\initialized(s.b + (0 .. 1))",
-                    54);
+    __e_acsl_assert(! __gen_e_acsl_initialized_6,"Assertion","main",
+                    "!\\initialized(s.b + (0 .. 1))",
+                    "tests/memory/ranges_in_builtins.c",54);
   }
   /*@ assert ¬\initialized(s.b + (0 .. 1)); */ ;
   int size1 = 5;
@@ -265,14 +275,16 @@ int main(void)
                                                     sizeof(int *),
                                                     (void *)multi_dynamic,
                                                     (void *)(& multi_dynamic));
-    __e_acsl_assert(__gen_e_acsl_valid_read_3,(char *)"RTE",(char *)"main",
-                    (char *)"mem_access: \\valid_read(multi_dynamic + 4)",63);
+    __e_acsl_assert(__gen_e_acsl_valid_read_3,"RTE","main",
+                    "mem_access: \\valid_read(multi_dynamic + 4)",
+                    "tests/memory/ranges_in_builtins.c",63);
     __gen_e_acsl_valid_8 = __e_acsl_valid((void *)((char *)*(multi_dynamic + 4) + 
                                                    4 * 1),(size_t)24,
                                           (void *)*(multi_dynamic + 4),
                                           (void *)(multi_dynamic + 4));
-    __e_acsl_assert(__gen_e_acsl_valid_8,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(*(multi_dynamic + 4) + (1 .. 7))",63);
+    __e_acsl_assert(__gen_e_acsl_valid_8,"Assertion","main",
+                    "\\valid(*(multi_dynamic + 4) + (1 .. 7))",
+                    "tests/memory/ranges_in_builtins.c",63);
   }
   /*@ assert \valid(*(multi_dynamic + 4) + (1 .. 7)); */ ;
   /*@ assert \valid(*(multi_dynamic + (2 .. 4)) + (1 .. 7)); */ ;
@@ -377,14 +389,16 @@ void __gen_e_acsl_g(long *ptr, size_t size)
       __gmpz_clear(__gen_e_acsl__5);
     }
     else __gen_e_acsl_and = 0;
-    __e_acsl_assert(__gen_e_acsl_and,(char *)"RTE",(char *)"g",
-                    (char *)"\\valid(ptr + (0 .. size - 1))",7);
+    __e_acsl_assert(__gen_e_acsl_and,"RTE","g",
+                    "\\valid(ptr + (0 .. size - 1))",
+                    "tests/memory/ranges_in_builtins.c",7);
     __gen_e_acsl_size_3 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_mul));
     __gen_e_acsl_valid = __e_acsl_valid((void *)((char *)ptr + 8 * 0),
                                         __gen_e_acsl_size_3,(void *)ptr,
                                         (void *)(& ptr));
-    __e_acsl_assert(__gen_e_acsl_valid,(char *)"Precondition",(char *)"g",
-                    (char *)"\\valid(ptr + (0 .. size - 1))",7);
+    __e_acsl_assert(__gen_e_acsl_valid,"Precondition","g",
+                    "\\valid(ptr + (0 .. size - 1))",
+                    "tests/memory/ranges_in_builtins.c",7);
     __gmpz_clear(__gen_e_acsl_);
     __gmpz_clear(__gen_e_acsl_sizeof);
     __gmpz_clear(__gen_e_acsl_size);
@@ -481,18 +495,18 @@ void __gen_e_acsl_g(long *ptr, size_t size)
       __gmpz_clear(__gen_e_acsl__10);
     }
     else __gen_e_acsl_and_2 = 0;
-    __e_acsl_assert(__gen_e_acsl_and_2,(char *)"RTE",(char *)"g",
-                    (char *)"\\valid(\\old(ptr) + (0 .. \\old(size) + 1))",8);
+    __e_acsl_assert(__gen_e_acsl_and_2,"RTE","g",
+                    "\\valid(\\old(ptr) + (0 .. \\old(size) + 1))",
+                    "tests/memory/ranges_in_builtins.c",8);
     __gen_e_acsl_size_7 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_mul_3));
     __gen_e_acsl_valid_2 = __e_acsl_valid((void *)((char *)__gen_e_acsl_at + 
                                                    8 * 0),
                                           __gen_e_acsl_size_7,
                                           (void *)__gen_e_acsl_at,
                                           (void *)(& __gen_e_acsl_at));
-    __e_acsl_assert(! __gen_e_acsl_valid_2,(char *)"Postcondition",
-                    (char *)"g",
-                    (char *)"!\\valid(\\old(ptr) + (0 .. \\old(size) + 1))",
-                    8);
+    __e_acsl_assert(! __gen_e_acsl_valid_2,"Postcondition","g",
+                    "!\\valid(\\old(ptr) + (0 .. \\old(size) + 1))",
+                    "tests/memory/ranges_in_builtins.c",8);
     __e_acsl_delete_block((void *)(& ptr));
     __gmpz_clear(__gen_e_acsl__6);
     __gmpz_clear(__gen_e_acsl_sizeof_3);
@@ -581,14 +595,16 @@ void __gen_e_acsl_f(char *s, long n)
       __gmpz_clear(__gen_e_acsl__6);
     }
     else __gen_e_acsl_and = 0;
-    __e_acsl_assert(__gen_e_acsl_and,(char *)"RTE",(char *)"f",
-                    (char *)"\\valid(s + (3 .. n + 1000))",5);
+    __e_acsl_assert(__gen_e_acsl_and,"RTE","f",
+                    "\\valid(s + (3 .. n + 1000))",
+                    "tests/memory/ranges_in_builtins.c",5);
     __gen_e_acsl_size = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_mul));
     __gen_e_acsl_valid = __e_acsl_valid((void *)(s + 1 * 3),
                                         __gen_e_acsl_size,(void *)s,
                                         (void *)(& s));
-    __e_acsl_assert(! __gen_e_acsl_valid,(char *)"Precondition",(char *)"f",
-                    (char *)"!\\valid(s + (3 .. n + 1000))",5);
+    __e_acsl_assert(! __gen_e_acsl_valid,"Precondition","f",
+                    "!\\valid(s + (3 .. n + 1000))",
+                    "tests/memory/ranges_in_builtins.c",5);
     __gmpz_clear(__gen_e_acsl_);
     __gmpz_clear(__gen_e_acsl_sizeof);
     __gmpz_clear(__gen_e_acsl_n);
diff --git a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_sizeof.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_sizeof.c
index 6ef4ab81db9a6bb9d37a4693d5ba97964ed843f5..0439ae760d247323b99500285a5e4fa68a30ba09 100644
--- a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_sizeof.c
+++ b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_sizeof.c
@@ -7,8 +7,8 @@ int main(void)
   __e_acsl_memory_init((int *)0,(char ***)0,(size_t)8);
   int x = 0;
   x ++;
-  __e_acsl_assert(1,(char *)"Assertion",(char *)"main",
-                  (char *)"sizeof(int) == sizeof(x)",8);
+  __e_acsl_assert(1,"Assertion","main","sizeof(int) == sizeof(x)",
+                  "tests/memory/sizeof.i",8);
   /*@ assert sizeof(int) ≡ sizeof(x); */ ;
   __retres = 0;
   return __retres;
diff --git a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_stdout.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_stdout.c
index 73f713ae1831054adeb0ca4017c17c78dca1c962..f9b0f156e87318aee8dedbc78a7ba7938e883a35 100644
--- a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_stdout.c
+++ b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_stdout.c
@@ -25,24 +25,24 @@ int main(void)
     int __gen_e_acsl_valid;
     __gen_e_acsl_valid = __e_acsl_valid((void *)stderr,sizeof(FILE),
                                         (void *)stderr,(void *)(& stderr));
-    __e_acsl_assert(__gen_e_acsl_valid,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(__fc_stderr)",8);
+    __e_acsl_assert(__gen_e_acsl_valid,"Assertion","main",
+                    "\\valid(__fc_stderr)","tests/memory/stdout.c",8);
   }
   /*@ assert \valid(__fc_stderr); */ ;
   {
     int __gen_e_acsl_valid_2;
     __gen_e_acsl_valid_2 = __e_acsl_valid((void *)stdin,sizeof(FILE),
                                           (void *)stdin,(void *)(& stdin));
-    __e_acsl_assert(__gen_e_acsl_valid_2,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(__fc_stdin)",9);
+    __e_acsl_assert(__gen_e_acsl_valid_2,"Assertion","main",
+                    "\\valid(__fc_stdin)","tests/memory/stdout.c",9);
   }
   /*@ assert \valid(__fc_stdin); */ ;
   {
     int __gen_e_acsl_valid_3;
     __gen_e_acsl_valid_3 = __e_acsl_valid((void *)stdout,sizeof(FILE),
                                           (void *)stdout,(void *)(& stdout));
-    __e_acsl_assert(__gen_e_acsl_valid_3,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(__fc_stdout)",10);
+    __e_acsl_assert(__gen_e_acsl_valid_3,"Assertion","main",
+                    "\\valid(__fc_stdout)","tests/memory/stdout.c",10);
   }
   /*@ assert \valid(__fc_stdout); */ ;
   __retres = 0;
diff --git a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_valid.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_valid.c
index c2afe91d27f12a59b22311aa13fcdb352a56835e..70735ca3898ab082aed8f735f4d730a7589ad0fc 100644
--- a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_valid.c
+++ b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_valid.c
@@ -26,8 +26,8 @@ int *f(int *x)
       __gen_e_acsl_and = __gen_e_acsl_valid;
     }
     else __gen_e_acsl_and = 0;
-    __e_acsl_assert(! __gen_e_acsl_and,(char *)"Assertion",(char *)"f",
-                    (char *)"!\\valid(y)",13);
+    __e_acsl_assert(! __gen_e_acsl_and,"Assertion","f","!\\valid(y)",
+                    "tests/memory/valid.c",13);
   }
   /*@ assert ¬\valid(y); */ ;
   __e_acsl_full_init((void *)(& y));
@@ -36,8 +36,8 @@ int *f(int *x)
     int __gen_e_acsl_valid_2;
     __gen_e_acsl_valid_2 = __e_acsl_valid((void *)x,sizeof(int),(void *)x,
                                           (void *)(& x));
-    __e_acsl_assert(__gen_e_acsl_valid_2,(char *)"Assertion",(char *)"f",
-                    (char *)"\\valid(x)",15);
+    __e_acsl_assert(__gen_e_acsl_valid_2,"Assertion","f","\\valid(x)",
+                    "tests/memory/valid.c",15);
   }
   /*@ assert \valid(x); */ ;
   __e_acsl_delete_block((void *)(& x));
@@ -78,15 +78,16 @@ void g(void)
         __gen_e_acsl_and = __gen_e_acsl_valid_read;
       }
       else __gen_e_acsl_and = 0;
-      __e_acsl_assert(__gen_e_acsl_and,(char *)"RTE",(char *)"g",
-                      (char *)"mem_access: \\valid_read(p)",24);
+      __e_acsl_assert(__gen_e_acsl_and,"RTE","g",
+                      "mem_access: \\valid_read(p)","tests/memory/valid.c",
+                      24);
       __gen_e_acsl_valid = __e_acsl_valid((void *)*p,sizeof(int),(void *)*p,
                                           (void *)p);
       __gen_e_acsl_and_2 = __gen_e_acsl_valid;
     }
     else __gen_e_acsl_and_2 = 0;
-    __e_acsl_assert(__gen_e_acsl_and_2,(char *)"Assertion",(char *)"g",
-                    (char *)"\\valid(*p)",24);
+    __e_acsl_assert(__gen_e_acsl_and_2,"Assertion","g","\\valid(*p)",
+                    "tests/memory/valid.c",24);
   }
   /*@ assert \valid(*p); */ ;
   __e_acsl_delete_block((void *)(& p));
@@ -106,8 +107,8 @@ int *__gen_e_acsl_f(int *x)
     __e_acsl_store_block((void *)(& x),(size_t)8);
     __gen_e_acsl_valid = __e_acsl_valid((void *)x,sizeof(int),(void *)x,
                                         (void *)(& x));
-    __e_acsl_assert(__gen_e_acsl_valid,(char *)"Precondition",(char *)"f",
-                    (char *)"\\valid(x)",9);
+    __e_acsl_assert(__gen_e_acsl_valid,"Precondition","f","\\valid(x)",
+                    "tests/memory/valid.c",9);
   }
   __retres = f(x);
   {
@@ -115,8 +116,8 @@ int *__gen_e_acsl_f(int *x)
     __gen_e_acsl_valid_2 = __e_acsl_valid((void *)__retres,sizeof(int),
                                           (void *)__retres,
                                           (void *)(& __retres));
-    __e_acsl_assert(__gen_e_acsl_valid_2,(char *)"Postcondition",(char *)"f",
-                    (char *)"\\valid(\\result)",10);
+    __e_acsl_assert(__gen_e_acsl_valid_2,"Postcondition","f",
+                    "\\valid(\\result)","tests/memory/valid.c",10);
     __e_acsl_delete_block((void *)(& x));
     __e_acsl_delete_block((void *)(& __retres));
     return __retres;
@@ -188,8 +189,9 @@ int main(void)
       __gen_e_acsl_and_4 = ! __gen_e_acsl_valid_3;
     }
     else __gen_e_acsl_and_4 = 0;
-    __e_acsl_assert(__gen_e_acsl_and_4,(char *)"Assertion",(char *)"main",
-                    (char *)"!\\valid(a) && !\\valid(b) && !\\valid(X)",29);
+    __e_acsl_assert(__gen_e_acsl_and_4,"Assertion","main",
+                    "!\\valid(a) && !\\valid(b) && !\\valid(X)",
+                    "tests/memory/valid.c",29);
   }
   /*@ assert ¬\valid(a) ∧ ¬\valid(b) ∧ ¬\valid(X); */ ;
   __e_acsl_full_init((void *)(& a));
@@ -230,8 +232,9 @@ int main(void)
       __gen_e_acsl_and_8 = ! __gen_e_acsl_valid_6;
     }
     else __gen_e_acsl_and_8 = 0;
-    __e_acsl_assert(__gen_e_acsl_and_8,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(a) && !\\valid(b) && !\\valid(X)",31);
+    __e_acsl_assert(__gen_e_acsl_and_8,"Assertion","main",
+                    "\\valid(a) && !\\valid(b) && !\\valid(X)",
+                    "tests/memory/valid.c",31);
   }
   /*@ assert \valid(a) ∧ ¬\valid(b) ∧ ¬\valid(X); */ ;
   X = a;
@@ -271,8 +274,9 @@ int main(void)
       __gen_e_acsl_and_12 = __gen_e_acsl_valid_9;
     }
     else __gen_e_acsl_and_12 = 0;
-    __e_acsl_assert(__gen_e_acsl_and_12,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(a) && !\\valid(b) && \\valid(X)",33);
+    __e_acsl_assert(__gen_e_acsl_and_12,"Assertion","main",
+                    "\\valid(a) && !\\valid(b) && \\valid(X)",
+                    "tests/memory/valid.c",33);
   }
   /*@ assert \valid(a) ∧ ¬\valid(b) ∧ \valid(X); */ ;
   __e_acsl_full_init((void *)(& b));
@@ -313,8 +317,9 @@ int main(void)
       __gen_e_acsl_and_16 = __gen_e_acsl_valid_12;
     }
     else __gen_e_acsl_and_16 = 0;
-    __e_acsl_assert(__gen_e_acsl_and_16,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(a) && \\valid(b) && \\valid(X)",35);
+    __e_acsl_assert(__gen_e_acsl_and_16,"Assertion","main",
+                    "\\valid(a) && \\valid(b) && \\valid(X)",
+                    "tests/memory/valid.c",35);
   }
   /*@ assert \valid(a) ∧ \valid(b) ∧ \valid(X); */ ;
   X = b;
@@ -354,8 +359,9 @@ int main(void)
       __gen_e_acsl_and_20 = __gen_e_acsl_valid_15;
     }
     else __gen_e_acsl_and_20 = 0;
-    __e_acsl_assert(__gen_e_acsl_and_20,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(a) && \\valid(b) && \\valid(X)",37);
+    __e_acsl_assert(__gen_e_acsl_and_20,"Assertion","main",
+                    "\\valid(a) && \\valid(b) && \\valid(X)",
+                    "tests/memory/valid.c",37);
   }
   /*@ assert \valid(a) ∧ \valid(b) ∧ \valid(X); */ ;
   __e_acsl_full_init((void *)(& c));
@@ -382,15 +388,16 @@ int main(void)
         __gen_e_acsl_and_21 = __gen_e_acsl_valid_read;
       }
       else __gen_e_acsl_and_21 = 0;
-      __e_acsl_assert(__gen_e_acsl_and_21,(char *)"RTE",(char *)"main",
-                      (char *)"mem_access: \\valid_read(c)",40);
+      __e_acsl_assert(__gen_e_acsl_and_21,"RTE","main",
+                      "mem_access: \\valid_read(c)","tests/memory/valid.c",
+                      40);
       __gen_e_acsl_valid_16 = __e_acsl_valid((void *)*c,sizeof(int),
                                              (void *)*c,(void *)c);
       __gen_e_acsl_and_22 = __gen_e_acsl_valid_16;
     }
     else __gen_e_acsl_and_22 = 0;
-    __e_acsl_assert(__gen_e_acsl_and_22,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(*c)",40);
+    __e_acsl_assert(__gen_e_acsl_and_22,"Assertion","main","\\valid(*c)",
+                    "tests/memory/valid.c",40);
   }
   /*@ assert \valid(*c); */ ;
   {
@@ -399,8 +406,8 @@ int main(void)
     int __gen_e_acsl_and_26;
     __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)d,sizeof(int **),
                                                     (void *)d,(void *)(& d));
-    __e_acsl_assert(__gen_e_acsl_valid_read_2,(char *)"RTE",(char *)"main",
-                    (char *)"mem_access: \\valid_read(d)",41);
+    __e_acsl_assert(__gen_e_acsl_valid_read_2,"RTE","main",
+                    "mem_access: \\valid_read(d)","tests/memory/valid.c",41);
     __gen_e_acsl_initialized_13 = __e_acsl_initialized((void *)*d,
                                                        sizeof(int *));
     if (__gen_e_acsl_initialized_13) {
@@ -426,16 +433,18 @@ int main(void)
           __gen_e_acsl_and_23 = __gen_e_acsl_valid_read_3;
         }
         else __gen_e_acsl_and_23 = 0;
-        __e_acsl_assert(__gen_e_acsl_and_23,(char *)"RTE",(char *)"main",
-                        (char *)"mem_access: \\valid_read(d)",41);
+        __e_acsl_assert(__gen_e_acsl_and_23,"RTE","main",
+                        "mem_access: \\valid_read(d)","tests/memory/valid.c",
+                        41);
         __gen_e_acsl_valid_read_4 = __e_acsl_valid_read((void *)*d,
                                                         sizeof(int *),
                                                         (void *)*d,(void *)d);
         __gen_e_acsl_and_24 = __gen_e_acsl_valid_read_4;
       }
       else __gen_e_acsl_and_24 = 0;
-      __e_acsl_assert(__gen_e_acsl_and_24,(char *)"RTE",(char *)"main",
-                      (char *)"mem_access: \\valid_read(*d)",41);
+      __e_acsl_assert(__gen_e_acsl_and_24,"RTE","main",
+                      "mem_access: \\valid_read(*d)","tests/memory/valid.c",
+                      41);
       __gen_e_acsl_initialized_16 = __e_acsl_initialized((void *)(& d),
                                                          sizeof(int ***));
       if (__gen_e_acsl_initialized_16) {
@@ -447,15 +456,16 @@ int main(void)
         __gen_e_acsl_and_25 = __gen_e_acsl_valid_read_5;
       }
       else __gen_e_acsl_and_25 = 0;
-      __e_acsl_assert(__gen_e_acsl_and_25,(char *)"RTE",(char *)"main",
-                      (char *)"mem_access: \\valid_read(d)",41);
+      __e_acsl_assert(__gen_e_acsl_and_25,"RTE","main",
+                      "mem_access: \\valid_read(d)","tests/memory/valid.c",
+                      41);
       __gen_e_acsl_valid_17 = __e_acsl_valid((void *)*(*d),sizeof(int),
                                              (void *)*(*d),(void *)*d);
       __gen_e_acsl_and_26 = __gen_e_acsl_valid_17;
     }
     else __gen_e_acsl_and_26 = 0;
-    __e_acsl_assert(__gen_e_acsl_and_26,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(*(*d))",41);
+    __e_acsl_assert(__gen_e_acsl_and_26,"Assertion","main","\\valid(*(*d))",
+                    "tests/memory/valid.c",41);
   }
   /*@ assert \valid(*(*d)); */ ;
   free((void *)a);
@@ -496,16 +506,17 @@ int main(void)
       __gen_e_acsl_and_30 = __gen_e_acsl_valid_20;
     }
     else __gen_e_acsl_and_30 = 0;
-    __e_acsl_assert(__gen_e_acsl_and_30,(char *)"Assertion",(char *)"main",
-                    (char *)"!\\valid(a) && \\valid(b) && \\valid(X)",43);
+    __e_acsl_assert(__gen_e_acsl_and_30,"Assertion","main",
+                    "!\\valid(a) && \\valid(b) && \\valid(X)",
+                    "tests/memory/valid.c",43);
   }
   /*@ assert ¬\valid(a) ∧ \valid(b) ∧ \valid(X); */ ;
   {
     int __gen_e_acsl_valid_21;
     __gen_e_acsl_valid_21 = __e_acsl_valid((void *)(& Z),sizeof(int),
                                            (void *)(& Z),(void *)0);
-    __e_acsl_assert(__gen_e_acsl_valid_21,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(&Z)",44);
+    __e_acsl_assert(__gen_e_acsl_valid_21,"Assertion","main","\\valid(&Z)",
+                    "tests/memory/valid.c",44);
   }
   /*@ assert \valid(&Z); */ ;
   g();
diff --git a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_valid_alias.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_valid_alias.c
index 1336908ae4f5d070c5eac22b815e094918c1a3fb..c89b0e938c99a2943e4996d7c1664500b5b00a82 100644
--- a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_valid_alias.c
+++ b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_valid_alias.c
@@ -38,8 +38,9 @@ int main(void)
       __gen_e_acsl_and_3 = ! __gen_e_acsl_and_2;
     }
     else __gen_e_acsl_and_3 = 0;
-    __e_acsl_assert(__gen_e_acsl_and_3,(char *)"Assertion",(char *)"main",
-                    (char *)"!\\valid(a) && !\\valid(b)",9);
+    __e_acsl_assert(__gen_e_acsl_and_3,"Assertion","main",
+                    "!\\valid(a) && !\\valid(b)",
+                    "tests/memory/valid_alias.c",9);
   }
   /*@ assert ¬\valid(a) ∧ ¬\valid(b); */ ;
   __e_acsl_full_init((void *)(& a));
@@ -76,8 +77,9 @@ int main(void)
       __gen_e_acsl_and_6 = __gen_e_acsl_and_5;
     }
     else __gen_e_acsl_and_6 = 0;
-    __e_acsl_assert(__gen_e_acsl_and_6,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(a) && \\valid(b)",13);
+    __e_acsl_assert(__gen_e_acsl_and_6,"Assertion","main",
+                    "\\valid(a) && \\valid(b)","tests/memory/valid_alias.c",
+                    13);
   }
   /*@ assert \valid(a) ∧ \valid(b); */ ;
   {
@@ -92,10 +94,11 @@ int main(void)
       __gen_e_acsl_and_7 = __gen_e_acsl_valid_read;
     }
     else __gen_e_acsl_and_7 = 0;
-    __e_acsl_assert(__gen_e_acsl_and_7,(char *)"RTE",(char *)"main",
-                    (char *)"mem_access: \\valid_read(b)",14);
-    __e_acsl_assert(*b == n,(char *)"Assertion",(char *)"main",
-                    (char *)"*b == n",14);
+    __e_acsl_assert(__gen_e_acsl_and_7,"RTE","main",
+                    "mem_access: \\valid_read(b)",
+                    "tests/memory/valid_alias.c",14);
+    __e_acsl_assert(*b == n,"Assertion","main","*b == n",
+                    "tests/memory/valid_alias.c",14);
   }
   /*@ assert *b ≡ n; */ ;
   free((void *)b);
@@ -128,8 +131,9 @@ int main(void)
       __gen_e_acsl_and_10 = ! __gen_e_acsl_and_9;
     }
     else __gen_e_acsl_and_10 = 0;
-    __e_acsl_assert(__gen_e_acsl_and_10,(char *)"Assertion",(char *)"main",
-                    (char *)"!\\valid(a) && !\\valid(b)",16);
+    __e_acsl_assert(__gen_e_acsl_and_10,"Assertion","main",
+                    "!\\valid(a) && !\\valid(b)",
+                    "tests/memory/valid_alias.c",16);
   }
   /*@ assert ¬\valid(a) ∧ ¬\valid(b); */ ;
   __retres = 0;
diff --git a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_valid_in_contract.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_valid_in_contract.c
index 9c4af53a5b05988241fc216065708dadc62371b1..e26605a59360eb544df4097ff5dcca47545b1f6c 100644
--- a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_valid_in_contract.c
+++ b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_valid_in_contract.c
@@ -88,8 +88,9 @@ struct list *__gen_e_acsl_f(struct list *l)
                                                       sizeof(struct list *),
                                                       (void *)(& l->next),
                                                       (void *)0);
-        __e_acsl_assert(__gen_e_acsl_valid_read,(char *)"RTE",(char *)"f",
-                        (char *)"mem_access: \\valid_read(&l->next)",17);
+        __e_acsl_assert(__gen_e_acsl_valid_read,"RTE","f",
+                        "mem_access: \\valid_read(&l->next)",
+                        "tests/memory/valid_in_contract.c",17);
         __gen_e_acsl_valid_2 = __e_acsl_valid((void *)l->next,
                                               sizeof(struct list),
                                               (void *)l->next,
@@ -109,14 +110,14 @@ struct list *__gen_e_acsl_f(struct list *l)
     int __gen_e_acsl_implies_2;
     if (! __gen_e_acsl_at) __gen_e_acsl_implies = 1;
     else __gen_e_acsl_implies = __retres == __gen_e_acsl_at_2;
-    __e_acsl_assert(__gen_e_acsl_implies,(char *)"Postcondition",(char *)"f",
-                    (char *)"\\old(l == \\null) ==> \\result == \\old(l)",15);
+    __e_acsl_assert(__gen_e_acsl_implies,"Postcondition","f",
+                    "\\old(l == \\null) ==> \\result == \\old(l)",
+                    "tests/memory/valid_in_contract.c",15);
     if (! __gen_e_acsl_at_3) __gen_e_acsl_implies_2 = 1;
     else __gen_e_acsl_implies_2 = __retres == __gen_e_acsl_at_4;
-    __e_acsl_assert(__gen_e_acsl_implies_2,(char *)"Postcondition",
-                    (char *)"f",
-                    (char *)"\\old(!\\valid{Here}(l) || !\\valid{Here}(l->next)) ==> \\result == \\old(l)",
-                    18);
+    __e_acsl_assert(__gen_e_acsl_implies_2,"Postcondition","f",
+                    "\\old(!\\valid{Here}(l) || !\\valid{Here}(l->next)) ==> \\result == \\old(l)",
+                    "tests/memory/valid_in_contract.c",18);
     __e_acsl_delete_block((void *)(& l));
     __e_acsl_delete_block((void *)(& __retres));
     return __retres;
diff --git a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_vector.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_vector.c
index 52850f06724aa5ca74351625d403830aaedf3239..f3ef2cd1836fa72946c9c1d10fa29a89789f02f9 100644
--- a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_vector.c
+++ b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_vector.c
@@ -40,10 +40,9 @@ int *new_inversed(int len, int *v)
       __gmpz_clear(__gen_e_acsl_block_length_2);
     }
     else __gen_e_acsl_and = 0;
-    __e_acsl_assert(__gen_e_acsl_and,(char *)"Assertion",
-                    (char *)"new_inversed",
-                    (char *)"\\valid(v) && \\offset(v) + len * sizeof(int) <= \\block_length(v)",
-                    11);
+    __e_acsl_assert(__gen_e_acsl_and,"Assertion","new_inversed",
+                    "\\valid(v) && \\offset(v) + len * sizeof(int) <= \\block_length(v)",
+                    "tests/memory/vector.c",11);
   }
   /*@
   assert \valid(v) ∧ \offset(v) + len * sizeof(int) ≤ \block_length(v);
@@ -76,8 +75,8 @@ int main(void)
     int __gen_e_acsl_valid;
     __gen_e_acsl_valid = __e_acsl_valid((void *)(& v1[2]),sizeof(int),
                                         (void *)(& v1[2]),(void *)0);
-    __e_acsl_assert(__gen_e_acsl_valid,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(&v1[2])",21);
+    __e_acsl_assert(__gen_e_acsl_valid,"Assertion","main","\\valid(&v1[2])",
+                    "tests/memory/vector.c",21);
   }
   /*@ assert \valid(&v1[2]); */ ;
   LAST = v1[2];
@@ -85,8 +84,8 @@ int main(void)
     int __gen_e_acsl_initialized;
     __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& v1[2]),
                                                     sizeof(int));
-    __e_acsl_assert(__gen_e_acsl_initialized,(char *)"Assertion",
-                    (char *)"main",(char *)"\\initialized(&v1[2])",23);
+    __e_acsl_assert(__gen_e_acsl_initialized,"Assertion","main",
+                    "\\initialized(&v1[2])","tests/memory/vector.c",23);
   }
   /*@ assert \initialized(&v1[2]); */ ;
   __e_acsl_full_init((void *)(& v2));
@@ -97,12 +96,12 @@ int main(void)
     int __gen_e_acsl_initialized_2;
     __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(v2 + 2),
                                                       sizeof(int));
-    __e_acsl_assert(__gen_e_acsl_initialized_2,(char *)"Assertion",
-                    (char *)"main",(char *)"\\initialized(v2 + 2)",26);
+    __e_acsl_assert(__gen_e_acsl_initialized_2,"Assertion","main",
+                    "\\initialized(v2 + 2)","tests/memory/vector.c",26);
   }
   /*@ assert \initialized(v2 + 2); */ ;
-  __e_acsl_assert(LAST == 1,(char *)"Assertion",(char *)"main",
-                  (char *)"LAST == 1",27);
+  __e_acsl_assert(LAST == 1,"Assertion","main","LAST == 1",
+                  "tests/memory/vector.c",27);
   /*@ assert LAST ≡ 1; */ ;
   free((void *)v2);
   __retres = 0;
diff --git a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_vla.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_vla.c
index 01d7b7a1ddc269ce056303c2108668bc810ea568..646d3b855887d7fdf258439c0fb0ee5483127a1f 100644
--- a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_vla.c
+++ b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_vla.c
@@ -29,9 +29,9 @@ int main(int argc, char **argv)
       __gmpz_clear(__gen_e_acsl__2);
     }
     else __gen_e_acsl_and = 0;
-    __e_acsl_assert(__gen_e_acsl_and,(char *)"Assertion",(char *)"main",
-                    (char *)"alloca_bounds: 0 < sizeof(int) * LEN <= 18446744073709551615",
-                    8);
+    __e_acsl_assert(__gen_e_acsl_and,"Assertion","main",
+                    "alloca_bounds: 0 < sizeof(int) * LEN <= 18446744073709551615",
+                    "tests/memory/vla.c",8);
   }
   /*@ assert alloca_bounds: 0 < sizeof(int) * LEN ≤ 18446744073709551615;
    */
@@ -48,8 +48,8 @@ int main(int argc, char **argv)
         int __gen_e_acsl_valid;
         __gen_e_acsl_valid = __e_acsl_valid((void *)(arr + i),sizeof(int),
                                             (void *)arr,(void *)(& arr));
-        __e_acsl_assert(__gen_e_acsl_valid,(char *)"Assertion",
-                        (char *)"main",(char *)"\\valid(arr + i)",12);
+        __e_acsl_assert(__gen_e_acsl_valid,"Assertion","main",
+                        "\\valid(arr + i)","tests/memory/vla.c",12);
       }
       /*@ assert \valid(arr + i); */ ;
     }
@@ -58,8 +58,8 @@ int main(int argc, char **argv)
         int __gen_e_acsl_valid_2;
         __gen_e_acsl_valid_2 = __e_acsl_valid((void *)(arr + i),sizeof(int),
                                               (void *)arr,(void *)(& arr));
-        __e_acsl_assert(! __gen_e_acsl_valid_2,(char *)"Assertion",
-                        (char *)"main",(char *)"!\\valid(arr + i)",14);
+        __e_acsl_assert(! __gen_e_acsl_valid_2,"Assertion","main",
+                        "!\\valid(arr + i)","tests/memory/vla.c",14);
       }
       /*@ assert ¬\valid(arr + i); */ ;
     }
diff --git a/src/plugins/e-acsl/tests/special/oracle_ci/gen_builtin.c b/src/plugins/e-acsl/tests/special/oracle_ci/gen_builtin.c
index a1e4cd5f61765508c79776859fe56db818208453..0678e6d623602828c51fde50fe13cb6ec0b5c6e2 100644
--- a/src/plugins/e-acsl/tests/special/oracle_ci/gen_builtin.c
+++ b/src/plugins/e-acsl/tests/special/oracle_ci/gen_builtin.c
@@ -40,9 +40,8 @@ int __gen_e_acsl_f(int i)
   {
     int __gen_e_acsl_incr_app;
     __gen_e_acsl_incr_app = incr(__gen_e_acsl_at);
-    __e_acsl_assert(__retres == __gen_e_acsl_incr_app,
-                    (char *)"Postcondition",(char *)"f",
-                    (char *)"\\result == incr(\\old(i))",9);
+    __e_acsl_assert(__retres == __gen_e_acsl_incr_app,"Postcondition","f",
+                    "\\result == incr(\\old(i))","tests/special/builtin.i",9);
     return __retres;
   }
 }
diff --git a/src/plugins/e-acsl/tests/special/oracle_ci/gen_e-acsl-functions.c b/src/plugins/e-acsl/tests/special/oracle_ci/gen_e-acsl-functions.c
index 83b8a9fc1967606228491a3f5973bc3635badb01..26550ea8e34632be7655d310a94ce4ab60191d8a 100644
--- a/src/plugins/e-acsl/tests/special/oracle_ci/gen_e-acsl-functions.c
+++ b/src/plugins/e-acsl/tests/special/oracle_ci/gen_e-acsl-functions.c
@@ -18,16 +18,16 @@ int f(int *p)
     {
       int __gen_e_acsl_and;
       if (0 <= i) __gen_e_acsl_and = i <= 1; else __gen_e_acsl_and = 0;
-      __e_acsl_assert(__gen_e_acsl_and,(char *)"Invariant",(char *)"f",
-                      (char *)"0 <= i <= 1",11);
+      __e_acsl_assert(__gen_e_acsl_and,"Invariant","f","0 <= i <= 1",
+                      "tests/special/e-acsl-functions.c",11);
     }
     /*@ loop invariant 0 ≤ i ≤ 1; */
     while (i < 1) {
       int __gen_e_acsl_and_2;
       i ++;
       if (0 <= i) __gen_e_acsl_and_2 = i <= 1; else __gen_e_acsl_and_2 = 0;
-      __e_acsl_assert(__gen_e_acsl_and_2,(char *)"Invariant",(char *)"f",
-                      (char *)"0 <= i <= 1",11);
+      __e_acsl_assert(__gen_e_acsl_and_2,"Invariant","f","0 <= i <= 1",
+                      "tests/special/e-acsl-functions.c",11);
     }
   }
   __retres = 0;
@@ -79,22 +79,24 @@ int __gen_e_acsl_f(int *p)
     int __gen_e_acsl_initialized;
     __e_acsl_store_block((void *)(& p),(size_t)8);
     __gen_e_acsl_initialized = __e_acsl_initialized((void *)p,sizeof(int));
-    __e_acsl_assert(__gen_e_acsl_initialized,(char *)"Precondition",
-                    (char *)"f",(char *)"\\initialized(p)",7);
-    __e_acsl_assert(*p == 0,(char *)"Precondition",(char *)"f",
-                    (char *)"*p == 0",8);
+    __e_acsl_assert(__gen_e_acsl_initialized,"Precondition","f",
+                    "\\initialized(p)","tests/special/e-acsl-functions.c",7);
+    __e_acsl_assert(*p == 0,"Precondition","f","*p == 0",
+                    "tests/special/e-acsl-functions.c",8);
   }
   {
     int __gen_e_acsl_valid_read;
     __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)p,sizeof(int),
                                                   (void *)p,(void *)(& p));
-    __e_acsl_assert(__gen_e_acsl_valid_read,(char *)"RTE",(char *)"f",
-                    (char *)"mem_access: \\valid_read(p)",9);
+    __e_acsl_assert(__gen_e_acsl_valid_read,"RTE","f",
+                    "mem_access: \\valid_read(p)",
+                    "tests/special/e-acsl-functions.c",9);
     __gen_e_acsl_at = *p;
   }
   __retres = f(p);
-  __e_acsl_assert(__retres == __gen_e_acsl_at,(char *)"Postcondition",
-                  (char *)"f",(char *)"\\result == \\old(*p)",9);
+  __e_acsl_assert(__retres == __gen_e_acsl_at,"Postcondition","f",
+                  "\\result == \\old(*p)","tests/special/e-acsl-functions.c",
+                  9);
   __e_acsl_delete_block((void *)(& p));
   return __retres;
 }
diff --git a/src/plugins/e-acsl/tests/special/oracle_ci/gen_e-acsl-instrument.c b/src/plugins/e-acsl/tests/special/oracle_ci/gen_e-acsl-instrument.c
index 688bdcf628a4b5af7428f029bf9c1be09d49a078..ce5166a1b94147872102ac9f21d691e416aea4b5 100644
--- a/src/plugins/e-acsl/tests/special/oracle_ci/gen_e-acsl-instrument.c
+++ b/src/plugins/e-acsl/tests/special/oracle_ci/gen_e-acsl-instrument.c
@@ -99,16 +99,18 @@ int main(void)
     int __gen_e_acsl_initialized;
     __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& x),
                                                     sizeof(int));
-    __e_acsl_assert(__gen_e_acsl_initialized,(char *)"Assertion",
-                    (char *)"main",(char *)"\\initialized(&x)",56);
+    __e_acsl_assert(__gen_e_acsl_initialized,"Assertion","main",
+                    "\\initialized(&x)","tests/special/e-acsl-instrument.c",
+                    56);
   }
   /*@ assert \initialized(&x); */ ;
   {
     int __gen_e_acsl_initialized_2;
     __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& y),
                                                       sizeof(int));
-    __e_acsl_assert(__gen_e_acsl_initialized_2,(char *)"Assertion",
-                    (char *)"main",(char *)"\\initialized(&y)",57);
+    __e_acsl_assert(__gen_e_acsl_initialized_2,"Assertion","main",
+                    "\\initialized(&y)","tests/special/e-acsl-instrument.c",
+                    57);
   }
   /*@ assert \initialized(&y); */ ;
   tmp = vol(6,1);
@@ -127,8 +129,8 @@ int __gen_e_acsl_instrument2(int *p)
     __e_acsl_store_block((void *)(& p),(size_t)8);
     __gen_e_acsl_valid = __e_acsl_valid((void *)p,sizeof(int),(void *)p,
                                         (void *)(& p));
-    __e_acsl_assert(__gen_e_acsl_valid,(char *)"Precondition",
-                    (char *)"instrument2",(char *)"\\valid(p)",29);
+    __e_acsl_assert(__gen_e_acsl_valid,"Precondition","instrument2",
+                    "\\valid(p)","tests/special/e-acsl-instrument.c",29);
   }
   __retres = instrument2(p);
   __e_acsl_delete_block((void *)(& p));
@@ -143,8 +145,8 @@ int __gen_e_acsl_uninstrument2(int *p)
     int __gen_e_acsl_valid;
     __gen_e_acsl_valid = __e_acsl_valid((void *)p,sizeof(int),(void *)p,
                                         (void *)(& p));
-    __e_acsl_assert(__gen_e_acsl_valid,(char *)"Precondition",
-                    (char *)"uninstrument2",(char *)"\\valid(p)",14);
+    __e_acsl_assert(__gen_e_acsl_valid,"Precondition","uninstrument2",
+                    "\\valid(p)","tests/special/e-acsl-instrument.c",14);
   }
   __e_acsl_sound_verdict = 0;
   __retres = uninstrument2(p);
diff --git a/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_args.c b/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_args.c
index da553a790fc3d36682fde2678c69d513c71ff627..666d954b82bcc4f6965b8b8b575a7f5f11c3a01e 100644
--- a/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_args.c
+++ b/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_args.c
@@ -9,16 +9,16 @@ int main(int argc, char const **argv)
     int __gen_e_acsl_valid;
     __gen_e_acsl_valid = __e_acsl_valid((void *)(& argc),sizeof(int),
                                         (void *)(& argc),(void *)0);
-    __e_acsl_assert(__gen_e_acsl_valid,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(&argc)",8);
+    __e_acsl_assert(__gen_e_acsl_valid,"Assertion","main","\\valid(&argc)",
+                    "tests/temporal/t_args.c",8);
   }
   /*@ assert \valid(&argc); */ ;
   {
     int __gen_e_acsl_valid_2;
     __gen_e_acsl_valid_2 = __e_acsl_valid((void *)argv,sizeof(char const *),
                                           (void *)argv,(void *)(& argv));
-    __e_acsl_assert(__gen_e_acsl_valid_2,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(argv)",9);
+    __e_acsl_assert(__gen_e_acsl_valid_2,"Assertion","main","\\valid(argv)",
+                    "tests/temporal/t_args.c",9);
   }
   /*@ assert \valid(argv); */ ;
   {
@@ -33,15 +33,16 @@ int main(int argc, char const **argv)
                                                     sizeof(char const *),
                                                     (void *)argv,
                                                     (void *)(& argv));
-      __e_acsl_assert(__gen_e_acsl_valid_read,(char *)"RTE",(char *)"main",
-                      (char *)"mem_access: \\valid_read(argv)",10);
+      __e_acsl_assert(__gen_e_acsl_valid_read,"RTE","main",
+                      "mem_access: \\valid_read(argv)",
+                      "tests/temporal/t_args.c",10);
       __gen_e_acsl_valid_3 = __e_acsl_valid((void *)*argv,sizeof(char const),
                                             (void *)*argv,(void *)argv);
       __gen_e_acsl_and = __gen_e_acsl_valid_3;
     }
     else __gen_e_acsl_and = 0;
-    __e_acsl_assert(__gen_e_acsl_and,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(*argv)",10);
+    __e_acsl_assert(__gen_e_acsl_and,"Assertion","main","\\valid(*argv)",
+                    "tests/temporal/t_args.c",10);
   }
   /*@ assert \valid(*argv); */ ;
   __retres = 0;
diff --git a/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_array.c b/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_array.c
index edce9e314bd0fe0cfdee8810591dac70782201c0..9716b9407fbea3d261b33f75a9297ec8ab1c7a2d 100644
--- a/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_array.c
+++ b/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_array.c
@@ -31,8 +31,8 @@ int main(void)
       __gen_e_acsl_and = __gen_e_acsl_valid;
     }
     else __gen_e_acsl_and = 0;
-    __e_acsl_assert(__gen_e_acsl_and,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(src[0])",13);
+    __e_acsl_assert(__gen_e_acsl_and,"Assertion","main","\\valid(src[0])",
+                    "tests/temporal/t_array.c",13);
   }
   /*@ assert \valid(src[0]); */ ;
   {
@@ -48,8 +48,8 @@ int main(void)
       __gen_e_acsl_and_2 = __gen_e_acsl_valid_2;
     }
     else __gen_e_acsl_and_2 = 0;
-    __e_acsl_assert(__gen_e_acsl_and_2,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(src[1])",14);
+    __e_acsl_assert(__gen_e_acsl_and_2,"Assertion","main","\\valid(src[1])",
+                    "tests/temporal/t_array.c",14);
   }
   /*@ assert \valid(src[1]); */ ;
   {
@@ -65,8 +65,8 @@ int main(void)
       __gen_e_acsl_and_3 = __gen_e_acsl_valid_3;
     }
     else __gen_e_acsl_and_3 = 0;
-    __e_acsl_assert(! __gen_e_acsl_and_3,(char *)"Assertion",(char *)"main",
-                    (char *)"!\\valid(src[2])",15);
+    __e_acsl_assert(! __gen_e_acsl_and_3,"Assertion","main",
+                    "!\\valid(src[2])","tests/temporal/t_array.c",15);
   }
   /*@ assert ¬\valid(src[2]); */ ;
   __retres = 0;
diff --git a/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_char.c b/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_char.c
index 78b57ef8971198e916dd2b728266beb15aa92171..6da6eec960c029d6148152240ba285080ce36e83 100644
--- a/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_char.c
+++ b/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_char.c
@@ -34,8 +34,8 @@ int main(int argc, char const **argv)
       __gen_e_acsl_and = __gen_e_acsl_valid;
     }
     else __gen_e_acsl_and = 0;
-    __e_acsl_assert(__gen_e_acsl_and,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(p)",17);
+    __e_acsl_assert(__gen_e_acsl_and,"Assertion","main","\\valid(p)",
+                    "tests/temporal/t_char.c",17);
   }
   /*@ assert \valid(p); */ ;
   {
@@ -50,8 +50,8 @@ int main(int argc, char const **argv)
       __gen_e_acsl_and_2 = __gen_e_acsl_valid_2;
     }
     else __gen_e_acsl_and_2 = 0;
-    __e_acsl_assert(__gen_e_acsl_and_2,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(q)",18);
+    __e_acsl_assert(__gen_e_acsl_and_2,"Assertion","main","\\valid(q)",
+                    "tests/temporal/t_char.c",18);
   }
   /*@ assert \valid(q); */ ;
   __retres = 0;
diff --git a/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_darray.c b/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_darray.c
index b6555793d7f9f16e393985d54807f8ddcb41d2b1..ca59330238b1a3b7d7df6ab8aa7a29843acc1581 100644
--- a/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_darray.c
+++ b/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_darray.c
@@ -11,10 +11,9 @@ void area_triangle(double (*vertices)[4])
                                                   sizeof(double),
                                                   (void *)(*(vertices + 0)),
                                                   (void *)(*(vertices + 0)));
-    __e_acsl_assert(__gen_e_acsl_valid_read,(char *)"Assertion",
-                    (char *)"area_triangle",
-                    (char *)"rte: mem_access: \\valid_read((double *)*(vertices + 0))",
-                    6);
+    __e_acsl_assert(__gen_e_acsl_valid_read,"Assertion","area_triangle",
+                    "rte: mem_access: \\valid_read((double *)*(vertices + 0))",
+                    "tests/temporal/t_darray.c",6);
   }
   /*@ assert rte: mem_access: \valid_read((double *)*(vertices + 0)); */ ;
   {
@@ -23,10 +22,9 @@ void area_triangle(double (*vertices)[4])
                                                     sizeof(double),
                                                     (void *)(*(vertices + 1)),
                                                     (void *)(*(vertices + 1)));
-    __e_acsl_assert(__gen_e_acsl_valid_read_2,(char *)"Assertion",
-                    (char *)"area_triangle",
-                    (char *)"rte: mem_access: \\valid_read((double *)*(vertices + 1))",
-                    7);
+    __e_acsl_assert(__gen_e_acsl_valid_read_2,"Assertion","area_triangle",
+                    "rte: mem_access: \\valid_read((double *)*(vertices + 1))",
+                    "tests/temporal/t_darray.c",7);
   }
   /*@ assert rte: mem_access: \valid_read((double *)*(vertices + 1)); */ ;
   __e_acsl_delete_block((void *)(& vertices));
diff --git a/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_dpointer.c b/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_dpointer.c
index 59051460f470daf47e4601bf84759d2fc2f0ac00..54917f1f76f4ed54fee8bb91fdd07ad1cd298508 100644
--- a/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_dpointer.c
+++ b/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_dpointer.c
@@ -17,8 +17,8 @@ int main(void)
       int __gen_e_acsl_valid;
       __gen_e_acsl_valid = __e_acsl_valid((void *)(p + i),sizeof(int *),
                                           (void *)p,(void *)(& p));
-      __e_acsl_assert(__gen_e_acsl_valid,(char *)"Assertion",(char *)"main",
-                      (char *)"\\valid(p + i)",12);
+      __e_acsl_assert(__gen_e_acsl_valid,"Assertion","main","\\valid(p + i)",
+                      "tests/temporal/t_dpointer.c",12);
     }
     /*@ assert \valid(p + i); */ ;
     __e_acsl_initialize((void *)(p + i),sizeof(int *));
@@ -39,8 +39,9 @@ int main(void)
                                                       sizeof(int *),
                                                       (void *)p,
                                                       (void *)(& p));
-        __e_acsl_assert(__gen_e_acsl_valid_read,(char *)"RTE",(char *)"main",
-                        (char *)"mem_access: \\valid_read(p + i)",14);
+        __e_acsl_assert(__gen_e_acsl_valid_read,"RTE","main",
+                        "mem_access: \\valid_read(p + i)",
+                        "tests/temporal/t_dpointer.c",14);
         /*@ assert Eva: initialization: \initialized(p + i); */
         __gen_e_acsl_valid_2 = __e_acsl_valid((void *)*(p + i),sizeof(int),
                                               (void *)*(p + i),
@@ -48,8 +49,8 @@ int main(void)
         __gen_e_acsl_and = __gen_e_acsl_valid_2;
       }
       else __gen_e_acsl_and = 0;
-      __e_acsl_assert(__gen_e_acsl_and,(char *)"Assertion",(char *)"main",
-                      (char *)"\\valid(*(p + i))",14);
+      __e_acsl_assert(__gen_e_acsl_and,"Assertion","main",
+                      "\\valid(*(p + i))","tests/temporal/t_dpointer.c",14);
     }
     /*@ assert \valid(*(p + i)); */ ;
     i ++;
@@ -74,8 +75,9 @@ int main(void)
                                                       sizeof(int *),
                                                       (void *)p,
                                                       (void *)(& p));
-      __e_acsl_assert(__gen_e_acsl_valid_read_2,(char *)"RTE",(char *)"main",
-                      (char *)"mem_access: \\valid_read(p + 2)",20);
+      __e_acsl_assert(__gen_e_acsl_valid_read_2,"RTE","main",
+                      "mem_access: \\valid_read(p + 2)",
+                      "tests/temporal/t_dpointer.c",20);
       /*@ assert Eva: dangling_pointer: ¬\dangling(p + 2); */
       __gen_e_acsl_valid_3 = __e_acsl_valid((void *)*(p + 2),sizeof(int),
                                             (void *)*(p + 2),(void *)(
@@ -83,8 +85,8 @@ int main(void)
       __gen_e_acsl_and_2 = __gen_e_acsl_valid_3;
     }
     else __gen_e_acsl_and_2 = 0;
-    __e_acsl_assert(! __gen_e_acsl_and_2,(char *)"Assertion",(char *)"main",
-                    (char *)"!\\valid(*(p + 2))",20);
+    __e_acsl_assert(! __gen_e_acsl_and_2,"Assertion","main",
+                    "!\\valid(*(p + 2))","tests/temporal/t_dpointer.c",20);
   }
   /*@ assert ¬\valid(*(p + 2)); */ ;
   __retres = 0;
diff --git a/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_fptr.c b/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_fptr.c
index a96089ca53c0770c206abaa97072ab7acfd07bdb..4a0750a1833961e9cc5ed7bee0ea397cba57e6e2 100644
--- a/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_fptr.c
+++ b/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_fptr.c
@@ -55,8 +55,8 @@ int main(int argc, char const **argv)
       __gen_e_acsl_and = __gen_e_acsl_valid;
     }
     else __gen_e_acsl_and = 0;
-    __e_acsl_assert(__gen_e_acsl_and,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(q)",20);
+    __e_acsl_assert(__gen_e_acsl_and,"Assertion","main","\\valid(q)",
+                    "tests/temporal/t_fptr.c",20);
   }
   /*@ assert \valid(q); */ ;
   __retres = 0;
diff --git a/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_fun_lib.c b/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_fun_lib.c
index 5f09751aa83cb5a0309225761f47d21fcbc8bd91..6ec8b81a0e77eb009d58916748340a28a40904dc 100644
--- a/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_fun_lib.c
+++ b/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_fun_lib.c
@@ -75,8 +75,9 @@ int main(void)
       __gen_e_acsl_and_3 = __gen_e_acsl_and_2;
     }
     else __gen_e_acsl_and_3 = 0;
-    __e_acsl_assert(__gen_e_acsl_and_3,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(q) && \\valid(p)",16);
+    __e_acsl_assert(__gen_e_acsl_and_3,"Assertion","main",
+                    "\\valid(q) && \\valid(p)","tests/temporal/t_fun_lib.c",
+                    16);
   }
   /*@ assert \valid(q) ∧ \valid(p); */ ;
   __e_acsl_full_init((void *)(& tmp_0));
@@ -108,8 +109,8 @@ int main(void)
       __gen_e_acsl_and_4 = __gen_e_acsl_valid_3;
     }
     else __gen_e_acsl_and_4 = 0;
-    __e_acsl_assert(__gen_e_acsl_and_4,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(path)",23);
+    __e_acsl_assert(__gen_e_acsl_and_4,"Assertion","main","\\valid(path)",
+                    "tests/temporal/t_fun_lib.c",23);
   }
   /*@ assert \valid(path); */ ;
   __e_acsl_temporal_reset_parameters();
@@ -148,8 +149,9 @@ int main(void)
       __gen_e_acsl_and_7 = ! __gen_e_acsl_and_6;
     }
     else __gen_e_acsl_and_7 = 0;
-    __e_acsl_assert(__gen_e_acsl_and_7,(char *)"Assertion",(char *)"main",
-                    (char *)"!\\valid(p) && !\\valid(path)",30);
+    __e_acsl_assert(__gen_e_acsl_and_7,"Assertion","main",
+                    "!\\valid(p) && !\\valid(path)",
+                    "tests/temporal/t_fun_lib.c",30);
   }
   /*@ assert ¬\valid(p) ∧ ¬\valid(path); */ ;
   __retres = 0;
diff --git a/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_fun_ptr.c b/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_fun_ptr.c
index d694411e2fa8c505cef3b877fc430a410d6e0666..43f3a37fa9f431f9d1c235a64910218094a2bdbb 100644
--- a/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_fun_ptr.c
+++ b/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_fun_ptr.c
@@ -47,8 +47,8 @@ int main(int argc, char const **argv)
       __gen_e_acsl_and = __gen_e_acsl_valid;
     }
     else __gen_e_acsl_and = 0;
-    __e_acsl_assert(__gen_e_acsl_and,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(p)",28);
+    __e_acsl_assert(__gen_e_acsl_and,"Assertion","main","\\valid(p)",
+                    "tests/temporal/t_fun_ptr.c",28);
   }
   /*@ assert \valid(p); */ ;
   __retres = 0;
diff --git a/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_getenv.c b/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_getenv.c
index 6ae5c20873e101f5d7b8b59244b1e6ef6c129361..67f60841795ebbe9553887f4d8fb2afeb2445231 100644
--- a/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_getenv.c
+++ b/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_getenv.c
@@ -63,8 +63,9 @@ int main(int argc, char const **argv)
       else __gen_e_acsl_and = 0;
       __gen_e_acsl_or = __gen_e_acsl_and;
     }
-    __e_acsl_assert(__gen_e_acsl_or,(char *)"Assertion",(char *)"main",
-                    (char *)"g1 == \\null || \\valid(g1)",13);
+    __e_acsl_assert(__gen_e_acsl_or,"Assertion","main",
+                    "g1 == \\null || \\valid(g1)",
+                    "tests/temporal/t_getenv.c",13);
   }
   /*@ assert g1 ≡ \null ∨ \valid(g1); */ ;
   {
@@ -87,8 +88,9 @@ int main(int argc, char const **argv)
       else __gen_e_acsl_and_2 = 0;
       __gen_e_acsl_or_2 = __gen_e_acsl_and_2;
     }
-    __e_acsl_assert(__gen_e_acsl_or_2,(char *)"Assertion",(char *)"main",
-                    (char *)"g2 == \\null || \\valid(g2)",14);
+    __e_acsl_assert(__gen_e_acsl_or_2,"Assertion","main",
+                    "g2 == \\null || \\valid(g2)",
+                    "tests/temporal/t_getenv.c",14);
   }
   /*@ assert g2 ≡ \null ∨ \valid(g2); */ ;
   __retres = 0;
diff --git a/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_global_init.c b/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_global_init.c
index 5e2c5de15ddc6760bb9fa7d0e4a0fbde52e4d649..d1c0cc7c58f5b37b821cdef493dea621b1a313f6 100644
--- a/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_global_init.c
+++ b/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_global_init.c
@@ -43,8 +43,8 @@ void build_tree(tree_desc *desc)
       __gen_e_acsl_and = __gen_e_acsl_valid;
     }
     else __gen_e_acsl_and = 0;
-    __e_acsl_assert(__gen_e_acsl_and,(char *)"Assertion",
-                    (char *)"build_tree",(char *)"\\valid(extra)",39);
+    __e_acsl_assert(__gen_e_acsl_and,"Assertion","build_tree",
+                    "\\valid(extra)","tests/temporal/t_global_init.c",39);
   }
   /*@ assert \valid(extra); */ ;
   __e_acsl_delete_block((void *)(& desc));
@@ -155,8 +155,8 @@ int main(int argc, char const **argv)
       __gen_e_acsl_and = __gen_e_acsl_valid_read;
     }
     else __gen_e_acsl_and = 0;
-    __e_acsl_assert(__gen_e_acsl_and,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid_read(p)",57);
+    __e_acsl_assert(__gen_e_acsl_and,"Assertion","main","\\valid_read(p)",
+                    "tests/temporal/t_global_init.c",57);
   }
   /*@ assert \valid_read(p); */ ;
   {
@@ -179,16 +179,17 @@ int main(int argc, char const **argv)
         __gen_e_acsl_and_2 = __gen_e_acsl_valid_read_2;
       }
       else __gen_e_acsl_and_2 = 0;
-      __e_acsl_assert(__gen_e_acsl_and_2,(char *)"RTE",(char *)"main",
-                      (char *)"mem_access: \\valid_read(p)",58);
+      __e_acsl_assert(__gen_e_acsl_and_2,"RTE","main",
+                      "mem_access: \\valid_read(p)",
+                      "tests/temporal/t_global_init.c",58);
       __gen_e_acsl_valid_read_3 = __e_acsl_valid_read((void *)*p,
                                                       sizeof(char),
                                                       (void *)*p,(void *)p);
       __gen_e_acsl_and_3 = __gen_e_acsl_valid_read_3;
     }
     else __gen_e_acsl_and_3 = 0;
-    __e_acsl_assert(__gen_e_acsl_and_3,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid_read(*p)",58);
+    __e_acsl_assert(__gen_e_acsl_and_3,"Assertion","main","\\valid_read(*p)",
+                    "tests/temporal/t_global_init.c",58);
   }
   /*@ assert \valid_read(*p); */ ;
   __retres = 0;
diff --git a/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_labels.c b/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_labels.c
index ac85e1c9af6cf9cebefb6f313087bd2e0bde7c75..a0229a5254addc2c7a74de23b0aa3c3121d77d29 100644
--- a/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_labels.c
+++ b/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_labels.c
@@ -75,8 +75,9 @@ int main(int argc, char const **argv)
       __gen_e_acsl_and_3 = __gen_e_acsl_and_2;
     }
     else __gen_e_acsl_and_3 = 0;
-    __e_acsl_assert(__gen_e_acsl_and_3,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(p) && \\valid(q)",28);
+    __e_acsl_assert(__gen_e_acsl_and_3,"Assertion","main",
+                    "\\valid(p) && \\valid(q)","tests/temporal/t_labels.c",
+                    28);
   }
   /*@ assert \valid(p) ∧ \valid(q); */ ;
   __e_acsl_full_init((void *)(& q));
@@ -94,8 +95,8 @@ int main(int argc, char const **argv)
       __gen_e_acsl_and_4 = __gen_e_acsl_valid_3;
     }
     else __gen_e_acsl_and_4 = 0;
-    __e_acsl_assert(__gen_e_acsl_and_4,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(p)",32);
+    __e_acsl_assert(__gen_e_acsl_and_4,"Assertion","main","\\valid(p)",
+                    "tests/temporal/t_labels.c",32);
   }
   /*@ assert \valid(p); */ ;
   __retres = 0;
diff --git a/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_lit_string.c b/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_lit_string.c
index 93f38b024cb3244d45c809b6aaf2a1019d3fd6b4..89bdc1b2a15ac81de191637ff8a7166ea868c723 100644
--- a/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_lit_string.c
+++ b/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_lit_string.c
@@ -62,8 +62,9 @@ int main(void)
       __gen_e_acsl_and_3 = ! __gen_e_acsl_and_2;
     }
     else __gen_e_acsl_and_3 = 0;
-    __e_acsl_assert(__gen_e_acsl_and_3,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid_read(f) && !\\valid(f)",9);
+    __e_acsl_assert(__gen_e_acsl_and_3,"Assertion","main",
+                    "\\valid_read(f) && !\\valid(f)",
+                    "tests/temporal/t_lit_string.c",9);
   }
   /*@ assert \valid_read(f) ∧ ¬\valid(f); */ ;
   __e_acsl_full_init((void *)(& g));
@@ -99,8 +100,9 @@ int main(void)
       __gen_e_acsl_and_6 = ! __gen_e_acsl_and_5;
     }
     else __gen_e_acsl_and_6 = 0;
-    __e_acsl_assert(__gen_e_acsl_and_6,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid_read(g) && !\\valid(g)",12);
+    __e_acsl_assert(__gen_e_acsl_and_6,"Assertion","main",
+                    "\\valid_read(g) && !\\valid(g)",
+                    "tests/temporal/t_lit_string.c",12);
   }
   /*@ assert \valid_read(g) ∧ ¬\valid(g); */ ;
   char *p = f;
@@ -136,8 +138,9 @@ int main(void)
       __gen_e_acsl_and_9 = ! __gen_e_acsl_and_8;
     }
     else __gen_e_acsl_and_9 = 0;
-    __e_acsl_assert(__gen_e_acsl_and_9,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid_read(p) && !\\valid(p)",15);
+    __e_acsl_assert(__gen_e_acsl_and_9,"Assertion","main",
+                    "\\valid_read(p) && !\\valid(p)",
+                    "tests/temporal/t_lit_string.c",15);
   }
   /*@ assert \valid_read(p) ∧ ¬\valid(p); */ ;
   __e_acsl_full_init((void *)(& q));
@@ -172,8 +175,9 @@ int main(void)
       __gen_e_acsl_and_12 = ! __gen_e_acsl_and_11;
     }
     else __gen_e_acsl_and_12 = 0;
-    __e_acsl_assert(__gen_e_acsl_and_12,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid_read(q) && !\\valid(q)",18);
+    __e_acsl_assert(__gen_e_acsl_and_12,"Assertion","main",
+                    "\\valid_read(q) && !\\valid(q)",
+                    "tests/temporal/t_lit_string.c",18);
   }
   /*@ assert \valid_read(q) ∧ ¬\valid(q); */ ;
   __retres = 0;
diff --git a/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_local_init.c b/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_local_init.c
index 3c4a454246662cb750c019e39c28576b74b1496a..b6341802859d40a4fa7482e3bd7206f0c98f8bd3 100644
--- a/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_local_init.c
+++ b/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_local_init.c
@@ -38,8 +38,8 @@ void build_tree(tree_desc *desc)
       __gen_e_acsl_and = __gen_e_acsl_valid;
     }
     else __gen_e_acsl_and = 0;
-    __e_acsl_assert(__gen_e_acsl_and,(char *)"Assertion",
-                    (char *)"build_tree",(char *)"\\valid(extra)",23);
+    __e_acsl_assert(__gen_e_acsl_and,"Assertion","build_tree",
+                    "\\valid(extra)","tests/temporal/t_local_init.c",23);
   }
   /*@ assert \valid(extra); */ ;
   __e_acsl_delete_block((void *)(& desc));
@@ -142,8 +142,8 @@ int main(int argc, char const **argv)
       __gen_e_acsl_and = __gen_e_acsl_valid_read;
     }
     else __gen_e_acsl_and = 0;
-    __e_acsl_assert(__gen_e_acsl_and,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid_read(p)",41);
+    __e_acsl_assert(__gen_e_acsl_and,"Assertion","main","\\valid_read(p)",
+                    "tests/temporal/t_local_init.c",41);
   }
   /*@ assert \valid_read(p); */ ;
   {
@@ -166,16 +166,17 @@ int main(int argc, char const **argv)
         __gen_e_acsl_and_2 = __gen_e_acsl_valid_read_2;
       }
       else __gen_e_acsl_and_2 = 0;
-      __e_acsl_assert(__gen_e_acsl_and_2,(char *)"RTE",(char *)"main",
-                      (char *)"mem_access: \\valid_read(p)",42);
+      __e_acsl_assert(__gen_e_acsl_and_2,"RTE","main",
+                      "mem_access: \\valid_read(p)",
+                      "tests/temporal/t_local_init.c",42);
       __gen_e_acsl_valid_read_3 = __e_acsl_valid_read((void *)*p,
                                                       sizeof(char),
                                                       (void *)*p,(void *)p);
       __gen_e_acsl_and_3 = __gen_e_acsl_valid_read_3;
     }
     else __gen_e_acsl_and_3 = 0;
-    __e_acsl_assert(__gen_e_acsl_and_3,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid_read(*p)",42);
+    __e_acsl_assert(__gen_e_acsl_and_3,"Assertion","main","\\valid_read(*p)",
+                    "tests/temporal/t_local_init.c",42);
   }
   /*@ assert \valid_read(*p); */ ;
   char *str[4] =
@@ -209,8 +210,8 @@ int main(int argc, char const **argv)
       __gen_e_acsl_and_4 = __gen_e_acsl_valid_read_4;
     }
     else __gen_e_acsl_and_4 = 0;
-    __e_acsl_assert(__gen_e_acsl_and_4,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid_read(p)",48);
+    __e_acsl_assert(__gen_e_acsl_and_4,"Assertion","main","\\valid_read(p)",
+                    "tests/temporal/t_local_init.c",48);
   }
   /*@ assert \valid_read(p); */ ;
   {
@@ -233,16 +234,17 @@ int main(int argc, char const **argv)
         __gen_e_acsl_and_5 = __gen_e_acsl_valid_read_5;
       }
       else __gen_e_acsl_and_5 = 0;
-      __e_acsl_assert(__gen_e_acsl_and_5,(char *)"RTE",(char *)"main",
-                      (char *)"mem_access: \\valid_read(p)",49);
+      __e_acsl_assert(__gen_e_acsl_and_5,"RTE","main",
+                      "mem_access: \\valid_read(p)",
+                      "tests/temporal/t_local_init.c",49);
       __gen_e_acsl_valid_read_6 = __e_acsl_valid_read((void *)*p,
                                                       sizeof(char),
                                                       (void *)*p,(void *)p);
       __gen_e_acsl_and_6 = __gen_e_acsl_valid_read_6;
     }
     else __gen_e_acsl_and_6 = 0;
-    __e_acsl_assert(__gen_e_acsl_and_6,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid_read(*p)",49);
+    __e_acsl_assert(__gen_e_acsl_and_6,"Assertion","main","\\valid_read(*p)",
+                    "tests/temporal/t_local_init.c",49);
   }
   /*@ assert \valid_read(*p); */ ;
   char **P = (char **)(Strings);
@@ -263,8 +265,8 @@ int main(int argc, char const **argv)
       __gen_e_acsl_and_7 = __gen_e_acsl_valid_read_7;
     }
     else __gen_e_acsl_and_7 = 0;
-    __e_acsl_assert(__gen_e_acsl_and_7,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid_read(P)",53);
+    __e_acsl_assert(__gen_e_acsl_and_7,"Assertion","main","\\valid_read(P)",
+                    "tests/temporal/t_local_init.c",53);
   }
   /*@ assert \valid_read(P); */ ;
   {
@@ -287,16 +289,17 @@ int main(int argc, char const **argv)
         __gen_e_acsl_and_8 = __gen_e_acsl_valid_read_8;
       }
       else __gen_e_acsl_and_8 = 0;
-      __e_acsl_assert(__gen_e_acsl_and_8,(char *)"RTE",(char *)"main",
-                      (char *)"mem_access: \\valid_read(P)",54);
+      __e_acsl_assert(__gen_e_acsl_and_8,"RTE","main",
+                      "mem_access: \\valid_read(P)",
+                      "tests/temporal/t_local_init.c",54);
       __gen_e_acsl_valid_read_9 = __e_acsl_valid_read((void *)*P,
                                                       sizeof(char),
                                                       (void *)*P,(void *)P);
       __gen_e_acsl_and_9 = __gen_e_acsl_valid_read_9;
     }
     else __gen_e_acsl_and_9 = 0;
-    __e_acsl_assert(__gen_e_acsl_and_9,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid_read(*P)",54);
+    __e_acsl_assert(__gen_e_acsl_and_9,"Assertion","main","\\valid_read(*P)",
+                    "tests/temporal/t_local_init.c",54);
   }
   /*@ assert \valid_read(*P); */ ;
   __e_acsl_full_init((void *)(& P));
@@ -316,8 +319,8 @@ int main(int argc, char const **argv)
       __gen_e_acsl_and_10 = __gen_e_acsl_valid_read_10;
     }
     else __gen_e_acsl_and_10 = 0;
-    __e_acsl_assert(__gen_e_acsl_and_10,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid_read(P)",58);
+    __e_acsl_assert(__gen_e_acsl_and_10,"Assertion","main","\\valid_read(P)",
+                    "tests/temporal/t_local_init.c",58);
   }
   /*@ assert \valid_read(P); */ ;
   {
@@ -340,16 +343,17 @@ int main(int argc, char const **argv)
         __gen_e_acsl_and_11 = __gen_e_acsl_valid_read_11;
       }
       else __gen_e_acsl_and_11 = 0;
-      __e_acsl_assert(__gen_e_acsl_and_11,(char *)"RTE",(char *)"main",
-                      (char *)"mem_access: \\valid_read(P)",59);
+      __e_acsl_assert(__gen_e_acsl_and_11,"RTE","main",
+                      "mem_access: \\valid_read(P)",
+                      "tests/temporal/t_local_init.c",59);
       __gen_e_acsl_valid_read_12 = __e_acsl_valid_read((void *)*P,
                                                        sizeof(char),
                                                        (void *)*P,(void *)P);
       __gen_e_acsl_and_12 = __gen_e_acsl_valid_read_12;
     }
     else __gen_e_acsl_and_12 = 0;
-    __e_acsl_assert(__gen_e_acsl_and_12,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid_read(*P)",59);
+    __e_acsl_assert(__gen_e_acsl_and_12,"Assertion","main",
+                    "\\valid_read(*P)","tests/temporal/t_local_init.c",59);
   }
   /*@ assert \valid_read(*P); */ ;
   int extra_lbits[1] = {0};
diff --git a/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_malloc.c b/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_malloc.c
index 4e6a38a45fda72f532814550e147d81f207abdb1..b58537e485ce8c45b8dc68dd97a571a1631a62a4 100644
--- a/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_malloc.c
+++ b/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_malloc.c
@@ -21,8 +21,8 @@ int main(void)
       __gen_e_acsl_and = __gen_e_acsl_valid;
     }
     else __gen_e_acsl_and = 0;
-    __e_acsl_assert(! __gen_e_acsl_and,(char *)"Assertion",(char *)"main",
-                    (char *)"!\\valid(p)",11);
+    __e_acsl_assert(! __gen_e_acsl_and,"Assertion","main","!\\valid(p)",
+                    "tests/temporal/t_malloc.c",11);
   }
   /*@ assert ¬\valid(p); */ ;
   {
@@ -37,8 +37,8 @@ int main(void)
       __gen_e_acsl_and_2 = __gen_e_acsl_valid_2;
     }
     else __gen_e_acsl_and_2 = 0;
-    __e_acsl_assert(! __gen_e_acsl_and_2,(char *)"Assertion",(char *)"main",
-                    (char *)"!\\valid(q)",12);
+    __e_acsl_assert(! __gen_e_acsl_and_2,"Assertion","main","!\\valid(q)",
+                    "tests/temporal/t_malloc.c",12);
   }
   /*@ assert ¬\valid(q); */ ;
   __e_acsl_full_init((void *)(& p));
@@ -61,8 +61,8 @@ int main(void)
       __gen_e_acsl_and_3 = __gen_e_acsl_valid_3;
     }
     else __gen_e_acsl_and_3 = 0;
-    __e_acsl_assert(__gen_e_acsl_and_3,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(p)",17);
+    __e_acsl_assert(__gen_e_acsl_and_3,"Assertion","main","\\valid(p)",
+                    "tests/temporal/t_malloc.c",17);
   }
   /*@ assert \valid(p); */ ;
   {
@@ -77,8 +77,8 @@ int main(void)
       __gen_e_acsl_and_4 = __gen_e_acsl_valid_4;
     }
     else __gen_e_acsl_and_4 = 0;
-    __e_acsl_assert(__gen_e_acsl_and_4,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(q)",18);
+    __e_acsl_assert(__gen_e_acsl_and_4,"Assertion","main","\\valid(q)",
+                    "tests/temporal/t_malloc.c",18);
   }
   /*@ assert \valid(q); */ ;
   __e_acsl_temporal_reset_parameters();
@@ -98,8 +98,8 @@ int main(void)
       __gen_e_acsl_and_5 = __gen_e_acsl_valid_5;
     }
     else __gen_e_acsl_and_5 = 0;
-    __e_acsl_assert(! __gen_e_acsl_and_5,(char *)"Assertion",(char *)"main",
-                    (char *)"!\\valid(p)",22);
+    __e_acsl_assert(! __gen_e_acsl_and_5,"Assertion","main","!\\valid(p)",
+                    "tests/temporal/t_malloc.c",22);
   }
   /*@ assert ¬\valid(p); */ ;
   {
@@ -114,8 +114,8 @@ int main(void)
       __gen_e_acsl_and_6 = __gen_e_acsl_valid_6;
     }
     else __gen_e_acsl_and_6 = 0;
-    __e_acsl_assert(! __gen_e_acsl_and_6,(char *)"Assertion",(char *)"main",
-                    (char *)"!\\valid(q)",23);
+    __e_acsl_assert(! __gen_e_acsl_and_6,"Assertion","main","!\\valid(q)",
+                    "tests/temporal/t_malloc.c",23);
   }
   /*@ assert ¬\valid(q); */ ;
   __e_acsl_full_init((void *)(& p));
@@ -135,8 +135,8 @@ int main(void)
       __gen_e_acsl_and_7 = __gen_e_acsl_valid_7;
     }
     else __gen_e_acsl_and_7 = 0;
-    __e_acsl_assert(__gen_e_acsl_and_7,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(p)",28);
+    __e_acsl_assert(__gen_e_acsl_and_7,"Assertion","main","\\valid(p)",
+                    "tests/temporal/t_malloc.c",28);
   }
   /*@ assert \valid(p); */ ;
   {
@@ -151,8 +151,8 @@ int main(void)
       __gen_e_acsl_and_8 = __gen_e_acsl_valid_8;
     }
     else __gen_e_acsl_and_8 = 0;
-    __e_acsl_assert(! __gen_e_acsl_and_8,(char *)"Assertion",(char *)"main",
-                    (char *)"!\\valid(q)",29);
+    __e_acsl_assert(! __gen_e_acsl_and_8,"Assertion","main","!\\valid(q)",
+                    "tests/temporal/t_malloc.c",29);
   }
   /*@ assert ¬\valid(q); */ ;
   __e_acsl_initialize((void *)q,sizeof(int));
@@ -176,8 +176,8 @@ int main(void)
       __gen_e_acsl_and_9 = __gen_e_acsl_valid_9;
     }
     else __gen_e_acsl_and_9 = 0;
-    __e_acsl_assert(__gen_e_acsl_and_9,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(q)",35);
+    __e_acsl_assert(__gen_e_acsl_and_9,"Assertion","main","\\valid(q)",
+                    "tests/temporal/t_malloc.c",35);
   }
   /*@ assert \valid(q); */ ;
   __e_acsl_full_init((void *)(& q));
@@ -198,8 +198,8 @@ int main(void)
       __gen_e_acsl_and_10 = __gen_e_acsl_valid_10;
     }
     else __gen_e_acsl_and_10 = 0;
-    __e_acsl_assert(__gen_e_acsl_and_10,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(q)",39);
+    __e_acsl_assert(__gen_e_acsl_and_10,"Assertion","main","\\valid(q)",
+                    "tests/temporal/t_malloc.c",39);
   }
   /*@ assert \valid(q); */ ;
   __retres = 0;
diff --git a/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_memcpy.c b/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_memcpy.c
index f8b1a86a82a8fe8287c9588ef24a491c1b07c26f..a6f4773e2ce84e8ac4a443f011c240549d1f0086 100644
--- a/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_memcpy.c
+++ b/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_memcpy.c
@@ -45,8 +45,8 @@ int main(void)
       __gen_e_acsl_and = __gen_e_acsl_valid;
     }
     else __gen_e_acsl_and = 0;
-    __e_acsl_assert(__gen_e_acsl_and,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(src[0])",22);
+    __e_acsl_assert(__gen_e_acsl_and,"Assertion","main","\\valid(src[0])",
+                    "tests/temporal/t_memcpy.c",22);
   }
   /*@ assert \valid(src[0]); */ ;
   {
@@ -62,8 +62,8 @@ int main(void)
       __gen_e_acsl_and_2 = __gen_e_acsl_valid_2;
     }
     else __gen_e_acsl_and_2 = 0;
-    __e_acsl_assert(__gen_e_acsl_and_2,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(src[1])",23);
+    __e_acsl_assert(__gen_e_acsl_and_2,"Assertion","main","\\valid(src[1])",
+                    "tests/temporal/t_memcpy.c",23);
   }
   /*@ assert \valid(src[1]); */ ;
   __e_acsl_temporal_reset_parameters();
@@ -84,8 +84,8 @@ int main(void)
       __gen_e_acsl_and_3 = __gen_e_acsl_valid_3;
     }
     else __gen_e_acsl_and_3 = 0;
-    __e_acsl_assert(__gen_e_acsl_and_3,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(dest[0])",27);
+    __e_acsl_assert(__gen_e_acsl_and_3,"Assertion","main","\\valid(dest[0])",
+                    "tests/temporal/t_memcpy.c",27);
   }
   /*@ assert \valid(dest[0]); */ ;
   {
@@ -101,8 +101,8 @@ int main(void)
       __gen_e_acsl_and_4 = __gen_e_acsl_valid_4;
     }
     else __gen_e_acsl_and_4 = 0;
-    __e_acsl_assert(__gen_e_acsl_and_4,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(dest[1])",28);
+    __e_acsl_assert(__gen_e_acsl_and_4,"Assertion","main","\\valid(dest[1])",
+                    "tests/temporal/t_memcpy.c",28);
   }
   /*@ assert \valid(dest[1]); */ ;
   __e_acsl_temporal_reset_parameters();
@@ -121,8 +121,8 @@ int main(void)
       __gen_e_acsl_and_5 = __gen_e_acsl_valid_5;
     }
     else __gen_e_acsl_and_5 = 0;
-    __e_acsl_assert(! __gen_e_acsl_and_5,(char *)"Assertion",(char *)"main",
-                    (char *)"!\\valid(dest[0])",32);
+    __e_acsl_assert(! __gen_e_acsl_and_5,"Assertion","main",
+                    "!\\valid(dest[0])","tests/temporal/t_memcpy.c",32);
   }
   /*@ assert ¬\valid(dest[0]); */ ;
   {
@@ -138,8 +138,8 @@ int main(void)
       __gen_e_acsl_and_6 = __gen_e_acsl_valid_6;
     }
     else __gen_e_acsl_and_6 = 0;
-    __e_acsl_assert(! __gen_e_acsl_and_6,(char *)"Assertion",(char *)"main",
-                    (char *)"!\\valid(dest[1])",33);
+    __e_acsl_assert(! __gen_e_acsl_and_6,"Assertion","main",
+                    "!\\valid(dest[1])","tests/temporal/t_memcpy.c",33);
   }
   /*@ assert ¬\valid(dest[1]); */ ;
   __e_acsl_temporal_reset_parameters();
@@ -180,15 +180,16 @@ int main(void)
         __gen_e_acsl_and_7 = __gen_e_acsl_valid_read;
       }
       else __gen_e_acsl_and_7 = 0;
-      __e_acsl_assert(__gen_e_acsl_and_7,(char *)"RTE",(char *)"main",
-                      (char *)"mem_access: \\valid_read(p)",42);
+      __e_acsl_assert(__gen_e_acsl_and_7,"RTE","main",
+                      "mem_access: \\valid_read(p)",
+                      "tests/temporal/t_memcpy.c",42);
       __gen_e_acsl_valid_7 = __e_acsl_valid((void *)*p,sizeof(int),
                                             (void *)*p,(void *)p);
       __gen_e_acsl_and_8 = __gen_e_acsl_valid_7;
     }
     else __gen_e_acsl_and_8 = 0;
-    __e_acsl_assert(__gen_e_acsl_and_8,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(*p)",42);
+    __e_acsl_assert(__gen_e_acsl_and_8,"Assertion","main","\\valid(*p)",
+                    "tests/temporal/t_memcpy.c",42);
   }
   /*@ assert \valid(*p); */ ;
   {
@@ -203,16 +204,17 @@ int main(void)
                                                       sizeof(int *),
                                                       (void *)p,
                                                       (void *)(& p));
-      __e_acsl_assert(__gen_e_acsl_valid_read_2,(char *)"RTE",(char *)"main",
-                      (char *)"mem_access: \\valid_read(p + 1)",43);
+      __e_acsl_assert(__gen_e_acsl_valid_read_2,"RTE","main",
+                      "mem_access: \\valid_read(p + 1)",
+                      "tests/temporal/t_memcpy.c",43);
       __gen_e_acsl_valid_8 = __e_acsl_valid((void *)*(p + 1),sizeof(int),
                                             (void *)*(p + 1),(void *)(
                                             p + 1));
       __gen_e_acsl_and_9 = __gen_e_acsl_valid_8;
     }
     else __gen_e_acsl_and_9 = 0;
-    __e_acsl_assert(__gen_e_acsl_and_9,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(*(p + 1))",43);
+    __e_acsl_assert(__gen_e_acsl_and_9,"Assertion","main",
+                    "\\valid(*(p + 1))","tests/temporal/t_memcpy.c",43);
   }
   /*@ assert \valid(*(p + 1)); */ ;
   {
@@ -235,15 +237,16 @@ int main(void)
         __gen_e_acsl_and_10 = __gen_e_acsl_valid_read_3;
       }
       else __gen_e_acsl_and_10 = 0;
-      __e_acsl_assert(__gen_e_acsl_and_10,(char *)"RTE",(char *)"main",
-                      (char *)"mem_access: \\valid_read(q)",44);
+      __e_acsl_assert(__gen_e_acsl_and_10,"RTE","main",
+                      "mem_access: \\valid_read(q)",
+                      "tests/temporal/t_memcpy.c",44);
       __gen_e_acsl_valid_9 = __e_acsl_valid((void *)*q,sizeof(int),
                                             (void *)*q,(void *)q);
       __gen_e_acsl_and_11 = __gen_e_acsl_valid_9;
     }
     else __gen_e_acsl_and_11 = 0;
-    __e_acsl_assert(! __gen_e_acsl_and_11,(char *)"Assertion",(char *)"main",
-                    (char *)"!\\valid(*q)",44);
+    __e_acsl_assert(! __gen_e_acsl_and_11,"Assertion","main","!\\valid(*q)",
+                    "tests/temporal/t_memcpy.c",44);
   }
   /*@ assert ¬\valid(*q); */ ;
   {
@@ -258,16 +261,17 @@ int main(void)
                                                       sizeof(int *),
                                                       (void *)q,
                                                       (void *)(& q));
-      __e_acsl_assert(__gen_e_acsl_valid_read_4,(char *)"RTE",(char *)"main",
-                      (char *)"mem_access: \\valid_read(q + 1)",45);
+      __e_acsl_assert(__gen_e_acsl_valid_read_4,"RTE","main",
+                      "mem_access: \\valid_read(q + 1)",
+                      "tests/temporal/t_memcpy.c",45);
       __gen_e_acsl_valid_10 = __e_acsl_valid((void *)*(q + 1),sizeof(int),
                                              (void *)*(q + 1),
                                              (void *)(q + 1));
       __gen_e_acsl_and_12 = __gen_e_acsl_valid_10;
     }
     else __gen_e_acsl_and_12 = 0;
-    __e_acsl_assert(! __gen_e_acsl_and_12,(char *)"Assertion",(char *)"main",
-                    (char *)"!\\valid(*(q + 1))",45);
+    __e_acsl_assert(! __gen_e_acsl_and_12,"Assertion","main",
+                    "!\\valid(*(q + 1))","tests/temporal/t_memcpy.c",45);
   }
   /*@ assert ¬\valid(*(q + 1)); */ ;
   __e_acsl_full_init((void *)(& tmp_1));
@@ -304,15 +308,16 @@ int main(void)
         __gen_e_acsl_and_13 = __gen_e_acsl_valid_read_5;
       }
       else __gen_e_acsl_and_13 = 0;
-      __e_acsl_assert(__gen_e_acsl_and_13,(char *)"RTE",(char *)"main",
-                      (char *)"mem_access: \\valid_read(q)",50);
+      __e_acsl_assert(__gen_e_acsl_and_13,"RTE","main",
+                      "mem_access: \\valid_read(q)",
+                      "tests/temporal/t_memcpy.c",50);
       __gen_e_acsl_valid_11 = __e_acsl_valid((void *)*q,sizeof(int),
                                              (void *)*q,(void *)q);
       __gen_e_acsl_and_14 = __gen_e_acsl_valid_11;
     }
     else __gen_e_acsl_and_14 = 0;
-    __e_acsl_assert(__gen_e_acsl_and_14,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(*q)",50);
+    __e_acsl_assert(__gen_e_acsl_and_14,"Assertion","main","\\valid(*q)",
+                    "tests/temporal/t_memcpy.c",50);
   }
   /*@ assert \valid(*q); */ ;
   {
@@ -327,16 +332,17 @@ int main(void)
                                                       sizeof(int *),
                                                       (void *)q,
                                                       (void *)(& q));
-      __e_acsl_assert(__gen_e_acsl_valid_read_6,(char *)"RTE",(char *)"main",
-                      (char *)"mem_access: \\valid_read(q + 1)",51);
+      __e_acsl_assert(__gen_e_acsl_valid_read_6,"RTE","main",
+                      "mem_access: \\valid_read(q + 1)",
+                      "tests/temporal/t_memcpy.c",51);
       __gen_e_acsl_valid_12 = __e_acsl_valid((void *)*(q + 1),sizeof(int),
                                              (void *)*(q + 1),
                                              (void *)(q + 1));
       __gen_e_acsl_and_15 = __gen_e_acsl_valid_12;
     }
     else __gen_e_acsl_and_15 = 0;
-    __e_acsl_assert(__gen_e_acsl_and_15,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(*(q + 1))",51);
+    __e_acsl_assert(__gen_e_acsl_and_15,"Assertion","main",
+                    "\\valid(*(q + 1))","tests/temporal/t_memcpy.c",51);
   }
   /*@ assert \valid(*(q + 1)); */ ;
   __retres = 0;
diff --git a/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_scope.c b/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_scope.c
index 64cc8bb05031ed3199d1c43b6f207d0ed0f3495a..a0e3962c59b2053f8935433bd8700817af90aa19 100644
--- a/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_scope.c
+++ b/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_scope.c
@@ -38,8 +38,8 @@ int main(void)
       __gen_e_acsl_and = __gen_e_acsl_valid;
     }
     else __gen_e_acsl_and = 0;
-    __e_acsl_assert(! __gen_e_acsl_and,(char *)"Assertion",(char *)"main",
-                    (char *)"!\\valid(p)",15);
+    __e_acsl_assert(! __gen_e_acsl_and,"Assertion","main","!\\valid(p)",
+                    "tests/temporal/t_scope.c",15);
   }
   /*@ assert ¬\valid(p); */ ;
   {
@@ -54,8 +54,8 @@ int main(void)
       __gen_e_acsl_and_2 = __gen_e_acsl_valid_2;
     }
     else __gen_e_acsl_and_2 = 0;
-    __e_acsl_assert(! __gen_e_acsl_and_2,(char *)"Assertion",(char *)"main",
-                    (char *)"!\\valid(q)",16);
+    __e_acsl_assert(! __gen_e_acsl_and_2,"Assertion","main","!\\valid(q)",
+                    "tests/temporal/t_scope.c",16);
   }
   /*@ assert ¬\valid(q); */ ;
   {
@@ -77,8 +77,8 @@ int main(void)
         __gen_e_acsl_and_3 = __gen_e_acsl_valid_3;
       }
       else __gen_e_acsl_and_3 = 0;
-      __e_acsl_assert(__gen_e_acsl_and_3,(char *)"Assertion",(char *)"main",
-                      (char *)"\\valid(p)",21);
+      __e_acsl_assert(__gen_e_acsl_and_3,"Assertion","main","\\valid(p)",
+                      "tests/temporal/t_scope.c",21);
     }
     /*@ assert \valid(p); */ ;
     __e_acsl_initialize((void *)p,sizeof(int));
@@ -95,16 +95,16 @@ int main(void)
         __gen_e_acsl_and_4 = __gen_e_acsl_valid_4;
       }
       else __gen_e_acsl_and_4 = 0;
-      __e_acsl_assert(! __gen_e_acsl_and_4,(char *)"Assertion",
-                      (char *)"main",(char *)"!\\valid(q)",24);
+      __e_acsl_assert(! __gen_e_acsl_and_4,"Assertion","main","!\\valid(q)",
+                      "tests/temporal/t_scope.c",24);
     }
     /*@ assert ¬\valid(q); */ ;
     {
       int __gen_e_acsl_valid_5;
       __gen_e_acsl_valid_5 = __e_acsl_valid((void *)(& j),sizeof(int),
                                             (void *)(& j),(void *)0);
-      __e_acsl_assert(__gen_e_acsl_valid_5,(char *)"Assertion",
-                      (char *)"main",(char *)"\\valid(&j)",25);
+      __e_acsl_assert(__gen_e_acsl_valid_5,"Assertion","main","\\valid(&j)",
+                      "tests/temporal/t_scope.c",25);
     }
     /*@ assert \valid(&j); */ ;
     __e_acsl_delete_block((void *)(& j));
@@ -131,8 +131,8 @@ int main(void)
         __gen_e_acsl_and_5 = __gen_e_acsl_valid_6;
       }
       else __gen_e_acsl_and_5 = 0;
-      __e_acsl_assert(! __gen_e_acsl_and_5,(char *)"Assertion",
-                      (char *)"main",(char *)"!\\valid(p)",34);
+      __e_acsl_assert(! __gen_e_acsl_and_5,"Assertion","main","!\\valid(p)",
+                      "tests/temporal/t_scope.c",34);
     }
     /*@ assert ¬\valid(p); */ ;
     __e_acsl_full_init((void *)(& q));
@@ -153,8 +153,8 @@ int main(void)
         __gen_e_acsl_and_6 = __gen_e_acsl_valid_7;
       }
       else __gen_e_acsl_and_6 = 0;
-      __e_acsl_assert(__gen_e_acsl_and_6,(char *)"Assertion",(char *)"main",
-                      (char *)"\\valid(p)",37);
+      __e_acsl_assert(__gen_e_acsl_and_6,"Assertion","main","\\valid(p)",
+                      "tests/temporal/t_scope.c",37);
     }
     /*@ assert \valid(p); */ ;
     len --;
diff --git a/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_struct.c b/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_struct.c
index 441d558eb9a51564d19a058d96b80b867ff37533..76272a2c173eda3263af3b55e463cbcf37df88f2 100644
--- a/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_struct.c
+++ b/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_struct.c
@@ -67,8 +67,9 @@ int main(void)
       __gen_e_acsl_and_3 = __gen_e_acsl_and_2;
     }
     else __gen_e_acsl_and_3 = 0;
-    __e_acsl_assert(__gen_e_acsl_and_3,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(t1.p) && \\valid(t1.q)",31);
+    __e_acsl_assert(__gen_e_acsl_and_3,"Assertion","main",
+                    "\\valid(t1.p) && \\valid(t1.q)",
+                    "tests/temporal/t_struct.c",31);
   }
   /*@ assert \valid(t1.p) ∧ \valid(t1.q); */ ;
   {
@@ -99,8 +100,9 @@ int main(void)
       __gen_e_acsl_and_6 = ! __gen_e_acsl_and_5;
     }
     else __gen_e_acsl_and_6 = 0;
-    __e_acsl_assert(__gen_e_acsl_and_6,(char *)"Assertion",(char *)"main",
-                    (char *)"!\\valid(t2.p) && !\\valid(t2.q)",32);
+    __e_acsl_assert(__gen_e_acsl_and_6,"Assertion","main",
+                    "!\\valid(t2.p) && !\\valid(t2.q)",
+                    "tests/temporal/t_struct.c",32);
   }
   /*@ assert ¬\valid(t2.p) ∧ ¬\valid(t2.q); */ ;
   __e_acsl_full_init((void *)(& t2));
@@ -134,8 +136,9 @@ int main(void)
       __gen_e_acsl_and_9 = __gen_e_acsl_and_8;
     }
     else __gen_e_acsl_and_9 = 0;
-    __e_acsl_assert(__gen_e_acsl_and_9,(char *)"Assertion",(char *)"main",
-                    (char *)"\\valid(t2.p) && \\valid(t2.q)",35);
+    __e_acsl_assert(__gen_e_acsl_and_9,"Assertion","main",
+                    "\\valid(t2.p) && \\valid(t2.q)",
+                    "tests/temporal/t_struct.c",35);
   }
   /*@ assert \valid(t2.p) ∧ \valid(t2.q); */ ;
   __e_acsl_initialize((void *)(& t2.p),sizeof(char *));
@@ -174,8 +177,9 @@ int main(void)
       __gen_e_acsl_and_12 = __gen_e_acsl_and_11;
     }
     else __gen_e_acsl_and_12 = 0;
-    __e_acsl_assert(__gen_e_acsl_and_12,(char *)"Assertion",(char *)"main",
-                    (char *)"!\\valid(t2.p) && \\valid(t2.q)",39);
+    __e_acsl_assert(__gen_e_acsl_and_12,"Assertion","main",
+                    "!\\valid(t2.p) && \\valid(t2.q)",
+                    "tests/temporal/t_struct.c",39);
   }
   /*@ assert ¬\valid(t2.p) ∧ \valid(t2.q); */ ;
   __e_acsl_initialize((void *)(& l.t),sizeof(struct temporal_t));
@@ -210,8 +214,9 @@ int main(void)
       __gen_e_acsl_and_15 = __gen_e_acsl_and_14;
     }
     else __gen_e_acsl_and_15 = 0;
-    __e_acsl_assert(__gen_e_acsl_and_15,(char *)"Assertion",(char *)"main",
-                    (char *)"!\\valid(l.t.p) && \\valid(l.t.q)",42);
+    __e_acsl_assert(__gen_e_acsl_and_15,"Assertion","main",
+                    "!\\valid(l.t.p) && \\valid(l.t.q)",
+                    "tests/temporal/t_struct.c",42);
   }
   /*@ assert ¬\valid(l.t.p) ∧ \valid(l.t.q); */ ;
   __e_acsl_full_init((void *)(& lp));
@@ -229,16 +234,17 @@ int main(void)
                                                     sizeof(char *),
                                                     (void *)(& lp->t.p),
                                                     (void *)0);
-      __e_acsl_assert(__gen_e_acsl_valid_read,(char *)"RTE",(char *)"main",
-                      (char *)"mem_access: \\valid_read(&lp->t.p)",45);
+      __e_acsl_assert(__gen_e_acsl_valid_read,"RTE","main",
+                      "mem_access: \\valid_read(&lp->t.p)",
+                      "tests/temporal/t_struct.c",45);
       __gen_e_acsl_valid_11 = __e_acsl_valid((void *)lp->t.p,sizeof(char),
                                              (void *)lp->t.p,
                                              (void *)(& lp->t.p));
       __gen_e_acsl_and_16 = __gen_e_acsl_valid_11;
     }
     else __gen_e_acsl_and_16 = 0;
-    __e_acsl_assert(! __gen_e_acsl_and_16,(char *)"Assertion",(char *)"main",
-                    (char *)"!\\valid(lp->t.p)",45);
+    __e_acsl_assert(! __gen_e_acsl_and_16,"Assertion","main",
+                    "!\\valid(lp->t.p)","tests/temporal/t_struct.c",45);
   }
   /*@ assert ¬\valid(lp->t.p); */ ;
   __e_acsl_initialize((void *)(tarr),sizeof(temporal));
@@ -275,8 +281,9 @@ int main(void)
       __gen_e_acsl_and_19 = __gen_e_acsl_and_18;
     }
     else __gen_e_acsl_and_19 = 0;
-    __e_acsl_assert(__gen_e_acsl_and_19,(char *)"Assertion",(char *)"main",
-                    (char *)"!\\valid(tarr[0].p) && \\valid(tarr[0].q)",48);
+    __e_acsl_assert(__gen_e_acsl_and_19,"Assertion","main",
+                    "!\\valid(tarr[0].p) && \\valid(tarr[0].q)",
+                    "tests/temporal/t_struct.c",48);
   }
   /*@ assert ¬\valid(tarr[0].p) ∧ \valid(tarr[0].q); */ ;
   __e_acsl_initialize((void *)(larr),sizeof(larger));
@@ -314,9 +321,9 @@ int main(void)
       __gen_e_acsl_and_22 = __gen_e_acsl_and_21;
     }
     else __gen_e_acsl_and_22 = 0;
-    __e_acsl_assert(__gen_e_acsl_and_22,(char *)"Assertion",(char *)"main",
-                    (char *)"!\\valid(larr[0].t.p) && \\valid(larr[0].t.q)",
-                    51);
+    __e_acsl_assert(__gen_e_acsl_and_22,"Assertion","main",
+                    "!\\valid(larr[0].t.p) && \\valid(larr[0].t.q)",
+                    "tests/temporal/t_struct.c",51);
   }
   /*@ assert ¬\valid(larr[0].t.p) ∧ \valid(larr[0].t.q); */ ;
   __retres = 0;
diff --git a/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_while.c b/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_while.c
index 9615619c11f65a7ba6225926bbf94bec150177a5..b63675cf0ac80af956653e6eecf3ea3e20c391c5 100644
--- a/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_while.c
+++ b/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_while.c
@@ -31,8 +31,8 @@ int main(void)
         __gen_e_acsl_and = __gen_e_acsl_valid;
       }
       else __gen_e_acsl_and = 0;
-      __e_acsl_assert(__gen_e_acsl_and,(char *)"Assertion",(char *)"main",
-                      (char *)"\\valid(q)",28);
+      __e_acsl_assert(__gen_e_acsl_and,"Assertion","main","\\valid(q)",
+                      "tests/temporal/t_while.c",28);
     }
     /*@ assert \valid(q); */ ;
     __e_acsl_initialize((void *)q,sizeof(int));
@@ -54,8 +54,8 @@ int main(void)
       __gen_e_acsl_and_2 = __gen_e_acsl_valid_2;
     }
     else __gen_e_acsl_and_2 = 0;
-    __e_acsl_assert(! __gen_e_acsl_and_2,(char *)"Assertion",(char *)"main",
-                    (char *)"!\\valid(q)",36);
+    __e_acsl_assert(! __gen_e_acsl_and_2,"Assertion","main","!\\valid(q)",
+                    "tests/temporal/t_while.c",36);
   }
   /*@ assert ¬\valid(q); */ ;
   __retres = 0;