File: behaviors2.res.oracle

package info (click to toggle)
frama-c 20161101%2Bsilicon%2Bdfsg-5
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 42,324 kB
  • ctags: 35,695
  • sloc: ml: 200,142; ansic: 31,465; makefile: 2,334; sh: 1,643; lisp: 259; python: 85; asm: 26
file content (240 lines) | stat: -rw-r--r-- 13,307 bytes parent folder | download
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
[kernel] Parsing share/libc/__fc_builtin_for_normalization.i (no preprocessing)
[kernel] Parsing tests/value/behaviors2.c (with preprocessing)
[value] Analyzing a complete application starting at main
[value] Computing initial state
[value] Initial state computed
[value:initial-state] Values of globals at initialization
  __fc_random_counter ∈ {0}
  __fc_rand_max ∈ {32767}
  __fc_heap_status ∈ [--..--]
  nondet ∈ [--..--]
[value] computing for function test1 <- main.
        Called from tests/value/behaviors2.c:314.
[value] computing for function divi <- test1 <- main.
        Called from tests/value/behaviors2.c:178.
[value] using specification for function divi
tests/value/behaviors2.c:27:[value] function divi: precondition got status valid.
tests/value/behaviors2.c:178:[value] function divi, behavior division_by_zero: assumes got status invalid; behavior not evaluated.
tests/value/behaviors2.c:178:[value] function divi, behavior invalid_parameter: assumes got status invalid; behavior not evaluated.
tests/value/behaviors2.c:178:[value] function divi, behavior error: assumes got status invalid; behavior not evaluated.
tests/value/behaviors2.c:178:[value] function divi, behavior ok_res_sign_nonpositive: assumes got status invalid; behavior not evaluated.
tests/value/behaviors2.c:178:[value] function divi, behavior ok_quotient_zero: assumes got status invalid; behavior not evaluated.
[value] Done for function divi
[value] computing for function divi <- test1 <- main.
        Called from tests/value/behaviors2.c:180.
tests/value/behaviors2.c:180:[value] function divi, behavior division_by_zero: assumes got status invalid; behavior not evaluated.
tests/value/behaviors2.c:180:[value] function divi, behavior invalid_parameter: assumes got status invalid; behavior not evaluated.
tests/value/behaviors2.c:180:[value] function divi, behavior error: assumes got status invalid; behavior not evaluated.
tests/value/behaviors2.c:180:[value] function divi, behavior ok_res_sign_nonpositive: assumes got status invalid; behavior not evaluated.
tests/value/behaviors2.c:180:[value] function divi, behavior ok_quotient_non_zero: assumes got status invalid; behavior not evaluated.
[value] Done for function divi
[value] computing for function divi <- test1 <- main.
        Called from tests/value/behaviors2.c:182.
tests/value/behaviors2.c:182:[value] function divi, behavior division_by_zero: assumes got status invalid; behavior not evaluated.
tests/value/behaviors2.c:182:[value] function divi, behavior invalid_parameter: assumes got status invalid; behavior not evaluated.
tests/value/behaviors2.c:182:[value] function divi, behavior error: assumes got status invalid; behavior not evaluated.
tests/value/behaviors2.c:182:[value] function divi, behavior ok_res_sign_nonpositive: assumes got status invalid; behavior not evaluated.
tests/value/behaviors2.c:182:[value] function divi, behavior ok_quotient_non_zero: assumes got status invalid; behavior not evaluated.
[value] Done for function divi
[value] computing for function divi <- test1 <- main.
        Called from tests/value/behaviors2.c:184.
tests/value/behaviors2.c:184:[value] function divi, behavior invalid_parameter: assumes got status invalid; behavior not evaluated.
tests/value/behaviors2.c:184:[value] function divi, behavior ok: assumes got status invalid; behavior not evaluated.
tests/value/behaviors2.c:184:[value] function divi, behavior ok_res_sign_nonnegative: assumes got status invalid; behavior not evaluated.
tests/value/behaviors2.c:184:[value] function divi, behavior ok_res_sign_nonpositive: assumes got status invalid; behavior not evaluated.
tests/value/behaviors2.c:184:[value] function divi, behavior ok_quotient_zero: assumes got status invalid; behavior not evaluated.
tests/value/behaviors2.c:184:[value] function divi, behavior ok_quotient_non_zero: assumes got status invalid; behavior not evaluated.
tests/value/behaviors2.c:34:[value] function divi, behavior division_by_zero: precondition got status valid.
tests/value/behaviors2.c:49:[value] function divi, behavior error: precondition got status valid.
[value] Done for function divi
[value] computing for function divi <- test1 <- main.
        Called from tests/value/behaviors2.c:186.
tests/value/behaviors2.c:186:[value] function divi, behavior division_by_zero: assumes got status invalid; behavior not evaluated.
tests/value/behaviors2.c:186:[value] function divi, behavior ok: assumes got status invalid; behavior not evaluated.
tests/value/behaviors2.c:186:[value] function divi, behavior ok_res_sign_nonnegative: assumes got status invalid; behavior not evaluated.
tests/value/behaviors2.c:186:[value] function divi, behavior ok_res_sign_nonpositive: assumes got status invalid; behavior not evaluated.
tests/value/behaviors2.c:186:[value] function divi, behavior ok_quotient_zero: assumes got status invalid; behavior not evaluated.
tests/value/behaviors2.c:186:[value] function divi, behavior ok_quotient_non_zero: assumes got status invalid; behavior not evaluated.
tests/value/behaviors2.c:41:[value] function divi, behavior invalid_parameter: precondition got status valid.
[value] Done for function divi
[value] computing for function divi <- test1 <- main.
        Called from tests/value/behaviors2.c:188.
tests/value/behaviors2.c:188:[value] function divi, behavior division_by_zero: assumes got status invalid; behavior not evaluated.
tests/value/behaviors2.c:188:[value] function divi, behavior ok: assumes got status invalid; behavior not evaluated.
tests/value/behaviors2.c:188:[value] function divi, behavior ok_res_sign_nonnegative: assumes got status invalid; behavior not evaluated.
tests/value/behaviors2.c:188:[value] function divi, behavior ok_res_sign_nonpositive: assumes got status invalid; behavior not evaluated.
tests/value/behaviors2.c:188:[value] function divi, behavior ok_quotient_zero: assumes got status invalid; behavior not evaluated.
tests/value/behaviors2.c:188:[value] function divi, behavior ok_quotient_non_zero: assumes got status invalid; behavior not evaluated.
[value] Done for function divi
[value] computing for function divi <- test1 <- main.
        Called from tests/value/behaviors2.c:190.
tests/value/behaviors2.c:190:[value] function divi, behavior division_by_zero: assumes got status invalid; behavior not evaluated.
tests/value/behaviors2.c:190:[value] function divi, behavior ok: assumes got status invalid; behavior not evaluated.
tests/value/behaviors2.c:190:[value] function divi, behavior ok_res_sign_nonnegative: assumes got status invalid; behavior not evaluated.
tests/value/behaviors2.c:190:[value] function divi, behavior ok_res_sign_nonpositive: assumes got status invalid; behavior not evaluated.
tests/value/behaviors2.c:190:[value] function divi, behavior ok_quotient_zero: assumes got status invalid; behavior not evaluated.
tests/value/behaviors2.c:190:[value] function divi, behavior ok_quotient_non_zero: assumes got status invalid; behavior not evaluated.
[value] Done for function divi
[value] computing for function divi <- test1 <- main.
        Called from tests/value/behaviors2.c:192.
tests/value/behaviors2.c:192:[value] function divi, behavior invalid_parameter: assumes got status invalid; behavior not evaluated.
[value] Done for function divi
[value] Recording results for test1
[value] Done for function test1
[value] computing for function test2 <- main.
        Called from tests/value/behaviors2.c:315.
[value] computing for function f1 <- test2 <- main.
        Called from tests/value/behaviors2.c:229.
[value] using specification for function f1
tests/value/behaviors2.c:197:[value] warning: function f1: precondition got status unknown.
tests/value/behaviors2.c:204:[value] function f1, behavior b1: precondition got status valid.
tests/value/behaviors2.c:205:[value] function f1, behavior b1: precondition got status valid.
tests/value/behaviors2.c:213:[value] function f1, behavior b2: precondition got status valid.
tests/value/behaviors2.c:214:[value] function f1, behavior b2: precondition got status valid.
[value] Done for function f1
[value] Recording results for test2
[value] Done for function test2
[value] computing for function test3 <- main.
        Called from tests/value/behaviors2.c:316.
[value] computing for function f2 <- test3 <- main.
        Called from tests/value/behaviors2.c:265.
[value] using specification for function f2
tests/value/behaviors2.c:233:[value] warning: function f2: precondition got status unknown.
tests/value/behaviors2.c:240:[value] function f2, behavior b1: precondition got status valid.
tests/value/behaviors2.c:241:[value] function f2, behavior b1: precondition got status valid.
tests/value/behaviors2.c:249:[value] function f2, behavior b2: precondition got status valid.
tests/value/behaviors2.c:250:[value] function f2, behavior b2: precondition got status valid.
[value] Done for function f2
[value] Recording results for test3
[value] Done for function test3
[value] computing for function test4 <- main.
        Called from tests/value/behaviors2.c:317.
[value] computing for function f3 <- test4 <- main.
        Called from tests/value/behaviors2.c:285.
[value] using specification for function f3
tests/value/behaviors2.c:269:[value] warning: function f3: precondition got status unknown.
tests/value/behaviors2.c:285:[value] function f3, behavior b3: requires got status invalid; postconditions not evaluated.
[value] Done for function f3
[value] Recording results for test4
[value] Done for function test4
[value] computing for function test5 <- main.
        Called from tests/value/behaviors2.c:318.
[value] computing for function f4 <- test5 <- main.
        Called from tests/value/behaviors2.c:306.
[value] using specification for function f4
tests/value/behaviors2.c:289:[value] warning: function f4: precondition got status unknown.
tests/value/behaviors2.c:306:[value] function f4, behavior b3: requires got status invalid; postconditions not evaluated.
[value] Done for function f4
[value] Recording results for test5
[value] Done for function test5
[value] Recording results for main
[value] done for function main
[value] ====== VALUES COMPUTED ======
[value:final-states] Values at end of function test1:
  quotient ∈ [--..--]
  remainder ∈ [--..--]
  sign ∈ {-1; 0; 1}
  errmsg[0..19] ∈ [--..--] or UNINITIALIZED
  r1 ∈ {0}
  r2 ∈ {0}
  r3 ∈ {0}
  r4 ∈ {1}
  r5 ∈ {2}
  r6 ∈ {2}
  r7 ∈ {2}
  r8 ∈ {0; 1}
[value:final-states] Values at end of function test2:
  a ∈ {1}
  b ∈ {2}
  p ∈ {{ &a ; &b }}
  y ∈ {-4; -2; 2; 4}
  x ∈ {2; 4}
[value:final-states] Values at end of function test3:
  a ∈ {1}
  b ∈ {2}
  p ∈ {{ &a ; &b }}
  y ∈ {-4; -2; 2; 4}
  x ∈ {2; 4}
[value:final-states] Values at end of function test4:
  x ∈ {2; 4}
[value:final-states] Values at end of function test5:
  x ∈ {4}
[value:final-states] Values at end of function main:
  __retres ∈ {0}
[from] Computing for function test1
[from] Computing for function divi <-test1
[from] Done for function divi
[from] Done for function test1
[from] Computing for function test2
[from] Computing for function f1 <-test2
[from] Done for function f1
[from] Done for function test2
[from] Computing for function test3
[from] Computing for function f2 <-test3
[from] Done for function f2
[from] Done for function test3
[from] Computing for function test4
[from] Computing for function f3 <-test4
[from] Done for function f3
[from] Done for function test4
[from] Computing for function test5
[from] Computing for function f4 <-test5
[from] Done for function f4
[from] Done for function test5
[from] Computing for function main
[from] Done for function main
[from] ====== DEPENDENCIES COMPUTED ======
       These dependencies hold at termination for the executions that terminate:
[from] Function divi:
  quotient FROM dividend; divisor (and SELF)
  remainder FROM dividend; divisor (and SELF)
  sign FROM dividend; divisor (and SELF)
  errmsg[0..19] FROM dividend; divisor; quotient; remainder; sign
  \result FROM dividend; divisor; quotient; remainder; sign
[from] Function f1:
  y FROM x
  \result FROM p1; p2
[from] Function f2:
  y FROM x
  \result FROM p1; p2
[from] Function f3:
  \result FROM x
[from] Function f4:
  \result FROM x
[from] Function test1:
  NO EFFECTS
[from] Function test2:
  NO EFFECTS
[from] Function test3:
  NO EFFECTS
[from] Function test4:
  NO EFFECTS
[from] Function test5:
  NO EFFECTS
[from] Function main:
  \result FROM \nothing
[from] ====== END OF DEPENDENCIES ======
[inout] Out (internal) for function test1:
          quotient; remainder; sign; errmsg[0..19]; r1; r2; r3; r4; r5; r6; r7; r8
[inout] Inputs for function test1:
          nondet
[inout] Out (internal) for function test2:
          a; b; p; y; x
[inout] Inputs for function test2:
          nondet
[inout] Out (internal) for function test3:
          a; b; p; y; x
[inout] Inputs for function test3:
          nondet
[inout] Out (internal) for function test4:
          x
[inout] Inputs for function test4:
          nondet
[inout] Out (internal) for function test5:
          x
[inout] Inputs for function test5:
          nondet
[inout] Out (internal) for function main:
          __retres
[inout] Inputs for function main:
          nondet