From d7bc8be18874f6a0f5ea50a014c8570a5cee60fe Mon Sep 17 00:00:00 2001
From: Tristan Le Gall <tristan.le-gall@cea.fr>
Date: Mon, 27 Mar 2023 15:54:23 +0200
Subject: [PATCH] [alias] update oracles

---
 .../tests/basic/oracle/assignment3.res.oracle |   4 -
 .../basic/oracle/conditional2.res.oracle      |  21 +-
 .../tests/basic/oracle/function4.res.oracle   |   4 -
 .../tests/basic/oracle/if_then1.res.oracle    |  14 --
 .../tests/offsets/oracle/array1.res.oracle    |   5 -
 .../tests/offsets/oracle/array2.res.oracle    |   4 -
 .../tests/offsets/oracle/array3.res.oracle    | 168 ++++++++++++---
 .../tests/offsets/oracle/nested1.res.oracle   |  25 +--
 .../tests/offsets/oracle/nested2.res.oracle   |   7 -
 .../offsets/oracle/structure1.res.oracle      |  11 +-
 .../offsets/oracle/structure2.res.oracle      |   4 -
 .../offsets/oracle/structure3.res.oracle      |  18 --
 .../offsets/oracle/structure4.res.oracle      |   9 +-
 .../offsets/oracle/structure5.res.oracle      | 194 ++++++++++++++----
 14 files changed, 313 insertions(+), 175 deletions(-)

diff --git a/src/plugins/alias/tests/basic/oracle/assignment3.res.oracle b/src/plugins/alias/tests/basic/oracle/assignment3.res.oracle
index ea0ba003235..945d1c5dbc8 100644
--- a/src/plugins/alias/tests/basic/oracle/assignment3.res.oracle
+++ b/src/plugins/alias/tests/basic/oracle/assignment3.res.oracle
@@ -8,12 +8,8 @@
 [alias] May-aliases at the end of instruction:
 [alias] analysing instruction: a = & b;
 [alias] May-aliases at the end of instruction:
-  {a, &b} are aliased
 [alias] analysing instruction: c = & b;
 [alias] May-aliases at the end of instruction:
-  {a, c, &b} are aliased
 [alias] analysing instruction: __retres = 0;
 [alias] May-aliases at the end of instruction:
-  {a, c, &b} are aliased
 [alias] May-aliases at the end of function main:
-  {a, c, &b} are aliased
diff --git a/src/plugins/alias/tests/basic/oracle/conditional2.res.oracle b/src/plugins/alias/tests/basic/oracle/conditional2.res.oracle
index 194afa48bf6..91d4cc267e7 100644
--- a/src/plugins/alias/tests/basic/oracle/conditional2.res.oracle
+++ b/src/plugins/alias/tests/basic/oracle/conditional2.res.oracle
@@ -2,32 +2,17 @@
 [alias] analysing function: main
 [alias] analysing instruction: b = & c;
 [alias] May-aliases at the end of instruction:
-  {b, &c} are aliased
 [alias] analysing instruction: c = & d;
 [alias] May-aliases at the end of instruction:
-  {b, &c} are aliased
-  {c, &d} are aliased
 [alias] analysing instruction: d = & e;
 [alias] May-aliases at the end of instruction:
-  {b, &c} are aliased
-  {c, &d} are aliased
-  {d, &e} are aliased
 [alias] analysing instruction: a = b;
 [alias] May-aliases at the end of instruction:
-  {d, &e} are aliased
-  {a, b, &c} are aliased
-  {c, &d} are aliased
+  {a, b} are aliased
 [alias] analysing instruction: a = & c;
 [alias] May-aliases at the end of instruction:
-  {d, &e} are aliased
-  {a, b, &c} are aliased
-  {c, &d} are aliased
 [alias] analysing instruction: __retres = 0;
 [alias] May-aliases at the end of instruction:
-  {d, &e} are aliased
-  {a, b, &c} are aliased
-  {c, &d} are aliased
+  {a, b} are aliased
 [alias] May-aliases at the end of function main:
-  {d, &e} are aliased
-  {a, b, &c} are aliased
-  {c, &d} are aliased
+  {a, b} are aliased
diff --git a/src/plugins/alias/tests/basic/oracle/function4.res.oracle b/src/plugins/alias/tests/basic/oracle/function4.res.oracle
index ed47931573b..59bb839b4af 100644
--- a/src/plugins/alias/tests/basic/oracle/function4.res.oracle
+++ b/src/plugins/alias/tests/basic/oracle/function4.res.oracle
@@ -10,12 +10,8 @@
 [alias] May-aliases at the end of instruction:
 [alias] analysing instruction: a = addr(& c);
 [alias] May-aliases at the end of instruction:
-  {a, &c} are aliased
 [alias] analysing instruction: b = & c;
 [alias] May-aliases at the end of instruction:
-  {a, b, &c} are aliased
 [alias] analysing instruction: __retres = 0;
 [alias] May-aliases at the end of instruction:
-  {a, b, &c} are aliased
 [alias] May-aliases at the end of function main:
-  {a, b, &c} are aliased
diff --git a/src/plugins/alias/tests/basic/oracle/if_then1.res.oracle b/src/plugins/alias/tests/basic/oracle/if_then1.res.oracle
index 287860520ec..8caece4d00c 100644
--- a/src/plugins/alias/tests/basic/oracle/if_then1.res.oracle
+++ b/src/plugins/alias/tests/basic/oracle/if_then1.res.oracle
@@ -2,31 +2,17 @@
 [alias] analysing function: main
 [alias] analysing instruction: a = & x;
 [alias] May-aliases at the end of instruction:
-  {a, &x} are aliased
 [alias] analysing instruction: b = & y;
 [alias] May-aliases at the end of instruction:
-  {a, &x} are aliased
-  {b, &y} are aliased
 [alias] analysing instruction: y = & z;
 [alias] May-aliases at the end of instruction:
-  {a, &x} are aliased
-  {b, &y} are aliased
-  {y, &z} are aliased
 [alias] analysing instruction: y = & x;
 [alias] May-aliases at the end of instruction:
-  {b, &y} are aliased
-  {a, y, &x} are aliased
 [alias] analysing instruction: c = & y;
 [alias] May-aliases at the end of instruction:
   {x, z} are aliased
-  {b, c, &y} are aliased
-  {a, y, &x, &z} are aliased
 [alias] analysing instruction: __retres = 0;
 [alias] May-aliases at the end of instruction:
   {x, z} are aliased
-  {b, c, &y} are aliased
-  {a, y, &x, &z} are aliased
 [alias] May-aliases at the end of function main:
   {x, z} are aliased
-  {b, c, &y} are aliased
-  {a, y, &x, &z} are aliased
diff --git a/src/plugins/alias/tests/offsets/oracle/array1.res.oracle b/src/plugins/alias/tests/offsets/oracle/array1.res.oracle
index a4e66896abc..0d725244aef 100644
--- a/src/plugins/alias/tests/offsets/oracle/array1.res.oracle
+++ b/src/plugins/alias/tests/offsets/oracle/array1.res.oracle
@@ -8,15 +8,10 @@
 [alias] May-aliases at the end of instruction:
 [alias] analysing instruction: int *x = & tab[1];
 [alias] May-aliases at the end of instruction:
-  {x, &tab[0]} are aliased
 [alias] analysing instruction: int *y = & tab[2];
 [alias] May-aliases at the end of instruction:
-  {x, y, &tab[0]} are aliased
 [alias] analysing instruction: tab[3] = *x + *y;
 [alias] May-aliases at the end of instruction:
-  {x, y, &tab[0]} are aliased
 [alias] analysing instruction: __retres = 0;
 [alias] May-aliases at the end of instruction:
-  {x, y, &tab[0]} are aliased
 [alias] May-aliases at the end of function main:
-  {x, y, &tab[0]} are aliased
diff --git a/src/plugins/alias/tests/offsets/oracle/array2.res.oracle b/src/plugins/alias/tests/offsets/oracle/array2.res.oracle
index 079b9221edd..db1c4a38409 100644
--- a/src/plugins/alias/tests/offsets/oracle/array2.res.oracle
+++ b/src/plugins/alias/tests/offsets/oracle/array2.res.oracle
@@ -6,12 +6,8 @@
 [alias] May-aliases at the end of instruction:
 [alias] analysing instruction: *x = mat[1];
 [alias] May-aliases at the end of instruction:
-  {*x, &mat[0]} are aliased
 [alias] analysing instruction: *y = *(*(x + 0));
 [alias] May-aliases at the end of instruction:
-  {*x, &mat[0]} are aliased
 [alias] analysing instruction: __retres = 0;
 [alias] May-aliases at the end of instruction:
-  {*x, &mat[0]} are aliased
 [alias] May-aliases at the end of function main:
-  {*x, &mat[0]} are aliased
diff --git a/src/plugins/alias/tests/offsets/oracle/array3.res.oracle b/src/plugins/alias/tests/offsets/oracle/array3.res.oracle
index 94844afe1a1..18e91430279 100644
--- a/src/plugins/alias/tests/offsets/oracle/array3.res.oracle
+++ b/src/plugins/alias/tests/offsets/oracle/array3.res.oracle
@@ -1,29 +1,147 @@
 [kernel] Parsing array3.c (with preprocessing)
 [kernel:typing:implicit-function-declaration] array3.c:6: Warning: 
   Calling undeclared function malloc. Old style K&R code?
+[alias] analysing function: asprintf
+[alias] May-aliases at the end of function asprintf:
+[alias] analysing function: clearerr
+[alias] May-aliases at the end of function clearerr:
+[alias] analysing function: clearerr_unlocked
+[alias] May-aliases at the end of function clearerr_unlocked:
+[alias] analysing function: fclose
+[alias] May-aliases at the end of function fclose:
+[alias] analysing function: fdopen
+[alias] May-aliases at the end of function fdopen:
+[alias] analysing function: feof
+[alias] May-aliases at the end of function feof:
+[alias] analysing function: feof_unlocked
+[alias] May-aliases at the end of function feof_unlocked:
+[alias] analysing function: ferror
+[alias] May-aliases at the end of function ferror:
+[alias] analysing function: ferror_unlocked
+[alias] May-aliases at the end of function ferror_unlocked:
+[alias] analysing function: fflush
+[alias] May-aliases at the end of function fflush:
+[alias] analysing function: fgetc
+[alias] May-aliases at the end of function fgetc:
+[alias] analysing function: fgetpos
+[alias] May-aliases at the end of function fgetpos:
+[alias] analysing function: fgets
+[alias] May-aliases at the end of function fgets:
+[alias] analysing function: fileno
+[alias] May-aliases at the end of function fileno:
+[alias] analysing function: fileno_unlocked
+[alias] May-aliases at the end of function fileno_unlocked:
+[alias] analysing function: flockfile
+[alias] May-aliases at the end of function flockfile:
+[alias] analysing function: fmemopen
+[alias] May-aliases at the end of function fmemopen:
+[alias] analysing function: fopen
+[alias] May-aliases at the end of function fopen:
+[alias] analysing function: fputc
+[alias] May-aliases at the end of function fputc:
+[alias] analysing function: fputs
+[alias] May-aliases at the end of function fputs:
+[alias] analysing function: fread
+[alias] May-aliases at the end of function fread:
+[alias] analysing function: freopen
+[alias] May-aliases at the end of function freopen:
+[alias] analysing function: fseek
+[alias] May-aliases at the end of function fseek:
+[alias] analysing function: fseeko
+[alias] May-aliases at the end of function fseeko:
+[alias] analysing function: fsetpos
+[alias] May-aliases at the end of function fsetpos:
+[alias] analysing function: ftell
+[alias] May-aliases at the end of function ftell:
+[alias] analysing function: ftello
+[alias] May-aliases at the end of function ftello:
+[alias] analysing function: ftrylockfile
+[alias] May-aliases at the end of function ftrylockfile:
+[alias] analysing function: funlockfile
+[alias] May-aliases at the end of function funlockfile:
+[alias] analysing function: fwrite
+[alias] May-aliases at the end of function fwrite:
+[alias] analysing function: getc
+[alias] May-aliases at the end of function getc:
+[alias] analysing function: getc_unlocked
+[alias] May-aliases at the end of function getc_unlocked:
+[alias] analysing function: getchar
+[alias] May-aliases at the end of function getchar:
+[alias] analysing function: getchar_unlocked
+[alias] May-aliases at the end of function getchar_unlocked:
+[alias] analysing function: gets
+[alias] May-aliases at the end of function gets:
+[alias] analysing function: main
+[alias] analysing instruction: tmp = malloc((unsigned long)4 * sizeof(int));
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: int *x = (int *)tmp;
+[alias] May-aliases at the end of instruction:
+  {x, tmp} are aliased
+[alias] analysing instruction: tmp_0 = malloc((unsigned long)4 * sizeof(int));
+[alias] May-aliases at the end of instruction:
+  {x, tmp} are aliased
+[alias] analysing instruction: int *y = (int *)tmp_0;
+[alias] May-aliases at the end of instruction:
+  {x, tmp} are aliased
+  {y, tmp_0} are aliased
+[alias] analysing instruction: x = mat[0];
+[alias] May-aliases at the end of instruction:
+  {x, tmp} are aliased
+  {y, tmp_0} are aliased
+[alias] analysing instruction: y = mat[1];
+[alias] May-aliases at the end of instruction:
+  {x, tmp} are aliased
+  {y, tmp_0} are aliased
+[alias] analysing instruction: __retres = 0;
+[alias] May-aliases at the end of instruction:
+  {x, tmp} are aliased
+  {y, tmp_0} are aliased
 [alias] May-aliases at the end of function main:
-  {x, tmp, y, tmp_0, &mat[0]} are aliased
-Before statement tmp = malloc((unsigned long)4 * sizeof(int)); :
- 
-Before statement int *x = (int *)tmp; :
- 
-Before statement tmp_0 = malloc((unsigned long)4 * sizeof(int)); :
- {x, tmp} are aliased
-
-Before statement int *y = (int *)tmp_0; :
- {x, tmp} are aliased
-
-Before statement x = mat[0]; :
- {x, tmp} are aliased
-{y, tmp_0} are aliased
-
-Before statement y = mat[1]; :
- {x, tmp, &mat[0]} are aliased
-{y, tmp_0} are aliased
-
-Before statement __retres = 0; :
- {x, tmp, y, tmp_0, &mat[0]} are aliased
-
-Before statement return __retres; :
- {x, tmp, y, tmp_0, &mat[0]} are aliased
-
+  {x, tmp} are aliased
+  {y, tmp_0} are aliased
+[alias] analysing function: malloc
+[alias] May-aliases at the end of function malloc:
+[alias] analysing function: pclose
+[alias] May-aliases at the end of function pclose:
+[alias] analysing function: perror
+[alias] May-aliases at the end of function perror:
+[alias] analysing function: popen
+[alias] May-aliases at the end of function popen:
+[alias] analysing function: putc
+[alias] May-aliases at the end of function putc:
+[alias] analysing function: putc_unlocked
+[alias] May-aliases at the end of function putc_unlocked:
+[alias] analysing function: putchar
+[alias] May-aliases at the end of function putchar:
+[alias] analysing function: putchar_unlocked
+[alias] May-aliases at the end of function putchar_unlocked:
+[alias] analysing function: puts
+[alias] May-aliases at the end of function puts:
+[alias] analysing function: remove
+[alias] May-aliases at the end of function remove:
+[alias] analysing function: rename
+[alias] May-aliases at the end of function rename:
+[alias] analysing function: rewind
+[alias] May-aliases at the end of function rewind:
+[alias] analysing function: setbuf
+[alias] May-aliases at the end of function setbuf:
+[alias] analysing function: setvbuf
+[alias] May-aliases at the end of function setvbuf:
+[alias] analysing function: tmpfile
+[alias] May-aliases at the end of function tmpfile:
+[alias] analysing function: tmpnam
+[alias] May-aliases at the end of function tmpnam:
+[alias] analysing function: ungetc
+[alias] May-aliases at the end of function ungetc:
+[alias] analysing function: vfprintf
+[alias] May-aliases at the end of function vfprintf:
+[alias] analysing function: vfscanf
+[alias] May-aliases at the end of function vfscanf:
+[alias] analysing function: vprintf
+[alias] May-aliases at the end of function vprintf:
+[alias] analysing function: vscanf
+[alias] May-aliases at the end of function vscanf:
+[alias] analysing function: vsnprintf
+[alias] May-aliases at the end of function vsnprintf:
+[alias] analysing function: vsprintf
+[alias] May-aliases at the end of function vsprintf:
diff --git a/src/plugins/alias/tests/offsets/oracle/nested1.res.oracle b/src/plugins/alias/tests/offsets/oracle/nested1.res.oracle
index e75f816200c..625a0b7aea0 100644
--- a/src/plugins/alias/tests/offsets/oracle/nested1.res.oracle
+++ b/src/plugins/alias/tests/offsets/oracle/nested1.res.oracle
@@ -54,82 +54,73 @@
 [alias] May-aliases at the end of instruction:
 [alias] analysing instruction: tab_y[0] = & x1;
 [alias] May-aliases at the end of instruction:
-  {tab_y[0], &x1} are aliased
 [alias] analysing instruction: tab_y[1] = & x2;
 [alias] May-aliases at the end of instruction:
-  {tab_y[0], &x1, &x2} are aliased
   {x1, x2} are aliased
 [alias] analysing instruction: st_2_t *z1 = malloc(sizeof(st_2_t));
 [alias] May-aliases at the end of instruction:
-  {tab_y[0], &x1, &x2} are aliased
   {x1, x2} are aliased
 [alias] analysing instruction: st_2_t *z2 = malloc(sizeof(st_2_t));
 [alias] May-aliases at the end of instruction:
-  {tab_y[0], &x1, &x2} are aliased
   {x1, x2} are aliased
 [alias] analysing instruction: st_3_t *t = malloc(sizeof(st_3_t));
 [alias] May-aliases at the end of instruction:
-  {tab_y[0], &x1, &x2} are aliased
   {x1, x2} are aliased
 [alias] analysing instruction: int *a = malloc(sizeof(int));
 [alias] May-aliases at the end of instruction:
-  {tab_y[0], &x1, &x2} are aliased
   {x1, x2} are aliased
 [alias] analysing instruction: int *b = malloc(sizeof(int));
 [alias] May-aliases at the end of instruction:
-  {tab_y[0], &x1, &x2} are aliased
   {x1, x2} are aliased
 [alias] analysing instruction: *a = 0;
 [alias] May-aliases at the end of instruction:
-  {tab_y[0], &x1, &x2} are aliased
   {x1, x2} are aliased
 [alias] analysing instruction: *b = 5;
 [alias] May-aliases at the end of instruction:
-  {tab_y[0], &x1, &x2} are aliased
   {x1, x2} are aliased
 [alias] analysing instruction: z1->s = (struct struct_1_t *)tab_y[0];
 [alias] May-aliases at the end of instruction:
   {x1, x2} are aliased
-  {z1->s, tab_y[0], &x1, &x2} are aliased
+  {z1->s, tab_y[0]} are aliased
 [alias] analysing instruction: z2->s = (struct struct_1_t *)tab_y[1];
 [alias] May-aliases at the end of instruction:
   {x1, x2} are aliased
-  {z1->s, z2->s, tab_y[0], &x1, &x2} are aliased
+  {z1->s, z2->s, tab_y[0]} are aliased
 [alias] analysing instruction: z1->c = a;
 [alias] May-aliases at the end of instruction:
   {x1, x2} are aliased
-  {z1->s, z2->s, tab_y[0], &x1, &x2} are aliased
+  {z1->s, z2->s, tab_y[0]} are aliased
   {z1->c, a} are aliased
 [alias] analysing instruction: z2->c = b;
 [alias] May-aliases at the end of instruction:
   {x1, x2} are aliased
-  {z1->s, z2->s, tab_y[0], &x1, &x2} are aliased
+  {z1->s, z2->s, tab_y[0]} are aliased
   {z1->c, a} are aliased
   {z2->c, b} are aliased
 [alias] analysing instruction: t->t = (struct struct_2_t *)z1;
 [alias] May-aliases at the end of instruction:
   {x1, x2} are aliased
-  {z1->s, z2->s, tab_y[0], &x1, &x2} are aliased
+  {z1->s, z2->s, tab_y[0]} are aliased
   {z1->c, a} are aliased
   {z2->c, b} are aliased
   {t->t, z1} are aliased
 [alias] analysing instruction: t->d = a;
 [alias] May-aliases at the end of instruction:
   {x1, x2} are aliased
-  {z1->s, z2->s, tab_y[0], &x1, &x2} are aliased
+  {z1->s, z2->s, tab_y[0]} are aliased
   {z2->c, b} are aliased
   {t->t, z1} are aliased
   {z1->c, t->d, a} are aliased
 [alias] analysing instruction: __retres = 0;
 [alias] May-aliases at the end of instruction:
   {x1, x2} are aliased
-  {z1->s, z2->s, tab_y[0], &x1, &x2} are aliased
+  {z1->s, z2->s, tab_y[0]} are aliased
   {z2->c, b} are aliased
   {t->t, z1} are aliased
   {z1->c, t->d, a} are aliased
 [alias] May-aliases at the end of function main:
   {x1, x2} are aliased
-  {z1->s, z2->s, tab_y[0], &x1, &x2} are aliased
+  {z1->s, z2->s, tab_y[0]} are aliased
   {z2->c, b} are aliased
   {t->t, z1} are aliased
   {z1->c, t->d, a} are aliased
diff --git a/src/plugins/alias/tests/offsets/oracle/nested2.res.oracle b/src/plugins/alias/tests/offsets/oracle/nested2.res.oracle
index ea8759ffcda..7e366d279b7 100644
--- a/src/plugins/alias/tests/offsets/oracle/nested2.res.oracle
+++ b/src/plugins/alias/tests/offsets/oracle/nested2.res.oracle
@@ -62,36 +62,29 @@
 [alias] May-aliases at the end of instruction:
 [alias] analysing instruction: z1->s[0] = (struct struct_1_t *)(& x1);
 [alias] May-aliases at the end of instruction:
-  {z1->s[0], &x1} are aliased
 [alias] analysing instruction: z1->s[1] = (struct struct_1_t *)(& x2);
 [alias] May-aliases at the end of instruction:
-  {z1->s[0], &x1, &x2} are aliased
   {x1, x2} are aliased
 [alias] analysing instruction: z1->c = a;
 [alias] May-aliases at the end of instruction:
-  {z1->s[0], &x1, &x2} are aliased
   {x1, x2} are aliased
   {z1->c, a} are aliased
 [alias] analysing instruction: t->t = (struct struct_2_t *)z1;
 [alias] May-aliases at the end of instruction:
-  {z1->s[0], &x1, &x2} are aliased
   {x1, x2} are aliased
   {z1->c, a} are aliased
   {t->t, z1} are aliased
 [alias] analysing instruction: t->d = a;
 [alias] May-aliases at the end of instruction:
-  {z1->s[0], &x1, &x2} are aliased
   {x1, x2} are aliased
   {t->t, z1} are aliased
   {z1->c, t->d, a} are aliased
 [alias] analysing instruction: __retres = 0;
 [alias] May-aliases at the end of instruction:
-  {z1->s[0], &x1, &x2} are aliased
   {x1, x2} are aliased
   {t->t, z1} are aliased
   {z1->c, t->d, a} are aliased
 [alias] May-aliases at the end of function main:
-  {z1->s[0], &x1, &x2} are aliased
   {x1, x2} are aliased
   {t->t, z1} are aliased
   {z1->c, t->d, a} are aliased
diff --git a/src/plugins/alias/tests/offsets/oracle/structure1.res.oracle b/src/plugins/alias/tests/offsets/oracle/structure1.res.oracle
index acecc959147..d5590da52b6 100644
--- a/src/plugins/alias/tests/offsets/oracle/structure1.res.oracle
+++ b/src/plugins/alias/tests/offsets/oracle/structure1.res.oracle
@@ -6,23 +6,18 @@
 [alias] May-aliases at the end of instruction:
 [alias] analysing instruction: st_1_t *p_x = & x;
 [alias] May-aliases at the end of instruction:
-  {p_x, &x} are aliased
 [alias] analysing instruction: st_2_t *p_y = & y;
 [alias] May-aliases at the end of instruction:
-  {p_x, &x} are aliased
-  {p_y, &y} are aliased
 [alias] analysing instruction: p_x->a = 3;
 [alias] May-aliases at the end of instruction:
-  {p_x, &x} are aliased
-  {p_y, &y} are aliased
 [alias] analysing instruction: p_x = (st_1_t *)p_y;
 [alias] May-aliases at the end of instruction:
-  {p_x, p_y, &x, &y} are aliased
+  {p_x, p_y} are aliased
   {x, y} are aliased
 [alias] analysing instruction: __retres = 0;
 [alias] May-aliases at the end of instruction:
-  {p_x, p_y, &x, &y} are aliased
+  {p_x, p_y} are aliased
   {x, y} are aliased
 [alias] May-aliases at the end of function main:
-  {p_x, p_y, &x, &y} are aliased
+  {p_x, p_y} are aliased
   {x, y} are aliased
diff --git a/src/plugins/alias/tests/offsets/oracle/structure2.res.oracle b/src/plugins/alias/tests/offsets/oracle/structure2.res.oracle
index cd8369ba043..727282d1f44 100644
--- a/src/plugins/alias/tests/offsets/oracle/structure2.res.oracle
+++ b/src/plugins/alias/tests/offsets/oracle/structure2.res.oracle
@@ -6,15 +6,11 @@
 [alias] May-aliases at the end of instruction:
 [alias] analysing instruction: st_2_t y = {.s = (struct struct_1_t *)(& x1), .c = 4};
 [alias] May-aliases at the end of instruction:
-  {y.s, &x1} are aliased
 [alias] analysing instruction: y.s = (struct struct_1_t *)(& x2);
 [alias] May-aliases at the end of instruction:
-  {y.s, &x1, &x2} are aliased
   {x1, x2} are aliased
 [alias] analysing instruction: __retres = 0;
 [alias] May-aliases at the end of instruction:
-  {y.s, &x1, &x2} are aliased
   {x1, x2} are aliased
 [alias] May-aliases at the end of function main:
-  {y.s, &x1, &x2} are aliased
   {x1, x2} are aliased
diff --git a/src/plugins/alias/tests/offsets/oracle/structure3.res.oracle b/src/plugins/alias/tests/offsets/oracle/structure3.res.oracle
index 34834259336..ce6d4e5b70a 100644
--- a/src/plugins/alias/tests/offsets/oracle/structure3.res.oracle
+++ b/src/plugins/alias/tests/offsets/oracle/structure3.res.oracle
@@ -7,40 +7,22 @@
 [alias] analysing instruction: st_2_t y1 =
                            {.s = (struct struct_1_t *)(& x1), .c = 3};
 [alias] May-aliases at the end of instruction:
-  {y1.s, &x1} are aliased
 [alias] analysing instruction: st_2_t y2 =
                            {.s = (struct struct_1_t *)(& x2), .c = 4};
 [alias] May-aliases at the end of instruction:
-  {y1.s, &x1} are aliased
-  {y2.s, &x2} are aliased
 [alias] analysing instruction: st_3_t z = {.t = (struct struct_2_t *)(& y1), .d = 5};
 [alias] May-aliases at the end of instruction:
-  {y1.s, &x1} are aliased
-  {y2.s, &x2} are aliased
-  {z.t, &y1} are aliased
 [alias] analysing instruction: z.t = (struct struct_2_t *)(& y2);
 [alias] May-aliases at the end of instruction:
-  {y1.s, &x1} are aliased
-  {y2.s, &x2} are aliased
-  {z.t, &y1, &y2} are aliased
   {y1, y2} are aliased
 [alias] analysing instruction: y1.c = z.d;
 [alias] May-aliases at the end of instruction:
-  {y1.s, &x1} are aliased
-  {y2.s, &x2} are aliased
-  {z.t, &y1, &y2} are aliased
   {y1, y2} are aliased
   {y1.c, y2.c} are aliased
 [alias] analysing instruction: __retres = 0;
 [alias] May-aliases at the end of instruction:
-  {y1.s, &x1} are aliased
-  {y2.s, &x2} are aliased
-  {z.t, &y1, &y2} are aliased
   {y1, y2} are aliased
   {y1.c, y2.c} are aliased
 [alias] May-aliases at the end of function main:
-  {y1.s, &x1} are aliased
-  {y2.s, &x2} are aliased
-  {z.t, &y1, &y2} are aliased
   {y1, y2} are aliased
   {y1.c, y2.c} are aliased
diff --git a/src/plugins/alias/tests/offsets/oracle/structure4.res.oracle b/src/plugins/alias/tests/offsets/oracle/structure4.res.oracle
index 80f114c1836..fd1a2a7ba47 100644
--- a/src/plugins/alias/tests/offsets/oracle/structure4.res.oracle
+++ b/src/plugins/alias/tests/offsets/oracle/structure4.res.oracle
@@ -58,18 +58,17 @@
 [alias] May-aliases at the end of instruction:
 [alias] analysing instruction: y1 = & x1;
 [alias] May-aliases at the end of instruction:
-  {y1, &x1} are aliased
 [alias] analysing instruction: z->s = (struct struct_1_t *)y1;
 [alias] May-aliases at the end of instruction:
-  {z->s, y1, &x1} are aliased
+  {z->s, y1} are aliased
 [alias] analysing instruction: z->c = 6;
 [alias] May-aliases at the end of instruction:
-  {z->s, y1, &x1} are aliased
+  {z->s, y1} are aliased
 [alias] analysing instruction: __retres = 0;
 [alias] May-aliases at the end of instruction:
-  {z->s, y1, &x1} are aliased
+  {z->s, y1} are aliased
 [alias] May-aliases at the end of function main:
-  {z->s, y1, &x1} are aliased
+  {z->s, y1} are aliased
 [alias] analysing function: malloc
 [alias] May-aliases at the end of function malloc:
 [alias] analysing function: mblen
diff --git a/src/plugins/alias/tests/offsets/oracle/structure5.res.oracle b/src/plugins/alias/tests/offsets/oracle/structure5.res.oracle
index eb87468f3c7..8ba5b51253f 100644
--- a/src/plugins/alias/tests/offsets/oracle/structure5.res.oracle
+++ b/src/plugins/alias/tests/offsets/oracle/structure5.res.oracle
@@ -1,46 +1,156 @@
 [kernel] Parsing structure5.c (with preprocessing)
+[alias] analysing function: _Exit
+[alias] May-aliases at the end of function _Exit:
+[alias] analysing function: abort
+[alias] May-aliases at the end of function abort:
+[alias] analysing function: abs
+[alias] May-aliases at the end of function abs:
+[alias] analysing function: at_quick_exit
+[alias] May-aliases at the end of function at_quick_exit:
+[alias] analysing function: atexit
+[alias] May-aliases at the end of function atexit:
+[alias] analysing function: atof
+[alias] May-aliases at the end of function atof:
+[alias] analysing function: atoi
+[alias] May-aliases at the end of function atoi:
+[alias] analysing function: atol
+[alias] May-aliases at the end of function atol:
+[alias] analysing function: atoll
+[alias] May-aliases at the end of function atoll:
+[alias] analysing function: bsearch
+[alias] May-aliases at the end of function bsearch:
+[alias] analysing function: calloc
+[alias] May-aliases at the end of function calloc:
+[alias] analysing function: div
+[alias] May-aliases at the end of function div:
+[alias] analysing function: drand48
+[alias] May-aliases at the end of function drand48:
+[alias] analysing function: erand48
+[alias] May-aliases at the end of function erand48:
+[alias] analysing function: exit
+[alias] May-aliases at the end of function exit:
+[alias] analysing function: free
+[alias] May-aliases at the end of function free:
+[alias] analysing function: getenv
+[alias] May-aliases at the end of function getenv:
+[alias] analysing function: jrand48
+[alias] May-aliases at the end of function jrand48:
+[alias] analysing function: labs
+[alias] May-aliases at the end of function labs:
+[alias] analysing function: lcong48
+[alias] May-aliases at the end of function lcong48:
+[alias] analysing function: ldiv
+[alias] May-aliases at the end of function ldiv:
+[alias] analysing function: llabs
+[alias] May-aliases at the end of function llabs:
+[alias] analysing function: lldiv
+[alias] May-aliases at the end of function lldiv:
+[alias] analysing function: lrand48
+[alias] May-aliases at the end of function lrand48:
+[alias] analysing function: main
+[alias] analysing instruction: st_1_t x1 = {.a = 0, .b = 1};
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: st_1_t x2 = {.a = 1, .b = 2};
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: st_1_t *y1 = malloc(sizeof(st_1_t));
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: st_2_t *z = malloc(sizeof(st_2_t));
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: st_3_t *t = malloc(sizeof(st_3_t));
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: int *a = malloc(sizeof(int));
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: *a = 0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: y1 = & x1;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: z->s = (struct struct_1_t *)y1;
+[alias] May-aliases at the end of instruction:
+  {z->s, y1} are aliased
+[alias] analysing instruction: z->c = a;
+[alias] May-aliases at the end of instruction:
+  {z->s, y1} are aliased
+  {z->c, a} are aliased
+[alias] analysing instruction: t->t = (struct struct_2_t *)z;
+[alias] May-aliases at the end of instruction:
+  {z->s, y1} are aliased
+  {z->c, a} are aliased
+  {t->t, z} are aliased
+[alias] analysing instruction: t->d = a;
+[alias] May-aliases at the end of instruction:
+  {z->s, y1} are aliased
+  {t->t, z} are aliased
+  {z->c, t->d, a} are aliased
+[alias] analysing instruction: __retres = 0;
+[alias] May-aliases at the end of instruction:
+  {z->s, y1} are aliased
+  {t->t, z} are aliased
+  {z->c, t->d, a} are aliased
 [alias] May-aliases at the end of function main:
-  {z->s, y1, &x1} are aliased
+  {z->s, y1} are aliased
   {t->t, z} are aliased
   {z->c, t->d, a} are aliased
-Before statement st_1_t x1 = {.a = 0, .b = 1}; :
- 
-Before statement st_1_t x2 = {.a = 1, .b = 2}; :
- 
-Before statement st_1_t *y1 = malloc(sizeof(st_1_t)); :
- 
-Before statement st_2_t *z = malloc(sizeof(st_2_t)); :
- 
-Before statement st_3_t *t = malloc(sizeof(st_3_t)); :
- 
-Before statement int *a = malloc(sizeof(int)); :
- 
-Before statement *a = 0; :
- 
-Before statement y1 = & x1; :
- 
-Before statement z->s = (struct struct_1_t *)y1; :
- {y1, &x1} are aliased
-
-Before statement z->c = a; :
- {z->s, y1, &x1} are aliased
-
-Before statement t->t = (struct struct_2_t *)z; :
- {z->s, y1, &x1} are aliased
-{z->c, a} are aliased
-
-Before statement t->d = a; :
- {z->s, y1, &x1} are aliased
-{z->c, a} are aliased
-{t->t, z} are aliased
-
-Before statement __retres = 0; :
- {z->s, y1, &x1} are aliased
-{t->t, z} are aliased
-{z->c, t->d, a} are aliased
-
-Before statement return __retres; :
- {z->s, y1, &x1} are aliased
-{t->t, z} are aliased
-{z->c, t->d, a} are aliased
-
+[alias] analysing function: malloc
+[alias] May-aliases at the end of function malloc:
+[alias] analysing function: mblen
+[alias] May-aliases at the end of function mblen:
+[alias] analysing function: mbstowcs
+[alias] May-aliases at the end of function mbstowcs:
+[alias] analysing function: mbtowc
+[alias] May-aliases at the end of function mbtowc:
+[alias] analysing function: mkstemp
+[alias] May-aliases at the end of function mkstemp:
+[alias] analysing function: mkstemps
+[alias] May-aliases at the end of function mkstemps:
+[alias] analysing function: mrand48
+[alias] May-aliases at the end of function mrand48:
+[alias] analysing function: nrand48
+[alias] May-aliases at the end of function nrand48:
+[alias] analysing function: posix_memalign
+[alias] May-aliases at the end of function posix_memalign:
+[alias] analysing function: putenv
+[alias] May-aliases at the end of function putenv:
+[alias] analysing function: qsort
+[alias] May-aliases at the end of function qsort:
+[alias] analysing function: quick_exit
+[alias] May-aliases at the end of function quick_exit:
+[alias] analysing function: rand
+[alias] May-aliases at the end of function rand:
+[alias] analysing function: random
+[alias] May-aliases at the end of function random:
+[alias] analysing function: realloc
+[alias] May-aliases at the end of function realloc:
+[alias] analysing function: reallocarray
+[alias] May-aliases at the end of function reallocarray:
+[alias] analysing function: seed48
+[alias] May-aliases at the end of function seed48:
+[alias] analysing function: setenv
+[alias] May-aliases at the end of function setenv:
+[alias] analysing function: srand
+[alias] May-aliases at the end of function srand:
+[alias] analysing function: srand48
+[alias] May-aliases at the end of function srand48:
+[alias] analysing function: srandom
+[alias] May-aliases at the end of function srandom:
+[alias] analysing function: strtod
+[alias] May-aliases at the end of function strtod:
+[alias] analysing function: strtof
+[alias] May-aliases at the end of function strtof:
+[alias] analysing function: strtol
+[alias] May-aliases at the end of function strtol:
+[alias] analysing function: strtold
+[alias] May-aliases at the end of function strtold:
+[alias] analysing function: strtoll
+[alias] May-aliases at the end of function strtoll:
+[alias] analysing function: strtoul
+[alias] May-aliases at the end of function strtoul:
+[alias] analysing function: strtoull
+[alias] May-aliases at the end of function strtoull:
+[alias] analysing function: system
+[alias] May-aliases at the end of function system:
+[alias] analysing function: unsetenv
+[alias] May-aliases at the end of function unsetenv:
+[alias] analysing function: wcstombs
+[alias] May-aliases at the end of function wcstombs:
+[alias] analysing function: wctomb
+[alias] May-aliases at the end of function wctomb:
-- 
GitLab