File: local.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 (125 lines) | stat: -rw-r--r-- 4,165 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
[kernel] Parsing share/libc/__fc_builtin_for_normalization.i (no preprocessing)
[kernel] Parsing tests/value/local.i (no 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
  X ∈ {0}
  Y ∈ {0}
  Z ∈ {0}
  T ∈ {0}
  U ∈ {0}
  V ∈ {0}
[value] computing for function f <- main.
        Called from tests/value/local.i:33.
tests/value/local.i:7:[value] warning: locals {b} escaping the scope of f through \result
[value] Recording results for f
[value] Done for function f
tests/value/local.i:33:[value] warning: locals {a} escaping the scope of f through X
[value] computing for function g <- main.
        Called from tests/value/local.i:34.
[value] computing for function f <- g <- main.
        Called from tests/value/local.i:13.
[value] Recording results for f
[value] Done for function f
tests/value/local.i:13:[value] warning: locals {a} escaping the scope of f through X
tests/value/local.i:14:[value] warning: accessing left-value that contains escaping addresses.
                 assert ¬\dangling(&T);
tests/value/local.i:15:[value] warning: locals {d} escaping the scope of g through \result
[value] Recording results for g
[value] Done for function g
tests/value/local.i:34:[value] warning: locals {d} escaping the scope of g through U
[value] DUMPING STATE of file tests/value/local.i line 35
        X ∈ ESCAPINGADDR
        Y ∈ ESCAPINGADDR
        Z ∈ ESCAPINGADDR
        T ∈ ESCAPINGADDR
        U ∈ ESCAPINGADDR
        V ∈ {0}
        e ∈ UNINITIALIZED
        =END OF DUMP==
[value] computing for function h <- main.
        Called from tests/value/local.i:36.
[value] Recording results for h
[value] Done for function h
[value] computing for function i <- main.
        Called from tests/value/local.i:37.
[value] Recording results for i
[value] Done for function i
[value] Recording results for main
[value] done for function main
tests/value/local.i:14:[value] assertion 'Value,dangling_pointer' got final status invalid.
[value] ====== VALUES COMPUTED ======
[value:final-states] Values at end of function f:
  X ∈ {{ &a }}
  __retres ∈ {{ &b }}
[value:final-states] Values at end of function g:
  X ∈ ESCAPINGADDR
  T ∈ ESCAPINGADDR
  U ∈ {{ &d }}
  d ∈ [--..--]
[value:final-states] Values at end of function h:
  __retres ∈ {{ &e + {4} }}
[value:final-states] Values at end of function i:
  x ∈ {{ &local }}
[value:final-states] Values at end of function main:
  X ∈ ESCAPINGADDR
  Y ∈ ESCAPINGADDR
  Z ∈ ESCAPINGADDR
  T ∈ ESCAPINGADDR
  U ∈ ESCAPINGADDR
  V ∈ {{ &e + {4} }}
[from] Computing for function f
[from] Done for function f
[from] Computing for function g
[from] Done for function g
[from] Computing for function h
[from] Done for function h
[from] Computing for function i
[from] Done for function i
[from] Computing for function main
[from] Computing for function Frama_C_dump_each <-main
[from] Done for function Frama_C_dump_each
[from] Done for function main
[from] ====== DEPENDENCIES COMPUTED ======
       These dependencies hold at termination for the executions that terminate:
[from] Function f:
  X FROM \nothing
  \result FROM \nothing
[from] Function g:
  X FROM \nothing
  T FROM \nothing
  U FROM \nothing
  \result FROM \nothing
[from] Function h:
  \result FROM x
[from] Function i:
  NO EFFECTS
[from] Function main:
  X FROM \nothing
  Y FROM \nothing
  Z FROM \nothing
  T FROM \nothing
  U FROM \nothing
  V FROM \nothing
[from] ====== END OF DEPENDENCIES ======
[inout] Out (internal) for function f:
          X; __retres
[inout] Inputs for function f:
          \nothing
[inout] Out (internal) for function g:
          X; T; U; d
[inout] Inputs for function g:
          T; U
[inout] Out (internal) for function h:
          __retres
[inout] Inputs for function h:
          \nothing
[inout] Out (internal) for function i:
          x
[inout] Inputs for function i:
          \nothing
[inout] Out (internal) for function main:
          X; Y; Z; T; U; V
[inout] Inputs for function main:
          T; U