From 9baeebfaae2c2a98c4713d334c8a8ceb63b96403 Mon Sep 17 00:00:00 2001
From: Jan Rochel <jan.rochel@cea.fr>
Date: Mon, 27 Mar 2023 12:46:00 +0200
Subject: [PATCH] [alias] update oracles

---
 .../tests/basic/oracle/assignment1.res.oracle |  43 +-
 .../tests/basic/oracle/assignment2.res.oracle |  49 +-
 .../tests/basic/oracle/assignment3.res.oracle |  33 +-
 .../tests/basic/oracle/assignment4.res.oracle |  45 +-
 .../tests/basic/oracle/assignment5.res.oracle |  49 +-
 .../alias/tests/basic/oracle/cast1.res.oracle |  41 +-
 .../basic/oracle/conditional1.res.oracle      |  40 +-
 .../basic/oracle/conditional2.res.oracle      |  62 +-
 .../tests/basic/oracle/function1.res.oracle   |  75 +-
 .../tests/basic/oracle/function2.res.oracle   | 153 +++-
 .../tests/basic/oracle/function3.res.oracle   |  85 +--
 .../tests/basic/oracle/function4.res.oracle   |  37 +-
 .../tests/basic/oracle/function5.res.oracle   |  68 +-
 .../tests/basic/oracle/if_then1.res.oracle    |  59 +-
 .../tests/basic/oracle/switch1.res.oracle     |  53 +-
 .../tests/basic/oracle/switch2.res.oracle     |  59 +-
 .../tests/basic/oracle/while_for1.res.oracle  | 156 +++-
 .../tests/basic/oracle/while_for2.res.oracle  |  53 +-
 .../tests/basic/oracle/while_for3.res.oracle  |  77 +-
 .../tests/offsets/oracle/array1.res.oracle    |  39 +-
 .../tests/offsets/oracle/array2.res.oracle    |  29 +-
 .../tests/offsets/oracle/collapse1.res.oracle |  54 +-
 .../tests/offsets/oracle/collapse2.res.oracle |  31 +-
 .../tests/offsets/oracle/collapse3.res.oracle |  31 +-
 .../tests/offsets/oracle/nested1.res.oracle   | 273 +++++--
 .../tests/offsets/oracle/nested2.res.oracle   | 199 +++--
 .../offsets/oracle/structure1.res.oracle      |  49 +-
 .../offsets/oracle/structure2.res.oracle      |  33 +-
 .../offsets/oracle/structure3.res.oracle      |  77 +-
 .../offsets/oracle/structure4.res.oracle      | 155 +++-
 .../real_world/oracle/example1.res.oracle     | 690 +++++++++++-------
 31 files changed, 1729 insertions(+), 1168 deletions(-)

diff --git a/src/plugins/alias/tests/basic/oracle/assignment1.res.oracle b/src/plugins/alias/tests/basic/oracle/assignment1.res.oracle
index 533a4a28360..2d4c8830c82 100644
--- a/src/plugins/alias/tests/basic/oracle/assignment1.res.oracle
+++ b/src/plugins/alias/tests/basic/oracle/assignment1.res.oracle
@@ -1,25 +1,24 @@
 [kernel] Parsing assignment1.c (with preprocessing)
+[alias] analysing function: main
+[alias] analysing instruction: int *a = (int *)0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: int *b = (int *)0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: int *c = (int *)0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: int *d = (int *)0;
+[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: b = c;
+[alias] May-aliases at the end of instruction:
+  {a, b, c} are aliased
+[alias] analysing instruction: a = d;
+[alias] May-aliases at the end of instruction:
+  {a, b, c, d} are aliased
+[alias] analysing instruction: __retres = 0;
+[alias] May-aliases at the end of instruction:
+  {a, b, c, d} are aliased
 [alias] May-aliases at the end of function main:
   {a, b, c, d} are aliased
-Before statement int *a = (int *)0; :
- 
-Before statement int *b = (int *)0; :
- 
-Before statement int *c = (int *)0; :
- 
-Before statement int *d = (int *)0; :
- 
-Before statement a = b; :
- 
-Before statement b = c; :
- {a, b} are aliased
-
-Before statement a = d; :
- {a, b, c} are aliased
-
-Before statement __retres = 0; :
- {a, b, c, d} are aliased
-
-Before statement return __retres; :
- {a, b, c, d} are aliased
-
diff --git a/src/plugins/alias/tests/basic/oracle/assignment2.res.oracle b/src/plugins/alias/tests/basic/oracle/assignment2.res.oracle
index 543c44ff607..18c5adee7ee 100644
--- a/src/plugins/alias/tests/basic/oracle/assignment2.res.oracle
+++ b/src/plugins/alias/tests/basic/oracle/assignment2.res.oracle
@@ -1,29 +1,28 @@
 [kernel] Parsing assignment2.c (with preprocessing)
+[alias] analysing function: main
+[alias] analysing instruction: int **a = (int **)0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: int *b = (int *)0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: int **c = (int **)0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: int *d = (int *)0;
+[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 = d;
+[alias] May-aliases at the end of instruction:
+  {*a, b} are aliased
+  {*c, d} are aliased
+[alias] analysing instruction: a = c;
+[alias] May-aliases at the end of instruction:
+  {a, c} are aliased
+  {*a, *c, b, d} are aliased
+[alias] analysing instruction: __retres = 0;
+[alias] May-aliases at the end of instruction:
+  {a, c} are aliased
+  {*a, *c, b, d} are aliased
 [alias] May-aliases at the end of function main:
   {a, c} are aliased
   {*a, *c, b, d} are aliased
-Before statement int **a = (int **)0; :
- 
-Before statement int *b = (int *)0; :
- 
-Before statement int **c = (int **)0; :
- 
-Before statement int *d = (int *)0; :
- 
-Before statement *a = b; :
- 
-Before statement *c = d; :
- {*a, b} are aliased
-
-Before statement a = c; :
- {*a, b} are aliased
-{*c, d} are aliased
-
-Before statement __retres = 0; :
- {a, c} are aliased
-{*a, *c, b, d} are aliased
-
-Before statement return __retres; :
- {a, c} are aliased
-{*a, *c, b, d} are aliased
-
diff --git a/src/plugins/alias/tests/basic/oracle/assignment3.res.oracle b/src/plugins/alias/tests/basic/oracle/assignment3.res.oracle
index 421f8d8a689..ea0ba003235 100644
--- a/src/plugins/alias/tests/basic/oracle/assignment3.res.oracle
+++ b/src/plugins/alias/tests/basic/oracle/assignment3.res.oracle
@@ -1,20 +1,19 @@
 [kernel] Parsing assignment3.c (with preprocessing)
+[alias] analysing function: main
+[alias] analysing instruction: int *a = (int *)0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: int b = 0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: int *c = (int *)0;
+[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
-Before statement int *a = (int *)0; :
- 
-Before statement int b = 0; :
- 
-Before statement int *c = (int *)0; :
- 
-Before statement a = & b; :
- 
-Before statement c = & b; :
- {a, &b} are aliased
-
-Before statement __retres = 0; :
- {a, c, &b} are aliased
-
-Before statement return __retres; :
- {a, c, &b} are aliased
-
diff --git a/src/plugins/alias/tests/basic/oracle/assignment4.res.oracle b/src/plugins/alias/tests/basic/oracle/assignment4.res.oracle
index dfd7442f4ea..1ac19a8b178 100644
--- a/src/plugins/alias/tests/basic/oracle/assignment4.res.oracle
+++ b/src/plugins/alias/tests/basic/oracle/assignment4.res.oracle
@@ -1,26 +1,25 @@
 [kernel] Parsing assignment4.c (with preprocessing)
+[alias] analysing function: main
+[alias] analysing instruction: int **a = (int **)0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: int *b = (int *)0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: int **c = (int **)0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: int *d = (int *)0;
+[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 = d;
+[alias] May-aliases at the end of instruction:
+  {*a, b} are aliased
+  {*c, d} are aliased
+[alias] analysing instruction: b = d;
+[alias] May-aliases at the end of instruction:
+  {*a, *c, b, d} are aliased
+[alias] analysing instruction: __retres = 0;
+[alias] May-aliases at the end of instruction:
+  {*a, *c, b, d} are aliased
 [alias] May-aliases at the end of function main:
   {*a, *c, b, d} are aliased
-Before statement int **a = (int **)0; :
- 
-Before statement int *b = (int *)0; :
- 
-Before statement int **c = (int **)0; :
- 
-Before statement int *d = (int *)0; :
- 
-Before statement *a = b; :
- 
-Before statement *c = d; :
- {*a, b} are aliased
-
-Before statement b = d; :
- {*a, b} are aliased
-{*c, d} are aliased
-
-Before statement __retres = 0; :
- {*a, *c, b, d} are aliased
-
-Before statement return __retres; :
- {*a, *c, b, d} are aliased
-
diff --git a/src/plugins/alias/tests/basic/oracle/assignment5.res.oracle b/src/plugins/alias/tests/basic/oracle/assignment5.res.oracle
index 9f985ed670a..361b6166dbd 100644
--- a/src/plugins/alias/tests/basic/oracle/assignment5.res.oracle
+++ b/src/plugins/alias/tests/basic/oracle/assignment5.res.oracle
@@ -1,29 +1,28 @@
 [kernel] Parsing assignment5.c (with preprocessing)
+[alias] analysing function: main
+[alias] analysing instruction: int ***a = (int ***)0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: int **b = (int **)0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: int *c = (int *)0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: int *d = (int *)0;
+[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: *b = c;
+[alias] May-aliases at the end of instruction:
+  {*a, b} are aliased
+  {*b, c} are aliased
+[alias] analysing instruction: d = *(*a);
+[alias] May-aliases at the end of instruction:
+  {*a, b} are aliased
+  {*(*a), *b, c, d} are aliased
+[alias] analysing instruction: __retres = 0;
+[alias] May-aliases at the end of instruction:
+  {*a, b} are aliased
+  {*(*a), *b, c, d} are aliased
 [alias] May-aliases at the end of function main:
   {*a, b} are aliased
   {*(*a), *b, c, d} are aliased
-Before statement int ***a = (int ***)0; :
- 
-Before statement int **b = (int **)0; :
- 
-Before statement int *c = (int *)0; :
- 
-Before statement int *d = (int *)0; :
- 
-Before statement *a = b; :
- 
-Before statement *b = c; :
- {*a, b} are aliased
-
-Before statement d = *(*a); :
- {*a, b} are aliased
-{*b, c} are aliased
-
-Before statement __retres = 0; :
- {*a, b} are aliased
-{*(*a), *b, c, d} are aliased
-
-Before statement return __retres; :
- {*a, b} are aliased
-{*(*a), *b, c, d} are aliased
-
diff --git a/src/plugins/alias/tests/basic/oracle/cast1.res.oracle b/src/plugins/alias/tests/basic/oracle/cast1.res.oracle
index 9a17da89ca8..4652f0a8909 100644
--- a/src/plugins/alias/tests/basic/oracle/cast1.res.oracle
+++ b/src/plugins/alias/tests/basic/oracle/cast1.res.oracle
@@ -1,25 +1,24 @@
 [kernel] Parsing cast1.c (with preprocessing)
+[alias] analysing function: main
+[alias] analysing instruction: int *a = (int *)0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: int *b = (int *)0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: float *c = (float *)0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: float *d = (float *)0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: a = (int *)c;
+[alias] May-aliases at the end of instruction:
+  {a, c} are aliased
+[alias] analysing instruction: d = (float *)b;
+[alias] May-aliases at the end of instruction:
+  {a, c} are aliased
+  {b, d} are aliased
+[alias] analysing instruction: __retres = 0;
+[alias] May-aliases at the end of instruction:
+  {a, c} are aliased
+  {b, d} are aliased
 [alias] May-aliases at the end of function main:
   {a, c} are aliased
   {b, d} are aliased
-Before statement int *a = (int *)0; :
- 
-Before statement int *b = (int *)0; :
- 
-Before statement float *c = (float *)0; :
- 
-Before statement float *d = (float *)0; :
- 
-Before statement a = (int *)c; :
- 
-Before statement d = (float *)b; :
- {a, c} are aliased
-
-Before statement __retres = 0; :
- {a, c} are aliased
-{b, d} are aliased
-
-Before statement return __retres; :
- {a, c} are aliased
-{b, d} are aliased
-
diff --git a/src/plugins/alias/tests/basic/oracle/conditional1.res.oracle b/src/plugins/alias/tests/basic/oracle/conditional1.res.oracle
index bcc4b83a354..e67c88eaab9 100644
--- a/src/plugins/alias/tests/basic/oracle/conditional1.res.oracle
+++ b/src/plugins/alias/tests/basic/oracle/conditional1.res.oracle
@@ -1,24 +1,22 @@
 [kernel] Parsing conditional1.c (with preprocessing)
+[alias] analysing function: main
+[alias] analysing instruction: int *a = (int *)0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: int *b = (int *)0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: int *c = (int *)0;
+[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: a = c;
+[alias] May-aliases at the end of instruction:
+  {a, c} are aliased
+[alias] analysing instruction: *a = 4;
+[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
-Before statement int *a = (int *)0; :
- 
-Before statement int *b = (int *)0; :
- 
-Before statement int *c = (int *)0; :
- 
-Before statement if (a) a = b; else a = c; :
- 
-Before statement a = b; :
- 
-Before statement a = c; :
- 
-Before statement *a = 4; :
- {a, b, c} are aliased
-
-Before statement __retres = 0; :
- {a, b, c} are aliased
-
-Before statement return __retres; :
- {a, b, c} 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 1e6ad30b528..194afa48bf6 100644
--- a/src/plugins/alias/tests/basic/oracle/conditional2.res.oracle
+++ b/src/plugins/alias/tests/basic/oracle/conditional2.res.oracle
@@ -1,39 +1,33 @@
 [kernel] Parsing conditional2.c (with preprocessing)
+[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
+[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
 [alias] May-aliases at the end of function main:
   {d, &e} are aliased
   {a, b, &c} are aliased
   {c, &d} are aliased
-Before statement b = & c; :
- 
-Before statement c = & d; :
- {b, &c} are aliased
-
-Before statement d = & e; :
- {b, &c} are aliased
-{c, &d} are aliased
-
-Before statement if (a) a = b; else a = & c; :
- {b, &c} are aliased
-{c, &d} are aliased
-{d, &e} are aliased
-
-Before statement a = b; :
- {b, &c} are aliased
-{c, &d} are aliased
-{d, &e} are aliased
-
-Before statement a = & c; :
- {b, &c} are aliased
-{c, &d} are aliased
-{d, &e} are aliased
-
-Before statement __retres = 0; :
- {d, &e} are aliased
-{a, b, &c} are aliased
-{c, &d} are aliased
-
-Before statement return __retres; :
- {d, &e} are aliased
-{a, b, &c} are aliased
-{c, &d} are aliased
-
diff --git a/src/plugins/alias/tests/basic/oracle/function1.res.oracle b/src/plugins/alias/tests/basic/oracle/function1.res.oracle
index 18e2d97de5d..b6e57cde5b1 100644
--- a/src/plugins/alias/tests/basic/oracle/function1.res.oracle
+++ b/src/plugins/alias/tests/basic/oracle/function1.res.oracle
@@ -1,40 +1,43 @@
 [kernel] Parsing function1.c (with preprocessing)
+[alias] analysing function: main
+[alias] analysing instruction: int *a = (int *)0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: int *b = (int *)0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: int *c = (int *)0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: int *d = (int *)0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: swap(a,b);
+[alias] analysing function: swap
+[alias] analysing instruction: int *z = (int *)0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: z = x;
+[alias] May-aliases at the end of instruction:
+  {x, z} are aliased
+[alias] analysing instruction: x = y;
+[alias] May-aliases at the end of instruction:
+  {x, y, z} are aliased
+[alias] analysing instruction: y = z;
+[alias] May-aliases at the end of instruction:
+  {x, y, z} are aliased
+[alias] May-aliases at the end of function swap:
+  {x, y, z} are aliased
+[alias] May-aliases at the end of instruction:
+  {a, b} are aliased
+[alias] analysing instruction: swap(c,d);
+[alias] May-aliases at the end of instruction:
+  {a, b} are aliased
+  {c, d} are aliased
+[alias] analysing instruction: __retres = 0;
+[alias] May-aliases at the end of instruction:
+  {a, b} are aliased
+  {c, d} are aliased
 [alias] May-aliases at the end of function main:
   {a, b} are aliased
   {c, d} are aliased
-Before statement int *z = (int *)0; :
- 
-Before statement return __retres; :
- {a, b} are aliased
-{c, d} are aliased
-
-Before statement int *z = (int *)0; :
- 
-Before statement z = x; :
- 
-Before statement x = y; :
- {x, z} are aliased
-
-Before statement y = z; :
- {x, y, z} are aliased
-
-Before statement int *a = (int *)0; :
- 
-Before statement int *b = (int *)0; :
- 
-Before statement int *c = (int *)0; :
- 
-Before statement int *d = (int *)0; :
- 
-Before statement swap(a,b); :
- 
-Before statement swap(c,d); :
- {a, b} are aliased
-
-Before statement __retres = 0; :
- {a, b} are aliased
-{c, d} are aliased
-
-Before statement return; :
- {x, y, z} are aliased
-
+[alias] analysing function: swap
+[alias] analysing instruction: int *z = (int *)0;
+[alias] May-aliases at the end of instruction:
+[alias] May-aliases at the end of function swap:
+  {x, y, z} are aliased
diff --git a/src/plugins/alias/tests/basic/oracle/function2.res.oracle b/src/plugins/alias/tests/basic/oracle/function2.res.oracle
index 9f7ebeed03b..fdeb62fc452 100644
--- a/src/plugins/alias/tests/basic/oracle/function2.res.oracle
+++ b/src/plugins/alias/tests/basic/oracle/function2.res.oracle
@@ -1,22 +1,135 @@
 [kernel] Parsing function2.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: int *a = (int *)0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: int *b = (int *)0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: a = my_malloc(2);
+[alias] analysing function: my_malloc
+[alias] analysing instruction: int *res = (int *)0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: res = (int *)malloc((size_t)size);
+[alias] May-aliases at the end of instruction:
+[alias] May-aliases at the end of function my_malloc:
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: b = my_malloc(3);
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: __retres = 0;
+[alias] May-aliases at the end of instruction:
 [alias] May-aliases at the end of function main:
-Before statement int *res = (int *)0; :
- 
-Before statement int *res = (int *)0; :
- 
-Before statement res = (int *)malloc((size_t)size); :
- 
-Before statement return res; :
- 
-Before statement int *a = (int *)0; :
- 
-Before statement int *b = (int *)0; :
- 
-Before statement a = my_malloc(2); :
- 
-Before statement b = my_malloc(3); :
- 
-Before statement __retres = 0; :
- 
-Before statement return __retres; :
- 
+[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: my_malloc
+[alias] analysing instruction: int *res = (int *)0;
+[alias] May-aliases at the end of instruction:
+[alias] May-aliases at the end of function my_malloc:
+[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:
diff --git a/src/plugins/alias/tests/basic/oracle/function3.res.oracle b/src/plugins/alias/tests/basic/oracle/function3.res.oracle
index 45664b0859c..d1cea672b57 100644
--- a/src/plugins/alias/tests/basic/oracle/function3.res.oracle
+++ b/src/plugins/alias/tests/basic/oracle/function3.res.oracle
@@ -1,54 +1,39 @@
 [kernel] Parsing function3.c (with preprocessing)
+[alias] analysing function: f1
+[alias] analysing instruction: int *tmp = x;
+[alias] May-aliases at the end of instruction:
+  {x, tmp} are aliased
+[alias] analysing instruction: x = y;
+[alias] May-aliases at the end of instruction:
+  {x, y, tmp} are aliased
+[alias] analysing instruction: y = tmp;
+[alias] May-aliases at the end of instruction:
+  {x, y, tmp} are aliased
+[alias] analysing instruction: __retres = (void *)0;
+[alias] May-aliases at the end of instruction:
+  {x, y, tmp} are aliased
+[alias] May-aliases at the end of function f1:
+  {x, y, tmp} are aliased
+[alias] analysing function: main
+[alias] analysing instruction: int *a = (int *)0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: int *b = (int *)0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: int *c = (int *)0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: int *d = (int *)0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: f1(a,b);
+[alias] May-aliases at the end of instruction:
+  {a, b} are aliased
+[alias] analysing instruction: f1(c,d);
+[alias] May-aliases at the end of instruction:
+  {a, b} are aliased
+  {c, d} are aliased
+[alias] analysing instruction: __retres = 0;
+[alias] May-aliases at the end of instruction:
+  {a, b} are aliased
+  {c, d} are aliased
 [alias] May-aliases at the end of function main:
   {a, b} are aliased
   {c, d} are aliased
-Before statement return __retres; :
- {x, y, tmp} are aliased
-
-Before statement int *tmp = x; :
- 
-Before statement while (1) {
-                   x = y;
-                   y = tmp;
-                   break;
-                 } :
- {x, tmp} are aliased
-
-Before statement return __retres; :
- {a, b} are aliased
-{c, d} are aliased
-
-Before statement x = y;
-                 y = tmp;
-                 break; :
- {x, tmp} are aliased
-
-Before statement x = y; :
- {x, tmp} are aliased
-
-Before statement y = tmp; :
- {x, y, tmp} are aliased
-
-Before statement break; :
- {x, y, tmp} are aliased
-
-Before statement __retres = (void *)0; :
- {x, y, tmp} are aliased
-
-Before statement int *a = (int *)0; :
- 
-Before statement int *b = (int *)0; :
- 
-Before statement int *c = (int *)0; :
- 
-Before statement int *d = (int *)0; :
- 
-Before statement f1(a,b); :
- 
-Before statement f1(c,d); :
- {a, b} are aliased
-
-Before statement __retres = 0; :
- {a, b} are aliased
-{c, d} 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 ea46094333a..ed47931573b 100644
--- a/src/plugins/alias/tests/basic/oracle/function4.res.oracle
+++ b/src/plugins/alias/tests/basic/oracle/function4.res.oracle
@@ -1,22 +1,21 @@
 [kernel] Parsing function4.c (with preprocessing)
+[alias] analysing function: addr
+[alias] May-aliases at the end of function addr:
+[alias] analysing function: main
+[alias] analysing instruction: int *a = (int *)0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: int *b = (int *)0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: int c = 0;
+[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
-Before statement return x; :
- 
-Before statement int *a = (int *)0; :
- 
-Before statement int *b = (int *)0; :
- 
-Before statement int c = 0; :
- 
-Before statement a = addr(& c); :
- 
-Before statement b = & c; :
- {a, &c} are aliased
-
-Before statement __retres = 0; :
- {a, b, &c} are aliased
-
-Before statement return __retres; :
- {a, b, &c} are aliased
-
diff --git a/src/plugins/alias/tests/basic/oracle/function5.res.oracle b/src/plugins/alias/tests/basic/oracle/function5.res.oracle
index d2eb8570932..fda3e619225 100644
--- a/src/plugins/alias/tests/basic/oracle/function5.res.oracle
+++ b/src/plugins/alias/tests/basic/oracle/function5.res.oracle
@@ -1,47 +1,27 @@
 [kernel] Parsing function5.c (with preprocessing)
+[alias] analysing function: choice
+[alias] analysing instruction: int c = 0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: __retres = x;
+[alias] May-aliases at the end of instruction:
+  {x, __retres} are aliased
+[alias] analysing instruction: __retres = y;
+[alias] May-aliases at the end of instruction:
+  {y, __retres} are aliased
+[alias] May-aliases at the end of function choice:
+  {x, y, __retres} are aliased
+[alias] analysing function: main
+[alias] analysing instruction: int *a = (int *)0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: int *b = (int *)0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: int *c = (int *)0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: c = choice(a,b);
+[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
-Before statement goto return_label; :
- {x, __retres} are aliased
-
-Before statement __retres = y;
-                 goto return_label; :
- 
-Before statement int c = 0; :
- 
-Before statement goto return_label; :
- {y, __retres} are aliased
-
-Before statement return_label: return __retres; :
- {x, y, __retres} are aliased
-
-Before statement if (c) {
-                   __retres = x;
-                   goto return_label;
-                 }
-                 else {
-                   __retres = y;
-                   goto return_label;
-                 } :
- 
-Before statement return __retres; :
- {a, b, c} are aliased
-
-Before statement __retres = x; :
- 
-Before statement __retres = y; :
- 
-Before statement int *a = (int *)0; :
- 
-Before statement int *b = (int *)0; :
- 
-Before statement int *c = (int *)0; :
- 
-Before statement c = choice(a,b); :
- 
-Before statement __retres = 0; :
- {a, b, c} are aliased
-
-Before statement __retres = x;
-                 goto return_label; :
- 
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 9409d446e82..287860520ec 100644
--- a/src/plugins/alias/tests/basic/oracle/if_then1.res.oracle
+++ b/src/plugins/alias/tests/basic/oracle/if_then1.res.oracle
@@ -1,37 +1,32 @@
 [kernel] Parsing if_then1.c (with preprocessing)
+[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
-Before statement a = & x; :
- 
-Before statement b = & y; :
- {a, &x} are aliased
-
-Before statement if (p) y = & z; else y = & x; :
- {a, &x} are aliased
-{b, &y} are aliased
-
-Before statement y = & z; :
- {a, &x} are aliased
-{b, &y} are aliased
-
-Before statement y = & x; :
- {a, &x} are aliased
-{b, &y} are aliased
-
-Before statement c = & y; :
- {a, y, &x, &z} are aliased
-{x, z} are aliased
-{b, &y} are aliased
-
-Before statement __retres = 0; :
- {x, z} are aliased
-{b, c, &y} are aliased
-{a, y, &x, &z} are aliased
-
-Before statement return __retres; :
- {x, z} are aliased
-{b, c, &y} are aliased
-{a, y, &x, &z} are aliased
-
diff --git a/src/plugins/alias/tests/basic/oracle/switch1.res.oracle b/src/plugins/alias/tests/basic/oracle/switch1.res.oracle
index e028f12d8d3..857747d8330 100644
--- a/src/plugins/alias/tests/basic/oracle/switch1.res.oracle
+++ b/src/plugins/alias/tests/basic/oracle/switch1.res.oracle
@@ -1,36 +1,23 @@
 [kernel] Parsing switch1.c (with preprocessing)
+[alias] analysing function: main
+[alias] analysing instruction: int *a = (int *)0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: int *b = (int *)0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: int *c = (int *)0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: int *d = (int *)0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: int e = 0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: case 1: a = d;
+[alias] May-aliases at the end of instruction:
+  {a, d} are aliased
+[alias] analysing instruction: case 2: b = d;
+[alias] May-aliases at the end of instruction:
+  {b, d} are aliased
+[alias] analysing instruction: __retres = 0;
+[alias] May-aliases at the end of instruction:
+  {a, b, d} are aliased
 [alias] May-aliases at the end of function main:
   {a, b, d} are aliased
-Before statement int *a = (int *)0; :
- 
-Before statement int *b = (int *)0; :
- 
-Before statement int *c = (int *)0; :
- 
-Before statement int *d = (int *)0; :
- 
-Before statement int e = 0; :
- 
-Before statement switch (e) {
-                   case 1: a = d;
-                   break;
-                   case 2: b = d;
-                   break;
-                 } :
- 
-Before statement case 1: a = d; :
- 
-Before statement break; :
- {a, d} are aliased
-
-Before statement case 2: b = d; :
- 
-Before statement break; :
- {b, d} are aliased
-
-Before statement __retres = 0; :
- {a, b, d} are aliased
-
-Before statement return __retres; :
- {a, b, d} are aliased
-
diff --git a/src/plugins/alias/tests/basic/oracle/switch2.res.oracle b/src/plugins/alias/tests/basic/oracle/switch2.res.oracle
index 6fcd78115e6..141cc19b1c3 100644
--- a/src/plugins/alias/tests/basic/oracle/switch2.res.oracle
+++ b/src/plugins/alias/tests/basic/oracle/switch2.res.oracle
@@ -1,39 +1,26 @@
 [kernel] Parsing switch2.c (with preprocessing)
+[alias] analysing function: main
+[alias] analysing instruction: int *a = (int *)0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: int *b = (int *)0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: int *c = (int *)0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: int *d = (int *)0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: int e = 0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: case 1: a = d;
+[alias] May-aliases at the end of instruction:
+  {a, d} are aliased
+[alias] analysing instruction: case 2: b = d;
+[alias] May-aliases at the end of instruction:
+  {b, d} are aliased
+[alias] analysing instruction: default: c = d;
+[alias] May-aliases at the end of instruction:
+  {c, d} are aliased
+[alias] analysing instruction: __retres = 0;
+[alias] May-aliases at the end of instruction:
+  {a, b, c, d} are aliased
 [alias] May-aliases at the end of function main:
   {a, b, c, d} are aliased
-Before statement int *a = (int *)0; :
- 
-Before statement int *b = (int *)0; :
- 
-Before statement int *c = (int *)0; :
- 
-Before statement int *d = (int *)0; :
- 
-Before statement int e = 0; :
- 
-Before statement switch (e) {
-                   case 1: a = d;
-                   break;
-                   case 2: b = d;
-                   break;
-                   default: c = d;
-                 } :
- 
-Before statement case 1: a = d; :
- 
-Before statement break; :
- {a, d} are aliased
-
-Before statement case 2: b = d; :
- 
-Before statement break; :
- {b, d} are aliased
-
-Before statement default: c = d; :
- 
-Before statement __retres = 0; :
- {a, b, c, d} are aliased
-
-Before statement return __retres; :
- {a, b, c, d} are aliased
-
diff --git a/src/plugins/alias/tests/basic/oracle/while_for1.res.oracle b/src/plugins/alias/tests/basic/oracle/while_for1.res.oracle
index cc8081857b0..a4e37106253 100644
--- a/src/plugins/alias/tests/basic/oracle/while_for1.res.oracle
+++ b/src/plugins/alias/tests/basic/oracle/while_for1.res.oracle
@@ -1,33 +1,127 @@
 [kernel] Parsing while_for1.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: int *s = (int *)0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: int idx = 0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: s = (int *)malloc((size_t)idx);
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: idx ++;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: s = (int *)malloc((size_t)idx);
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: __retres = 0;
+[alias] May-aliases at the end of instruction:
 [alias] May-aliases at the end of function main:
-Before statement int *s = (int *)0; :
- 
-Before statement {
-                   int idx = 0;
-                   while (idx < 10) {
-                     s = (int *)malloc((size_t)idx);
-                     idx ++;
-                   }
-                 } :
- 
-Before statement int idx = 0; :
- 
-Before statement while (idx < 10) {
-                   s = (int *)malloc((size_t)idx);
-                   idx ++;
-                 } :
- 
-Before statement if (! (idx < 10)) break; :
- 
-Before statement break; :
- 
-Before statement s = (int *)malloc((size_t)idx); :
- 
-Before statement s = (int *)malloc((size_t)idx); :
- 
-Before statement idx ++; :
- 
-Before statement __retres = 0; :
- 
-Before statement return __retres; :
- 
+[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:
diff --git a/src/plugins/alias/tests/basic/oracle/while_for2.res.oracle b/src/plugins/alias/tests/basic/oracle/while_for2.res.oracle
index 597bc30773b..02504d97a2b 100644
--- a/src/plugins/alias/tests/basic/oracle/while_for2.res.oracle
+++ b/src/plugins/alias/tests/basic/oracle/while_for2.res.oracle
@@ -1,43 +1,16 @@
 [kernel] Parsing while_for2.c (with preprocessing)
+[alias] analysing function: main
+[alias] analysing instruction: int *a = (int *)0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: int *b = (int *)0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: int *c = (int *)0;
+[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: __retres = 0;
+[alias] May-aliases at the end of instruction:
+  {a, b} are aliased
 [alias] May-aliases at the end of function main:
   {a, b} are aliased
-Before statement return __retres; :
- {a, b} are aliased
-
-Before statement int *a = (int *)0; :
- 
-Before statement int *b = (int *)0; :
- 
-Before statement int *c = (int *)0; :
- 
-Before statement while (1) {
-                   a = b;
-                   break;
-                 } :
- 
-Before statement a = b;
-                 break; :
- 
-Before statement a = b; :
- 
-Before statement break; :
- {a, b} are aliased
-
-Before statement while (1) {
-                   break;
-                   a = c;
-                   break;
-                 } :
- {a, b} are aliased
-
-Before statement break;
-                 a = c;
-                 break; :
- {a, b} are aliased
-
-Before statement break; :
- {a, b} are aliased
-
-Before statement __retres = 0; :
- {a, b} are aliased
-
diff --git a/src/plugins/alias/tests/basic/oracle/while_for3.res.oracle b/src/plugins/alias/tests/basic/oracle/while_for3.res.oracle
index 6cd62dca862..46bef75b267 100644
--- a/src/plugins/alias/tests/basic/oracle/while_for3.res.oracle
+++ b/src/plugins/alias/tests/basic/oracle/while_for3.res.oracle
@@ -1,59 +1,24 @@
 [kernel] Parsing while_for3.c (with preprocessing)
+[alias] analysing function: main
+[alias] analysing instruction: int *a = (int *)0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: int *b = (int *)0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: int *c = (int *)0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: int i = 0;
+[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: __Cont: i ++;
+[alias] May-aliases at the end of instruction:
+  {a, b} are aliased
+[alias] analysing instruction: a = b;
+[alias] May-aliases at the end of instruction:
+  {a, b} are aliased
+[alias] analysing instruction: __retres = 0;
+[alias] May-aliases at the end of instruction:
+  {a, b} are aliased
 [alias] May-aliases at the end of function main:
   {a, b} are aliased
-Before statement __retres = 0; :
- {a, b} are aliased
-
-Before statement int *a = (int *)0; :
- 
-Before statement return __retres; :
- {a, b} are aliased
-
-Before statement int *b = (int *)0; :
- 
-Before statement int *c = (int *)0; :
- 
-Before statement {
-                   int i = 0;
-                   while (i < 10) {
-                     a = b;
-                     goto __Cont;
-                     a = c;
-                     __Cont: i ++;
-                   }
-                 } :
- 
-Before statement int i = 0; :
- 
-Before statement while (i < 10) {
-                   a = b;
-                   goto __Cont;
-                   a = c;
-                   __Cont: i ++;
-                 } :
- {a, b} are aliased
-
-Before statement if (! (i < 10)) break; :
- {a, b} are aliased
-
-Before statement break; :
- {a, b} are aliased
-
-Before statement a = b;
-                 goto __Cont;
-                 a = c; :
- {a, b} are aliased
-
-Before statement a = b;
-                 goto __Cont; :
- {a, b} are aliased
-
-Before statement a = b; :
- {a, b} are aliased
-
-Before statement goto __Cont; :
- {a, b} are aliased
-
-Before statement __Cont: i ++; :
- {a, b} 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 a53c74c0848..a4e66896abc 100644
--- a/src/plugins/alias/tests/offsets/oracle/array1.res.oracle
+++ b/src/plugins/alias/tests/offsets/oracle/array1.res.oracle
@@ -1,23 +1,22 @@
 [kernel] Parsing array1.c (with preprocessing)
+[alias] analysing function: main
+[alias] analysing instruction: tab[0] = 0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: tab[1] = 1;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: tab[2] = tab[1] + 1;
+[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
-Before statement tab[0] = 0; :
- 
-Before statement tab[1] = 1; :
- 
-Before statement tab[2] = tab[1] + 1; :
- 
-Before statement int *x = & tab[1]; :
- 
-Before statement int *y = & tab[2]; :
- {x, &tab[0]} are aliased
-
-Before statement tab[3] = *x + *y; :
- {x, y, &tab[0]} are aliased
-
-Before statement __retres = 0; :
- {x, y, &tab[0]} are aliased
-
-Before statement return __retres; :
- {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 8ad1a4522ed..079b9221edd 100644
--- a/src/plugins/alias/tests/offsets/oracle/array2.res.oracle
+++ b/src/plugins/alias/tests/offsets/oracle/array2.res.oracle
@@ -1,18 +1,17 @@
 [kernel] Parsing array2.c (with preprocessing)
+[alias] analysing function: main
+[alias] analysing instruction: mat[0][0] = 0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: mat[0][1] = 1;
+[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
-Before statement mat[0][0] = 0; :
- 
-Before statement mat[0][1] = 1; :
- 
-Before statement *x = mat[1]; :
- 
-Before statement *y = *(*(x + 0)); :
- {*x, &mat[0]} are aliased
-
-Before statement __retres = 0; :
- {*x, &mat[0]} are aliased
-
-Before statement return __retres; :
- {*x, &mat[0]} are aliased
-
diff --git a/src/plugins/alias/tests/offsets/oracle/collapse1.res.oracle b/src/plugins/alias/tests/offsets/oracle/collapse1.res.oracle
index 5d116c4ee27..51b2107ef98 100644
--- a/src/plugins/alias/tests/offsets/oracle/collapse1.res.oracle
+++ b/src/plugins/alias/tests/offsets/oracle/collapse1.res.oracle
@@ -1,37 +1,21 @@
 [kernel] Parsing collapse1.c (with preprocessing)
+[alias] analysing function: main
+[alias] analysing instruction: tab[0] = 0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: tab[1] = 1;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: tab[2] = tab[1] + 1;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: int x = 0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: int i = 0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: x = tab[i];
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: i ++;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: x = tab[i];
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: __retres = 0;
+[alias] May-aliases at the end of instruction:
 [alias] May-aliases at the end of function main:
-Before statement tab[0] = 0; :
- 
-Before statement tab[1] = 1; :
- 
-Before statement tab[2] = tab[1] + 1; :
- 
-Before statement int x = 0; :
- 
-Before statement {
-                   int i = 0;
-                   while (i < 2) {
-                     x = tab[i];
-                     i ++;
-                   }
-                 } :
- 
-Before statement int i = 0; :
- 
-Before statement while (i < 2) {
-                   x = tab[i];
-                   i ++;
-                 } :
- 
-Before statement if (! (i < 2)) break; :
- 
-Before statement break; :
- 
-Before statement x = tab[i]; :
- 
-Before statement i ++; :
- 
-Before statement __retres = 0; :
- 
-Before statement return __retres; :
- 
diff --git a/src/plugins/alias/tests/offsets/oracle/collapse2.res.oracle b/src/plugins/alias/tests/offsets/oracle/collapse2.res.oracle
index ca058b7df28..ae37ec3288a 100644
--- a/src/plugins/alias/tests/offsets/oracle/collapse2.res.oracle
+++ b/src/plugins/alias/tests/offsets/oracle/collapse2.res.oracle
@@ -1,18 +1,17 @@
 [kernel] Parsing collapse2.c (with preprocessing)
+[alias] analysing function: main
+[alias] analysing instruction: mat[0][0] = 0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: mat[0][1] = 1;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: int i = 2;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: mat[1][i] = i;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: i ++;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: mat[1][i] = 2;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: __retres = 0;
+[alias] May-aliases at the end of instruction:
 [alias] May-aliases at the end of function main:
-Before statement mat[0][0] = 0; :
- 
-Before statement mat[0][1] = 1; :
- 
-Before statement int i = 2; :
- 
-Before statement mat[1][i] = i; :
- 
-Before statement i ++; :
- 
-Before statement mat[1][i] = 2; :
- 
-Before statement __retres = 0; :
- 
-Before statement return __retres; :
- 
diff --git a/src/plugins/alias/tests/offsets/oracle/collapse3.res.oracle b/src/plugins/alias/tests/offsets/oracle/collapse3.res.oracle
index e81f32e44cf..656e44bb1fa 100644
--- a/src/plugins/alias/tests/offsets/oracle/collapse3.res.oracle
+++ b/src/plugins/alias/tests/offsets/oracle/collapse3.res.oracle
@@ -1,18 +1,17 @@
 [kernel] Parsing collapse3.c (with preprocessing)
+[alias] analysing function: main
+[alias] analysing instruction: mat[0][0] = 0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: mat[0][1] = 1;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: int i = 2;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: mat[i][1] = i;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: i ++;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: mat[i][1] = 2;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: __retres = 0;
+[alias] May-aliases at the end of instruction:
 [alias] May-aliases at the end of function main:
-Before statement mat[0][0] = 0; :
- 
-Before statement mat[0][1] = 1; :
- 
-Before statement int i = 2; :
- 
-Before statement mat[i][1] = i; :
- 
-Before statement i ++; :
- 
-Before statement mat[i][1] = 2; :
- 
-Before statement __retres = 0; :
- 
-Before statement return __retres; :
- 
diff --git a/src/plugins/alias/tests/offsets/oracle/nested1.res.oracle b/src/plugins/alias/tests/offsets/oracle/nested1.res.oracle
index c9fb776f973..e75f816200c 100644
--- a/src/plugins/alias/tests/offsets/oracle/nested1.res.oracle
+++ b/src/plugins/alias/tests/offsets/oracle/nested1.res.oracle
@@ -1,88 +1,199 @@
 [kernel] Parsing nested1.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: 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
+[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
+[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->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->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->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
+  {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
+  {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
   {z2->c, b} are aliased
   {t->t, z1} are aliased
   {z1->c, t->d, a} are aliased
-Before statement t->t = (struct struct_2_t *)z1; :
- {x1, x2} are aliased
-{z1->s, z2->s, tab_y[0], &x1, &x2} are aliased
-{z1->c, a} are aliased
-{z2->c, b} are aliased
-
-Before statement t->d = a; :
- {x1, x2} are aliased
-{z1->s, z2->s, tab_y[0], &x1, &x2} are aliased
-{z1->c, a} are aliased
-{z2->c, b} are aliased
-{t->t, z1} are aliased
-
-Before statement st_1_t x1 = {.a = 0, .b = 1}; :
- 
-Before statement __retres = 0; :
- {x1, x2} are aliased
-{z1->s, z2->s, tab_y[0], &x1, &x2} are aliased
-{z2->c, b} are aliased
-{t->t, z1} are aliased
-{z1->c, t->d, a} are aliased
-
-Before statement st_1_t x2 = {.a = 1, .b = 2}; :
- 
-Before statement tab_y[0] = & x1; :
- 
-Before statement return __retres; :
- {x1, x2} are aliased
-{z1->s, z2->s, tab_y[0], &x1, &x2} are aliased
-{z2->c, b} are aliased
-{t->t, z1} are aliased
-{z1->c, t->d, a} are aliased
-
-Before statement tab_y[1] = & x2; :
- {tab_y[0], &x1} are aliased
-
-Before statement st_2_t *z1 = malloc(sizeof(st_2_t)); :
- {tab_y[0], &x1, &x2} are aliased
-{x1, x2} are aliased
-
-Before statement st_2_t *z2 = malloc(sizeof(st_2_t)); :
- {tab_y[0], &x1, &x2} are aliased
-{x1, x2} are aliased
-
-Before statement st_3_t *t = malloc(sizeof(st_3_t)); :
- {tab_y[0], &x1, &x2} are aliased
-{x1, x2} are aliased
-
-Before statement int *a = malloc(sizeof(int)); :
- {tab_y[0], &x1, &x2} are aliased
-{x1, x2} are aliased
-
-Before statement int *b = malloc(sizeof(int)); :
- {tab_y[0], &x1, &x2} are aliased
-{x1, x2} are aliased
-
-Before statement *a = 0; :
- {tab_y[0], &x1, &x2} are aliased
-{x1, x2} are aliased
-
-Before statement *b = 5; :
- {tab_y[0], &x1, &x2} are aliased
-{x1, x2} are aliased
-
-Before statement z1->s = (struct struct_1_t *)tab_y[0]; :
- {tab_y[0], &x1, &x2} are aliased
-{x1, x2} are aliased
-
-Before statement z2->s = (struct struct_1_t *)tab_y[1]; :
- {x1, x2} are aliased
-{z1->s, tab_y[0], &x1, &x2} are aliased
-
-Before statement z1->c = a; :
- {x1, x2} are aliased
-{z1->s, z2->s, tab_y[0], &x1, &x2} are aliased
-
-Before statement z2->c = b; :
- {x1, x2} are aliased
-{z1->s, z2->s, tab_y[0], &x1, &x2} are aliased
-{z1->c, 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:
diff --git a/src/plugins/alias/tests/offsets/oracle/nested2.res.oracle b/src/plugins/alias/tests/offsets/oracle/nested2.res.oracle
index 36fc82c09fa..ea8759ffcda 100644
--- a/src/plugins/alias/tests/offsets/oracle/nested2.res.oracle
+++ b/src/plugins/alias/tests/offsets/oracle/nested2.res.oracle
@@ -1,50 +1,161 @@
 [kernel] Parsing nested2.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 = 2, .b = 3};
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: st_2_t *z1 = 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: 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
-Before statement st_1_t x1 = {.a = 0, .b = 1}; :
- 
-Before statement st_1_t x2 = {.a = 2, .b = 3}; :
- 
-Before statement st_2_t *z1 = 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 z1->s[0] = (struct struct_1_t *)(& x1); :
- 
-Before statement z1->s[1] = (struct struct_1_t *)(& x2); :
- {z1->s[0], &x1} are aliased
-
-Before statement z1->c = a; :
- {z1->s[0], &x1, &x2} are aliased
-{x1, x2} are aliased
-
-Before statement t->t = (struct struct_2_t *)z1; :
- {z1->s[0], &x1, &x2} are aliased
-{x1, x2} are aliased
-{z1->c, a} are aliased
-
-Before statement t->d = a; :
- {z1->s[0], &x1, &x2} are aliased
-{x1, x2} are aliased
-{z1->c, a} are aliased
-{t->t, z1} are aliased
-
-Before statement __retres = 0; :
- {z1->s[0], &x1, &x2} are aliased
-{x1, x2} are aliased
-{t->t, z1} are aliased
-{z1->c, t->d, a} are aliased
-
-Before statement return __retres; :
- {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 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:
diff --git a/src/plugins/alias/tests/offsets/oracle/structure1.res.oracle b/src/plugins/alias/tests/offsets/oracle/structure1.res.oracle
index 96f68bb686c..acecc959147 100644
--- a/src/plugins/alias/tests/offsets/oracle/structure1.res.oracle
+++ b/src/plugins/alias/tests/offsets/oracle/structure1.res.oracle
@@ -1,29 +1,28 @@
 [kernel] Parsing structure1.c (with preprocessing)
+[alias] analysing function: main
+[alias] analysing instruction: st_1_t x = {.a = 0, .b = 1};
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: st_2_t y = {.a = 3, .c = 4};
+[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
+  {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
+  {x, y} are aliased
 [alias] May-aliases at the end of function main:
   {p_x, p_y, &x, &y} are aliased
   {x, y} are aliased
-Before statement st_1_t x = {.a = 0, .b = 1}; :
- 
-Before statement st_2_t y = {.a = 3, .c = 4}; :
- 
-Before statement st_1_t *p_x = & x; :
- 
-Before statement st_2_t *p_y = & y; :
- {p_x, &x} are aliased
-
-Before statement p_x->a = 3; :
- {p_x, &x} are aliased
-{p_y, &y} are aliased
-
-Before statement p_x = (st_1_t *)p_y; :
- {p_x, &x} are aliased
-{p_y, &y} are aliased
-
-Before statement __retres = 0; :
- {p_x, p_y, &x, &y} are aliased
-{x, y} are aliased
-
-Before statement return __retres; :
- {p_x, p_y, &x, &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 36f888d74c7..cd8369ba043 100644
--- a/src/plugins/alias/tests/offsets/oracle/structure2.res.oracle
+++ b/src/plugins/alias/tests/offsets/oracle/structure2.res.oracle
@@ -1,21 +1,20 @@
 [kernel] Parsing structure2.c (with preprocessing)
+[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_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
-Before statement st_1_t x1 = {.a = 0, .b = 1}; :
- 
-Before statement st_1_t x2 = {.a = 1, .b = 2}; :
- 
-Before statement st_2_t y = {.s = (struct struct_1_t *)(& x1), .c = 4}; :
- 
-Before statement y.s = (struct struct_1_t *)(& x2); :
- {y.s, &x1} are aliased
-
-Before statement __retres = 0; :
- {y.s, &x1, &x2} are aliased
-{x1, x2} are aliased
-
-Before statement return __retres; :
- {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 4a64164df69..34834259336 100644
--- a/src/plugins/alias/tests/offsets/oracle/structure3.res.oracle
+++ b/src/plugins/alias/tests/offsets/oracle/structure3.res.oracle
@@ -1,45 +1,46 @@
 [kernel] Parsing structure3.c (with preprocessing)
+[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_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
-Before statement st_1_t x1 = {.a = 0, .b = 1}; :
- 
-Before statement st_1_t x2 = {.a = 1, .b = 2}; :
- 
-Before statement st_2_t y1 = {.s = (struct struct_1_t *)(& x1), .c = 3}; :
- 
-Before statement st_2_t y2 = {.s = (struct struct_1_t *)(& x2), .c = 4}; :
- {y1.s, &x1} are aliased
-
-Before statement st_3_t z = {.t = (struct struct_2_t *)(& y1), .d = 5}; :
- {y1.s, &x1} are aliased
-{y2.s, &x2} are aliased
-
-Before statement z.t = (struct struct_2_t *)(& y2); :
- {y1.s, &x1} are aliased
-{y2.s, &x2} are aliased
-{z.t, &y1} are aliased
-
-Before statement y1.c = z.d; :
- {y1.s, &x1} are aliased
-{y2.s, &x2} are aliased
-{z.t, &y1, &y2} are aliased
-{y1, y2} are aliased
-
-Before statement __retres = 0; :
- {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
-
-Before statement return __retres; :
- {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 f96627f383b..80f114c1836 100644
--- a/src/plugins/alias/tests/offsets/oracle/structure4.res.oracle
+++ b/src/plugins/alias/tests/offsets/oracle/structure4.res.oracle
@@ -1,25 +1,136 @@
 [kernel] Parsing structure4.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: 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
+[alias] analysing instruction: z->c = 6;
+[alias] May-aliases at the end of instruction:
+  {z->s, y1, &x1} are aliased
+[alias] analysing instruction: __retres = 0;
+[alias] May-aliases at the end of instruction:
+  {z->s, y1, &x1} are aliased
 [alias] May-aliases at the end of function main:
   {z->s, y1, &x1} 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 y1 = & x1; :
- 
-Before statement z->s = (struct struct_1_t *)y1; :
- {y1, &x1} are aliased
-
-Before statement z->c = 6; :
- {z->s, y1, &x1} are aliased
-
-Before statement __retres = 0; :
- {z->s, y1, &x1} are aliased
-
-Before statement return __retres; :
- {z->s, y1, &x1} 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:
diff --git a/src/plugins/alias/tests/real_world/oracle/example1.res.oracle b/src/plugins/alias/tests/real_world/oracle/example1.res.oracle
index d33b5b978a0..6d0e0d4fa68 100644
--- a/src/plugins/alias/tests/real_world/oracle/example1.res.oracle
+++ b/src/plugins/alias/tests/real_world/oracle/example1.res.oracle
@@ -1,265 +1,447 @@
 [kernel] Parsing example1.c (with preprocessing)
+[alias] analysing function: _Exit
+[alias] May-aliases at the end of function _Exit:
+[alias] analysing function: __fc_fpclassify
+[alias] May-aliases at the end of function __fc_fpclassify:
+[alias] analysing function: __fc_fpclassifyf
+[alias] May-aliases at the end of function __fc_fpclassifyf:
+[alias] analysing function: __fc_infinity
+[alias] May-aliases at the end of function __fc_infinity:
+[alias] analysing function: __fc_nan
+[alias] May-aliases at the end of function __fc_nan:
+[alias] analysing function: __finite
+[alias] May-aliases at the end of function __finite:
+[alias] analysing function: __finitef
+[alias] May-aliases at the end of function __finitef:
+[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: acos
+[alias] May-aliases at the end of function acos:
+[alias] analysing function: acosf
+[alias] May-aliases at the end of function acosf:
+[alias] analysing function: acosh
+[alias] May-aliases at the end of function acosh:
+[alias] analysing function: acoshf
+[alias] May-aliases at the end of function acoshf:
+[alias] analysing function: acoshl
+[alias] May-aliases at the end of function acoshl:
+[alias] analysing function: acosl
+[alias] May-aliases at the end of function acosl:
+[alias] analysing function: asin
+[alias] May-aliases at the end of function asin:
+[alias] analysing function: asinf
+[alias] May-aliases at the end of function asinf:
+[alias] analysing function: asinl
+[alias] May-aliases at the end of function asinl:
+[alias] analysing function: at_quick_exit
+[alias] May-aliases at the end of function at_quick_exit:
+[alias] analysing function: atan
+[alias] May-aliases at the end of function atan:
+[alias] analysing function: atan2
+[alias] May-aliases at the end of function atan2:
+[alias] analysing function: atan2f
+[alias] May-aliases at the end of function atan2f:
+[alias] analysing function: atan2l
+[alias] May-aliases at the end of function atan2l:
+[alias] analysing function: atanf
+[alias] May-aliases at the end of function atanf:
+[alias] analysing function: atanl
+[alias] May-aliases at the end of function atanl:
+[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: ceil
+[alias] May-aliases at the end of function ceil:
+[alias] analysing function: ceilf
+[alias] May-aliases at the end of function ceilf:
+[alias] analysing function: ceill
+[alias] May-aliases at the end of function ceill:
+[alias] analysing function: cos
+[alias] May-aliases at the end of function cos:
+[alias] analysing function: cosf
+[alias] May-aliases at the end of function cosf:
+[alias] analysing function: cosl
+[alias] May-aliases at the end of function cosl:
+[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: exp
+[alias] May-aliases at the end of function exp:
+[alias] analysing function: expf
+[alias] May-aliases at the end of function expf:
+[alias] analysing function: f1
+[alias] analysing instruction: ty *tmp = x;
+[alias] May-aliases at the end of instruction:
+  {x, tmp} are aliased
+[alias] analysing instruction: idata = (double *)malloc((unsigned long)10 * sizeof(double));
+[alias] May-aliases at the end of instruction:
+  {x, tmp} are aliased
+[alias] analysing instruction: idata = tmp->t2[*(tmp->n2)];
+[alias] May-aliases at the end of instruction:
+  {x, tmp} are aliased
+[alias] analysing instruction: odata = tmp->t1[*(tmp->n1)];
+[alias] May-aliases at the end of instruction:
+  {x, tmp} are aliased
+[alias] analysing instruction: idx = 0;
+[alias] May-aliases at the end of instruction:
+  {x, tmp} are aliased
+[alias] analysing instruction: tmp_1 = sin(*(idata + idx));
+[alias] analysing function: sin
+[alias] May-aliases at the end of function sin:
 [alias] Warning: a function with no return is employed in an assignment
+[alias] May-aliases at the end of instruction:
+  {x, tmp} are aliased
+[alias] analysing instruction: *(odata + idx) = 0.5 * tmp_1;
+[alias] May-aliases at the end of instruction:
+  {x, tmp} are aliased
+[alias] analysing instruction: idx ++;
+[alias] May-aliases at the end of instruction:
+  {x, tmp} are aliased
+[alias] analysing instruction: tmp_1 = sin(*(idata + idx));
 [alias] Warning: a function with no return is employed in an assignment
+[alias] May-aliases at the end of instruction:
+  {x, tmp} are aliased
+[alias] analysing instruction: swap(tmp->n1);
+[alias] analysing function: swap
+[alias] analysing instruction: *n = 0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: (*n) ++;
+[alias] May-aliases at the end of instruction:
+[alias] May-aliases at the end of function swap:
+[alias] May-aliases at the end of instruction:
+  {x, tmp} are aliased
+[alias] analysing instruction: idata = tmp->t2[*(tmp->n2)];
+[alias] May-aliases at the end of instruction:
+  {x, tmp} are aliased
+[alias] analysing instruction: odata = tmp->t1[*(tmp->n1)];
+[alias] May-aliases at the end of instruction:
+  {x, tmp} are aliased
+[alias] analysing instruction: idx = 0;
+[alias] May-aliases at the end of instruction:
+  {x, tmp} are aliased
+[alias] analysing instruction: tmp_1 = sin(*(idata + idx));
 [alias] Warning: a function with no return is employed in an assignment
+[alias] May-aliases at the end of instruction:
+  {x, tmp} are aliased
+[alias] analysing instruction: *(odata + idx) = 0.5 * tmp_1;
+[alias] May-aliases at the end of instruction:
+  {x, tmp} are aliased
+[alias] analysing instruction: idx ++;
+[alias] May-aliases at the end of instruction:
+  {x, tmp} are aliased
+[alias] analysing instruction: swap(tmp->n1);
+[alias] May-aliases at the end of instruction:
+  {x, tmp} are aliased
 [alias] Warning: Analysis is continuing but will not be sound
+[alias] May-aliases at the end of function f1:
+[alias] analysing function: f2
+[alias] analysing instruction: ty *tmp = x;
+[alias] May-aliases at the end of instruction:
+  {x, tmp} are aliased
+[alias] analysing instruction: idata = (double *)malloc((unsigned long)10 * sizeof(double));
+[alias] May-aliases at the end of instruction:
+  {x, tmp} are aliased
+[alias] analysing instruction: idata = tmp->t1[*(tmp->n1)];
+[alias] May-aliases at the end of instruction:
+  {x, tmp} are aliased
+[alias] analysing instruction: odata = tmp->t2[*(tmp->n2)];
+[alias] May-aliases at the end of instruction:
+  {x, tmp} are aliased
+[alias] analysing instruction: idx = 0;
+[alias] May-aliases at the end of instruction:
+  {x, tmp} are aliased
+[alias] analysing instruction: *(odata + idx) = (double)3 * *(idata + idx) + (double)1;
+[alias] May-aliases at the end of instruction:
+  {x, tmp} are aliased
+[alias] analysing instruction: idx ++;
+[alias] May-aliases at the end of instruction:
+  {x, tmp} are aliased
+[alias] analysing instruction: swap(tmp->n2);
+[alias] May-aliases at the end of instruction:
+  {x, tmp} are aliased
+[alias] analysing instruction: idata = tmp->t1[*(tmp->n1)];
+[alias] May-aliases at the end of instruction:
+  {x, tmp} are aliased
+[alias] analysing instruction: odata = tmp->t2[*(tmp->n2)];
+[alias] May-aliases at the end of instruction:
+  {x, tmp} are aliased
+[alias] analysing instruction: idx = 0;
+[alias] May-aliases at the end of instruction:
+  {x, tmp} are aliased
+[alias] analysing instruction: *(odata + idx) = (double)3 * *(idata + idx) + (double)1;
+[alias] May-aliases at the end of instruction:
+  {x, tmp} are aliased
+[alias] analysing instruction: idx ++;
+[alias] May-aliases at the end of instruction:
+  {x, tmp} are aliased
+[alias] analysing instruction: swap(tmp->n2);
+[alias] May-aliases at the end of instruction:
+  {x, tmp} are aliased
 [alias] Warning: Analysis is continuing but will not be sound
+[alias] May-aliases at the end of function f2:
+[alias] analysing function: fabs
+[alias] May-aliases at the end of function fabs:
+[alias] analysing function: fabsf
+[alias] May-aliases at the end of function fabsf:
+[alias] analysing function: fabsl
+[alias] May-aliases at the end of function fabsl:
+[alias] analysing function: floor
+[alias] May-aliases at the end of function floor:
+[alias] analysing function: floorf
+[alias] May-aliases at the end of function floorf:
+[alias] analysing function: floorl
+[alias] May-aliases at the end of function floorl:
+[alias] analysing function: fmod
+[alias] May-aliases at the end of function fmod:
+[alias] analysing function: fmodf
+[alias] May-aliases at the end of function fmodf:
+[alias] analysing function: free
+[alias] May-aliases at the end of function free:
+[alias] analysing function: frexp
+[alias] May-aliases at the end of function frexp:
+[alias] analysing function: frexpf
+[alias] May-aliases at the end of function frexpf:
+[alias] analysing function: frexpl
+[alias] May-aliases at the end of function frexpl:
+[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: ldexp
+[alias] May-aliases at the end of function ldexp:
+[alias] analysing function: ldexpf
+[alias] May-aliases at the end of function ldexpf:
+[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: log
+[alias] May-aliases at the end of function log:
+[alias] analysing function: log10
+[alias] May-aliases at the end of function log10:
+[alias] analysing function: log10f
+[alias] May-aliases at the end of function log10f:
+[alias] analysing function: log10l
+[alias] May-aliases at the end of function log10l:
+[alias] analysing function: log2
+[alias] May-aliases at the end of function log2:
+[alias] analysing function: log2f
+[alias] May-aliases at the end of function log2f:
+[alias] analysing function: log2l
+[alias] May-aliases at the end of function log2l:
+[alias] analysing function: logf
+[alias] May-aliases at the end of function logf:
+[alias] analysing function: logl
+[alias] May-aliases at the end of function logl:
+[alias] analysing function: lrand48
+[alias] May-aliases at the end of function lrand48:
+[alias] analysing function: main
+[alias] analysing instruction: a = (ty *)malloc(sizeof(ty));
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: b = (ty *)malloc(sizeof(ty));
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: i = 0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: a->t1[i] = (double *)malloc((unsigned long)10 * sizeof(double));
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: a->t2[i] = (double *)malloc((unsigned long)10 * sizeof(double));
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: i ++;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: a->t1[i] = (double *)malloc((unsigned long)10 * sizeof(double));
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: a->t2[i] = (double *)malloc((unsigned long)10 * sizeof(double));
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: a->n1 = (int *)malloc(sizeof(int));
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: a->n2 = (int *)malloc(sizeof(int));
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: *(a->n1) = 1;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: *(a->n2) = 1;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: i = 0;
+[alias] May-aliases at the end of instruction:
+[alias] analysing instruction: b->t1[i] = a->t1[i];
+[alias] May-aliases at the end of instruction:
+  {a->t1[0], b->t1[0]} are aliased
+[alias] analysing instruction: b->t2[i] = a->t2[i];
+[alias] May-aliases at the end of instruction:
+  {a->t1[0], b->t1[0]} are aliased
+  {a->t2[0], b->t2[0]} are aliased
+[alias] analysing instruction: i ++;
+[alias] May-aliases at the end of instruction:
+  {a->t1[0], b->t1[0]} are aliased
+  {a->t2[0], b->t2[0]} are aliased
+[alias] analysing instruction: b->t1[i] = a->t1[i];
+[alias] May-aliases at the end of instruction:
+  {a->t1[0], b->t1[0]} are aliased
+  {a->t2[0], b->t2[0]} are aliased
+[alias] analysing instruction: b->t2[i] = a->t2[i];
+[alias] May-aliases at the end of instruction:
+  {a->t2[0], b->t2[0]} are aliased
+  {a->t1[0], b->t1[0]} are aliased
+[alias] analysing instruction: b->n1 = a->n1;
+[alias] May-aliases at the end of instruction:
+  {a->t1[0], b->t1[0]} are aliased
+  {a->t2[0], b->t2[0]} are aliased
+  {a->n1, b->n1} are aliased
+[alias] analysing instruction: b->n2 = a->n2;
+[alias] May-aliases at the end of instruction:
+  {a->t1[0], b->t1[0]} are aliased
+  {a->t2[0], b->t2[0]} are aliased
+  {a->n1, b->n1} are aliased
+  {a->n2, b->n2} are aliased
+[alias] analysing instruction: f1(a);
+[alias] May-aliases at the end of instruction:
+  {a->t1[0], b->t1[0]} are aliased
+  {a->t2[0], b->t2[0]} are aliased
+  {a->n1, b->n1} are aliased
+  {a->n2, b->n2} are aliased
+[alias] analysing instruction: f2(b);
+[alias] May-aliases at the end of instruction:
+  {a->t1[0], b->t1[0]} are aliased
+  {a->t2[0], b->t2[0]} are aliased
+  {a->n1, b->n1} are aliased
+  {a->n2, b->n2} are aliased
+[alias] analysing instruction: __retres = 0;
+[alias] May-aliases at the end of instruction:
+  {a->t1[0], b->t1[0]} are aliased
+  {a->t2[0], b->t2[0]} are aliased
+  {a->n1, b->n1} are aliased
+  {a->n2, b->n2} are aliased
 [alias] May-aliases at the end of function main:
   {a->t1[0], b->t1[0]} are aliased
   {a->t2[0], b->t2[0]} are aliased
   {a->n1, b->n1} are aliased
   {a->n2, b->n2} are aliased
-Before statement b->t1[i] = a->t1[i]; :
- {a->t1[0], b->t1[0]} are aliased
-{a->t2[0], b->t2[0]} are aliased
-
-Before statement idx = 0; :
- {x, tmp} are aliased
-
-Before statement b->t2[i] = a->t2[i]; :
- {a->t2[0], b->t2[0]} are aliased
-{a->t1[0], b->t1[0]} are aliased
-
-Before statement while (idx < 10) {
-                   *(odata + idx) = (double)3 * *(idata + idx) + (double)1;
-                   idx ++;
-                 } :
- {x, tmp} are aliased
-
-Before statement if (*n == 1) *n = 0; else (*n) ++; :
- 
-Before statement i ++; :
- {a->t1[0], b->t1[0]} are aliased
-{a->t2[0], b->t2[0]} are aliased
-
-Before statement if (*n == 1) *n = 0; else (*n) ++; :
- 
-Before statement b->n1 = a->n1; :
- {a->t1[0], b->t1[0]} are aliased
-{a->t2[0], b->t2[0]} are aliased
-
-Before statement if (! (idx < 10)) break; :
- {x, tmp} are aliased
-
-Before statement *n = 0; :
- 
-Before statement b->n2 = a->n2; :
- {a->t1[0], b->t1[0]} are aliased
-{a->t2[0], b->t2[0]} are aliased
-{a->n1, b->n1} are aliased
-
-Before statement break; :
- {x, tmp} are aliased
-
-Before statement (*n) ++; :
- 
-Before statement f1(a); :
- {a->t1[0], b->t1[0]} are aliased
-{a->t2[0], b->t2[0]} are aliased
-{a->n1, b->n1} are aliased
-{a->n2, b->n2} are aliased
-
-Before statement *(odata + idx) = (double)3 * *(idata + idx) + (double)1; :
- {x, tmp} are aliased
-
-Before statement f2(b); :
- {a->t1[0], b->t1[0]} are aliased
-{a->t2[0], b->t2[0]} are aliased
-{a->n1, b->n1} are aliased
-{a->n2, b->n2} are aliased
-
-Before statement *(odata + idx) = (double)3 * *(idata + idx) + (double)1; :
- {x, tmp} are aliased
-
-Before statement __retres = 0; :
- {a->t1[0], b->t1[0]} are aliased
-{a->t2[0], b->t2[0]} are aliased
-{a->n1, b->n1} are aliased
-{a->n2, b->n2} are aliased
-
-Before statement idx ++; :
- {x, tmp} are aliased
-
-Before statement ty *tmp = x; :
- 
-Before statement swap(tmp->n2); :
- {x, tmp} are aliased
-
-Before statement idata = (double *)malloc((unsigned long)10 * sizeof(double)); :
- {x, tmp} are aliased
-
-Before statement return; :
- 
-Before statement while (1) {
-                   idata = tmp->t2[*(tmp->n2)];
-                   odata = tmp->t1[*(tmp->n1)];
-                   idx = 0;
-                   while (idx < 10) {
-                     {
-                       double tmp_1;
-                       tmp_1 = sin(*(idata + idx));
-                       *(odata + idx) = 0.5 * tmp_1;
-                     }
-                     idx ++;
-                   }
-                   swap(tmp->n1);
-                 } :
- {x, tmp} are aliased
-
-Before statement idata = tmp->t2[*(tmp->n2)];
-                 odata = tmp->t1[*(tmp->n1)];
-                 idx = 0;
-                 while (idx < 10) {
-                   {
-                     double tmp_1;
-                     tmp_1 = sin(*(idata + idx));
-                     *(odata + idx) = 0.5 * tmp_1;
-                   }
-                   idx ++;
-                 }
-                 swap(tmp->n1); :
- {x, tmp} are aliased
-
-Before statement a = (ty *)malloc(sizeof(ty)); :
- 
-Before statement idata = tmp->t2[*(tmp->n2)]; :
- {x, tmp} are aliased
-
-Before statement b = (ty *)malloc(sizeof(ty)); :
- 
-Before statement odata = tmp->t1[*(tmp->n1)]; :
- {x, tmp} are aliased
-
-Before statement i = 0; :
- 
-Before statement idx = 0; :
- {x, tmp} are aliased
-
-Before statement while (i < 2) {
-                   a->t1[i] = (double *)malloc((unsigned long)10 * sizeof(double));
-                   a->t2[i] = (double *)malloc((unsigned long)10 * sizeof(double));
-                   i ++;
-                 } :
- 
-Before statement while (idx < 10) {
-                   {
-                     double tmp_1;
-                     tmp_1 = sin(*(idata + idx));
-                     *(odata + idx) = 0.5 * tmp_1;
-                   }
-                   idx ++;
-                 } :
- {x, tmp} are aliased
-
-Before statement return __retres; :
- {a->t1[0], b->t1[0]} are aliased
-{a->t2[0], b->t2[0]} are aliased
-{a->n1, b->n1} are aliased
-{a->n2, b->n2} are aliased
-
-Before statement if (! (i < 2)) break; :
- 
-Before statement if (! (idx < 10)) break; :
- {x, tmp} are aliased
-
-Before statement break; :
- 
-Before statement break; :
- {x, tmp} are aliased
-
-Before statement a->t1[i] = (double *)malloc((unsigned long)10 * sizeof(double));
-                 a->t2[i] = (double *)malloc((unsigned long)10 * sizeof(double)); :
- 
-Before statement {
-                   double tmp_1;
-                   tmp_1 = sin(*(idata + idx));
-                   *(odata + idx) = 0.5 * tmp_1;
-                 } :
- {x, tmp} are aliased
-
-Before statement a->t1[i] = (double *)malloc((unsigned long)10 * sizeof(double)); :
- 
-Before statement tmp_1 = sin(*(idata + idx));
-                 *(odata + idx) = 0.5 * tmp_1; :
- {x, tmp} are aliased
-
-Before statement a->t2[i] = (double *)malloc((unsigned long)10 * sizeof(double)); :
- 
-Before statement tmp_1 = sin(*(idata + idx)); :
- {x, tmp} are aliased
-
-Before statement i ++; :
- 
-Before statement *(odata + idx) = 0.5 * tmp_1; :
- {x, tmp} are aliased
-
-Before statement a->n1 = (int *)malloc(sizeof(int)); :
- 
-Before statement idx ++; :
- {x, tmp} are aliased
-
-Before statement a->n2 = (int *)malloc(sizeof(int)); :
- 
-Before statement swap(tmp->n1); :
- {x, tmp} are aliased
-
-Before statement *(a->n1) = 1; :
- 
-Before statement *(a->n2) = 1; :
- 
-Before statement i = 0; :
- 
-Before statement ty *tmp = x; :
- 
-Before statement while (i < 2) {
-                   b->t1[i] = a->t1[i];
-                   b->t2[i] = a->t2[i];
-                   i ++;
-                 } :
- {a->t1[0], b->t1[0]} are aliased
-{a->t2[0], b->t2[0]} are aliased
-
-Before statement idata = (double *)malloc((unsigned long)10 * sizeof(double)); :
- {x, tmp} are aliased
-
-Before statement while (1) {
-                   idata = tmp->t1[*(tmp->n1)];
-                   odata = tmp->t2[*(tmp->n2)];
-                   idx = 0;
-                   while (idx < 10) {
-                     *(odata + idx) = (double)3 * *(idata + idx) + (double)1;
-                     idx ++;
-                   }
-                   swap(tmp->n2);
-                 } :
- {x, tmp} are aliased
-
-Before statement if (! (i < 2)) break; :
- {a->t1[0], b->t1[0]} are aliased
-{a->t2[0], b->t2[0]} are aliased
-
-Before statement idata = tmp->t1[*(tmp->n1)];
-                 odata = tmp->t2[*(tmp->n2)];
-                 idx = 0;
-                 while (idx < 10) {
-                   *(odata + idx) = (double)3 * *(idata + idx) + (double)1;
-                   idx ++;
-                 }
-                 swap(tmp->n2); :
- {x, tmp} are aliased
-
-Before statement break; :
- {a->t1[0], b->t1[0]} are aliased
-{a->t2[0], b->t2[0]} are aliased
-
-Before statement idata = tmp->t1[*(tmp->n1)]; :
- {x, tmp} are aliased
-
-Before statement b->t1[i] = a->t1[i];
-                 b->t2[i] = a->t2[i]; :
- {a->t1[0], b->t1[0]} are aliased
-{a->t2[0], b->t2[0]} are aliased
-
-Before statement odata = tmp->t2[*(tmp->n2)]; :
- {x, tmp} 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: nan
+[alias] May-aliases at the end of function nan:
+[alias] analysing function: nanf
+[alias] May-aliases at the end of function nanf:
+[alias] analysing function: nanl
+[alias] May-aliases at the end of function nanl:
+[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: pow
+[alias] May-aliases at the end of function pow:
+[alias] analysing function: powf
+[alias] May-aliases at the end of function powf:
+[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: round
+[alias] May-aliases at the end of function round:
+[alias] analysing function: roundf
+[alias] May-aliases at the end of function roundf:
+[alias] analysing function: roundl
+[alias] May-aliases at the end of function roundl:
+[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: sin
+[alias] May-aliases at the end of function sin:
+[alias] analysing function: sinf
+[alias] May-aliases at the end of function sinf:
+[alias] analysing function: sinl
+[alias] May-aliases at the end of function sinl:
+[alias] analysing function: sqrt
+[alias] May-aliases at the end of function sqrt:
+[alias] analysing function: sqrtf
+[alias] May-aliases at the end of function sqrtf:
+[alias] analysing function: sqrtl
+[alias] May-aliases at the end of function sqrtl:
+[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: swap
+[alias] May-aliases at the end of function swap:
+[alias] analysing function: system
+[alias] May-aliases at the end of function system:
+[alias] analysing function: tan
+[alias] May-aliases at the end of function tan:
+[alias] analysing function: tanf
+[alias] May-aliases at the end of function tanf:
+[alias] analysing function: tanl
+[alias] May-aliases at the end of function tanl:
+[alias] analysing function: trunc
+[alias] May-aliases at the end of function trunc:
+[alias] analysing function: truncf
+[alias] May-aliases at the end of function truncf:
+[alias] analysing function: truncl
+[alias] May-aliases at the end of function truncl:
+[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