1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
|
[kernel] Parsing share/libc/__fc_builtin_for_normalization.i (no preprocessing)
[kernel] Parsing tests/impact/slicing.i (no preprocessing)
[impact] beginning analysis
[value] Analyzing an incomplete application starting at impact
[value] Computing initial state
[value] Initial state computed
[value:initial-state] Values of globals at initialization
a ∈ [--..--]
b ∈ [--..--]
c ∈ [--..--]
e ∈ [--..--]
x ∈ [--..--]
y ∈ [--..--]
z ∈ [--..--]
f ∈ [--..--]
w ∈ [--..--]
tests/impact/slicing.i:13:[value] warning: signed overflow. assert -2147483648 ≤ b + c;
tests/impact/slicing.i:13:[value] warning: signed overflow. assert b + c ≤ 2147483647;
tests/impact/slicing.i:14:[value] warning: signed overflow. assert -2147483648 ≤ x + e;
tests/impact/slicing.i:14:[value] warning: signed overflow. assert x + e ≤ 2147483647;
tests/impact/slicing.i:18:[value] warning: signed overflow. assert -2147483648 ≤ y + f;
tests/impact/slicing.i:18:[value] warning: signed overflow. assert y + f ≤ 2147483647;
[value] Recording results for impact
[value] done for function impact
[pdg] computing for function impact
[pdg] done for function impact
[impact] impacted statements of stmt(s) 6 are:
tests/impact/slicing.i:13 (sid 9): x = b + c;
tests/impact/slicing.i:14 (sid 10): y = x + e;
tests/impact/slicing.i:18 (sid 13): z = y + f;
tests/impact/slicing.i:19 (sid 14): w = b;
[slicing] making slicing project 'impact slicing'...
[slicing] applying all slicing requests...
[slicing] applying 0 actions...
[slicing] applying all slicing requests...
[slicing] applying 1 actions...
[slicing] applying actions: 1/1...
[slicing] exporting project to 'impact slicing'...
[slicing] applying all slicing requests...
[slicing] applying 0 actions...
[sparecode] remove unused global declarations from project 'impact slicing tmp'
[sparecode] removed unused global declarations in new project 'impact slicing'
[impact] analysis done
/* Generated by Frama-C */
int a;
int b;
int c;
int e;
int x;
int y;
int z;
int f;
int w;
void impact(void)
{
if (c) a = 18;
/*@ impact pragma stmt; */
b = a;
if (c) {
x = b + c;
y = x + e;
}
z = y + f;
w = b;
return;
}
|