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
|
[kernel] Parsing share/libc/__fc_builtin_for_normalization.i (no preprocessing)
[kernel] Parsing tests/sparecode/intra.i (no preprocessing)
[slicing] slicing requests in progress...
[value] Analyzing a complete application starting at main2
[value] Computing initial state
[value] Initial state computed
[value:initial-state] Values of globals at initialization
G ∈ {0}
X10 ∈ {0}
Y10 ∈ {0}
[value] computing for function f10 <- main2.
Called from tests/sparecode/intra.i:115.
tests/sparecode/intra.i:109:[value] assertion got status valid.
[value] Recording results for f10
[value] Done for function f10
[value] Recording results for main2
[value] done for function main2
[slicing] making slicing project 'Slicing'...
[slicing] interpreting slicing requests from the command line...
[pdg] computing for function f10
[pdg] done for function f10
[pdg] computing for function main2
[from] Computing for function f10
[from] Done for function f10
[pdg] done for function main2
[slicing] applying all slicing requests...
[slicing] applying 0 actions...
[slicing] applying all slicing requests...
[slicing] applying 2 actions...
[slicing] applying actions: 1/2...
[slicing] applying actions: 2/2...
[slicing] exporting project to 'Slicing export'...
[slicing] applying all slicing requests...
[slicing] applying 0 actions...
[sparecode] remove unused global declarations from project 'Slicing export tmp'
[sparecode] removed unused global declarations in new project 'Slicing export'
/* Generated by Frama-C */
struct __anonstruct_a_2 {
int x ;
int y ;
};
struct __anonstruct_X10_1 {
struct __anonstruct_a_2 a ;
int b ;
};
struct __anonstruct_X10_1 X10;
int f10_slice_1(int x)
{
/*@ slice pragma expr X10.a.x; */ ;
/*@ assert X10.a.x ≥ 0; */ ;
return x;
}
int main2(void)
{
int __retres;
int tmp_0;
{ /* sequence */
tmp_0 = f10_slice_1(3);
X10.a.y += tmp_0;
}
__retres = X10.a.x + X10.a.y;
return __retres;
}
|