Skip to content
Snippets Groups Projects
bts-1787.1.res.oracle 1.25 KiB
[kernel] Parsing bts-1787.i (no preprocessing)
[scf] beginning constant propagation
[eva] Analyzing a complete application starting at main
[eva] Computing initial state
[eva] Initial state computed
[eva:initial-state] Values of globals at initialization
  G1 ∈ {0}
  a ∈ {0}
  b ∈ {0}
  G2{.p1; .p2} ∈ {{ (? *)&G1 }}
    .p3 ∈ {{ &G1.c3 }}
[eva] computing for function g <- main.
  Called from bts-1787.i:39.
[eva] Recording results for g
[eva] Done for function g
[eva] Recording results for main
[eva] done for function main
/* Generated by Frama-C */
struct __anonstruct_S1_t_1 {
   int s ;
};
typedef struct __anonstruct_S1_t_1 S1_t;
struct __anonstruct_S2_t_2 {
   S1_t const *p1 ;
   S1_t *p2 ;
   S1_t *p3 ;
};
typedef struct __anonstruct_S2_t_2 S2_t;
struct __anonstruct_G1_3 {
   S1_t c12 ;
   S1_t c3 ;
};
struct __anonstruct_G1_3 G1;
static S2_t const G2 =
  {.p1 = (S1_t const *)(& G1.c12), .p2 = & G1.c12, .p3 = & G1.c3};
void g(S2_t const *q)
{
  S1_t *s1 = & G1.c12;
  G1.c3.s = G1.c12.s + G1.c12.s;
  G1.c12.s = 3;
  return;
}

int main(int c)
{
  int __retres;
  int tmp;
  if (c) tmp = 1; else tmp = 2;
  int s = tmp;
  G1.c12.s = s;
  g(& G2);
  __retres = G1.c3.s;
  return __retres;
}

int const a = 0;
int b = a;

[scf] constant propagation done