|
| 1 | + |
| 2 | +<!DOCTYPE HTML> |
| 3 | +<html lang="en"> |
| 4 | + |
| 5 | +<head> |
| 6 | + <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> |
| 7 | + <script type='text/javascript'> |
| 8 | + clicked = []; |
| 9 | + |
| 10 | + $(document).ready(function () { |
| 11 | + |
| 12 | + $(".expnest").mouseup(function () { |
| 13 | + $(this).css({"background-color": $(this).css("background-color"), "color": "black"}); |
| 14 | + $("#eidinfo" + $(this).attr("data-eid")).show(); |
| 15 | + clicked.push($(this)); |
| 16 | + }); |
| 17 | + |
| 18 | + $(".expnest").hover( |
| 19 | + function () { |
| 20 | + if (clicked.length == 0) { |
| 21 | + $(this).css({"background-color": $(this).css("background-color"), "color": "black"}); |
| 22 | + $("#eidinfo" + $(this).attr("data-eid")).show(); |
| 23 | + } |
| 24 | + }, |
| 25 | + function () { |
| 26 | + if (clicked.length == 0) { |
| 27 | + $(this).removeAttr('style'); |
| 28 | + $("#eidinfo" + $(this).attr("data-eid")).hide(); |
| 29 | + } |
| 30 | + }); |
| 31 | + |
| 32 | + $(".code-container").mousedown(function (e) { |
| 33 | + if ((e.offsetX <= e.target.clientWidth && e.offsetY <= e.target.clientHeight) || |
| 34 | + (e.target.clientWidth == 0 && e.target.clientHeight == 0)) { |
| 35 | + clicked.forEach(c => {c.removeAttr('style'); $("#eidinfo" + c.attr("data-eid")).hide();}); |
| 36 | + clicked = []; |
| 37 | + } |
| 38 | + }); |
| 39 | + |
| 40 | + }); |
| 41 | + </script> |
| 42 | + <style> |
| 43 | + |
| 44 | + .def { |
| 45 | + display: none; |
| 46 | + } |
| 47 | + |
| 48 | + .expnest:hover+.expinfo>.def { |
| 49 | + display: inline-block; |
| 50 | + } |
| 51 | + |
| 52 | + .expinfo { |
| 53 | + border: 1px solid black; |
| 54 | + border-radius: 12px; |
| 55 | + } |
| 56 | + |
| 57 | + .expinfo>.eidinfo { |
| 58 | + display: none; |
| 59 | + } |
| 60 | + |
| 61 | + .expnest0:hover { |
| 62 | + background-color: #DDFFD6; |
| 63 | + color: #000000; |
| 64 | + } |
| 65 | + |
| 66 | + .expnest1:hover { |
| 67 | + background-color: #FFC2C2; |
| 68 | + color: #000000; |
| 69 | + } |
| 70 | + |
| 71 | + .expnest2:hover { |
| 72 | + background-color: #ADF8FF; |
| 73 | + color: #000000; |
| 74 | + } |
| 75 | + |
| 76 | + .expnest3:hover { |
| 77 | + background-color: #FEFFD6; |
| 78 | + color: #000000; |
| 79 | + } |
| 80 | + |
| 81 | + .expnest4:hover { |
| 82 | + background-color: #DCD6FF; |
| 83 | + color: #000000; |
| 84 | + } |
| 85 | + |
| 86 | + .expnest5:hover { |
| 87 | + background-color: #FFE3C2; |
| 88 | + color: #000000; |
| 89 | + } |
| 90 | + |
| 91 | + .expnest6:hover { |
| 92 | + background-color: #C2D9FF; |
| 93 | + color: #000000; |
| 94 | + } |
| 95 | + |
| 96 | + .expnest7:hover { |
| 97 | + background-color: #F9C8E0; |
| 98 | + color: #000000; |
| 99 | + } |
| 100 | + |
| 101 | + .expnest8:hover { |
| 102 | + background-color: #DCD6FF; |
| 103 | + color: #000000; |
| 104 | + } |
| 105 | + |
| 106 | + .expnest9:hover { |
| 107 | + background-color: #BDB2FF; |
| 108 | + color: #000000; |
| 109 | + } |
| 110 | + |
| 111 | + .expnest10:hover { |
| 112 | + background-color: #FFECD6; |
| 113 | + color: #000000; |
| 114 | + } |
| 115 | + |
| 116 | + .expnest11:hover { |
| 117 | + background-color: #FFD6A5; |
| 118 | + color: #000000; |
| 119 | + } |
| 120 | + |
| 121 | + .expnest12:hover { |
| 122 | + background-color: #D6E6FF; |
| 123 | + color: #000000; |
| 124 | + } |
| 125 | + |
| 126 | + .expnest13:hover { |
| 127 | + background-color: #A0C4FF; |
| 128 | + color: #000000; |
| 129 | + } |
| 130 | + |
| 131 | + .expnest14:hover { |
| 132 | + background-color: #FBDAEB; |
| 133 | + color: #000000; |
| 134 | + } |
| 135 | + |
| 136 | + .expnest15:hover { |
| 137 | + background-color: #F7B6D7; |
| 138 | + color: #000000; |
| 139 | + } |
| 140 | + |
| 141 | + .expnest0 { |
| 142 | + background-color: #f0f0f0; |
| 143 | + } |
| 144 | + |
| 145 | + .font-expnest0 { |
| 146 | + background-color: #DDFFD6; |
| 147 | + } |
| 148 | + |
| 149 | + .font-expnest1 { |
| 150 | + background-color: #FFC2C2; |
| 151 | + } |
| 152 | + |
| 153 | + .font-expnest2 { |
| 154 | + background-color: #ADF8FF; |
| 155 | + } |
| 156 | + |
| 157 | + .font-expnest3 { |
| 158 | + background-color: #FEFFD6; |
| 159 | + } |
| 160 | + |
| 161 | + .font-expnest4 { |
| 162 | + background-color: #DCD6FF; |
| 163 | + } |
| 164 | + |
| 165 | + .font-expnest5 { |
| 166 | + background-color: #FFE3C2; |
| 167 | + } |
| 168 | + |
| 169 | + .font-expnest6 { |
| 170 | + background-color: #C2D9FF; |
| 171 | + } |
| 172 | + |
| 173 | + .font-expnest7 { |
| 174 | + background-color: #F9C8E0; |
| 175 | + } |
| 176 | + |
| 177 | + .font-expnest8 { |
| 178 | + background-color: #DCD6FF; |
| 179 | + } |
| 180 | + |
| 181 | + .font-expnest9 { |
| 182 | + background-color: #BDB2FF; |
| 183 | + } |
| 184 | + |
| 185 | + .font-expnest10 { |
| 186 | + background-color: #FFECD6; |
| 187 | + } |
| 188 | + |
| 189 | + .font-expnest11 { |
| 190 | + background-color: #FFD6A5; |
| 191 | + } |
| 192 | + |
| 193 | + .font-expnest12 { |
| 194 | + background-color: #D6E6FF; |
| 195 | + } |
| 196 | + |
| 197 | + .font-expnest13 { |
| 198 | + background-color: #A0C4FF; |
| 199 | + } |
| 200 | + |
| 201 | + .font-expnest14 { |
| 202 | + background-color: #FBDAEB; |
| 203 | + } |
| 204 | + |
| 205 | + .font-expnest15 { |
| 206 | + background-color: #F7B6D7; |
| 207 | + } |
| 208 | + |
| 209 | + body { |
| 210 | + /* background-color: #001B2E; */ |
| 211 | + } |
| 212 | + |
| 213 | + .code-container { |
| 214 | + font-family: monospace; |
| 215 | + font-size: 14px; |
| 216 | + line-height: 1.5; |
| 217 | + color: /* #FFF8EB; */ #000000; |
| 218 | + overflow: auto; |
| 219 | + height: 92vh; |
| 220 | + } |
| 221 | + |
| 222 | + .expinfo { |
| 223 | + /* background-color: #ADB6C4; */ |
| 224 | + background-color: #eeeeee; |
| 225 | + padding: 10px; |
| 226 | + font-family: sans; |
| 227 | + font-size: 14px; |
| 228 | + line-height: 1.5; |
| 229 | + color: #000; |
| 230 | + } |
| 231 | + |
| 232 | + .column { |
| 233 | + float: left; |
| 234 | + overflow: auto; |
| 235 | + } |
| 236 | + |
| 237 | + .row:after { |
| 238 | + content: ""; |
| 239 | + display: table; |
| 240 | + clear: both; |
| 241 | + } |
| 242 | + |
| 243 | + /* Syntax highlighting for C keywords */ |
| 244 | + .code-container .keyword { |
| 245 | + color: #800080 /* 579dd6; |
| 246 | + font-weight: bold; */ |
| 247 | + } |
| 248 | + |
| 249 | + .code-container .type { |
| 250 | + color: #228b22; |
| 251 | + } |
| 252 | + |
| 253 | + .code-container .vardecl { |
| 254 | + color: #a0522d; |
| 255 | + } |
| 256 | + |
| 257 | + /* Syntax highlighting for C comments */ |
| 258 | + .code-container .comment { |
| 259 | + color: #6a9955; |
| 260 | + /* green */ |
| 261 | + font-style: italic; |
| 262 | + } |
| 263 | + |
| 264 | + /* Syntax highlighting for C strings */ |
| 265 | + .code-container .string { |
| 266 | + color: #ce9079; |
| 267 | + /* red */ |
| 268 | + } |
| 269 | + |
| 270 | + /* Syntax highlighting for C numbers */ |
| 271 | + .code-container .number { |
| 272 | + color: #b5cea8; |
| 273 | + /* orange */ |
| 274 | + } |
| 275 | + |
| 276 | + /* Syntax highlighting for C preprocessor directives */ |
| 277 | + .code-container .preprocessor { |
| 278 | + color: #c586c0; |
| 279 | + /* gray */ |
| 280 | + } |
| 281 | + |
| 282 | + /* Syntax highlighting for C functions */ |
| 283 | + .code-container .function-name { |
| 284 | + color: #0000ff; |
| 285 | + } |
| 286 | + |
| 287 | + .scrollbar::-webkit-scrollbar-track |
| 288 | + { |
| 289 | + border: 1px solid black; |
| 290 | + background-color: #FFF8EB; |
| 291 | + } |
| 292 | + |
| 293 | + .scrollbar::-webkit-scrollbar |
| 294 | + { |
| 295 | + width: 10px; |
| 296 | + } |
| 297 | + |
| 298 | + .scrollbar::-webkit-scrollbar-thumb |
| 299 | + { |
| 300 | + background-color: #ADB6C4; |
| 301 | + } |
| 302 | + </style> |
| 303 | + <meta http-equiv="content-type" content="text/html; charset=utf-8"> |
| 304 | + <title>Frama-C/Codex Analysis results</title> |
| 305 | +</head> |
| 306 | + |
| 307 | +<body> |
| 308 | + <div class="row"> |
| 309 | + <pre class="scrollbar column code-container" style="width: 45%; margin: 0px;"> |
| 310 | +<a name="vi-global-abs"></a><span class="type"><span class="type"><span class="type">int</span> <span class="vardecl"><span class="vardecl"><a data-eid="0" href="#vi-global-abs" class="expnest expnest0 function-name">abs</a></span>(<span class="type"><span class="type">int</span> <span class="vardecl">x</span></span>)</span></span></span> |
| 311 | +{ |
| 312 | + <span class="type"><span class="type">int</span> <span class="vardecl">res</span></span>; |
| 313 | + <span class="keyword">if</span> (<span data-eid="1" class="expnest expnest0"><span data-eid="2" class="expnest expnest1"><span data-eid="3" class="expnest expnest1">x</span></span> < <span data-eid="4" class="expnest expnest1">0</span></span>) <span class="statement"><span data-eid="5" class="expnest expnest0">res</span> = <span data-eid="6" class="expnest expnest0">- <span data-eid="7" class="expnest expnest1"><span data-eid="8" class="expnest expnest1">x</span></span></span>;</span> <span class="keyword">else</span> <span class="statement"><span data-eid="9" class="expnest expnest0">res</span> = <span data-eid="10" class="expnest expnest0"><span data-eid="11" class="expnest expnest0">x</span></span>;</span> |
| 314 | + <span class="keyword">return</span> <span data-eid="12" class="expnest expnest0"><span data-eid="13" class="expnest expnest0">res</span></span>; |
| 315 | +} |
| 316 | + |
| 317 | + |
| 318 | +</pre><div class="column expinfo" style="height: 92vh; width: 54%; padding: 0px;"><div class="scrollbar" style="padding: 10px; font-family: sans; background-color: #8C96A7; color: black; min-height: 5vh; max-height: 20vh; overflow: auto;"> |
| 319 | +<div style="font-variant: small-caps">Unproved alarms:</div> |
| 320 | +<div style="font-family: monospace">abs.c:6: Signed_overflow(- x <= |
| 321 | +2147483647) {true;false}</div> |
| 322 | +<div style="font-variant: small-caps">Proved 1/2 alarms</div></div> |
| 323 | +<hr style="border: 1px solid black; margin: 0px;"> |
| 324 | +<table style="width: 100%"> <tr> <th style="font-style: italic">/</th> <th>Name</th> <th>Type</th> <th>Value</th> </tr><tr class="font-expnest0 eidinfo" id="eidinfo1" style="display: none"><td>Expr</td> <td>x < 0</td> <td>int</td> <td>{0; 1}</td></tr> |
| 325 | +<tr class="font-expnest1 eidinfo" id="eidinfo2" style="display: none"><td>Expr</td> <td>x</td> <td>int</td> <td>[--..--]</td></tr> |
| 326 | +<tr class="font-expnest1 eidinfo" id="eidinfo3" style="display: none"><td>Lval</td> <td>x</td> <td>int</td></tr> |
| 327 | +<tr class="font-expnest1 eidinfo" id="eidinfo4" style="display: none"><td>Expr</td> <td>0</td> <td>int</td> <td>{0}</td></tr> |
| 328 | +<tr class="font-expnest0 eidinfo" id="eidinfo5" style="display: none"><td>Lval</td> <td>res</td> <td>int</td></tr> |
| 329 | +<tr class="font-expnest0 eidinfo" id="eidinfo6" style="display: none"><td>Expr</td> <td>- x</td> <td>int</td> <td>[1..0x7FFFFFFF]</td></tr> |
| 330 | +<tr class="font-expnest1 eidinfo" id="eidinfo7" style="display: none"><td>Expr</td> <td>x</td> <td>int</td> <td>[-0x80000000..-1]</td></tr> |
| 331 | +<tr class="font-expnest1 eidinfo" id="eidinfo8" style="display: none"><td>Lval</td> <td>x</td> <td>int</td></tr> |
| 332 | +<tr class="font-expnest0 eidinfo" id="eidinfo9" style="display: none"><td>Lval</td> <td>res</td> <td>int</td></tr> |
| 333 | +<tr class="font-expnest0 eidinfo" id="eidinfo10" style="display: none"><td>Expr</td> <td>x</td> <td>int</td> <td>[0..0x7FFFFFFF]</td></tr> |
| 334 | +<tr class="font-expnest0 eidinfo" id="eidinfo11" style="display: none"><td>Lval</td> <td>x</td> <td>int</td></tr> |
| 335 | +<tr class="font-expnest0 eidinfo" id="eidinfo12" style="display: none"><td>Expr</td> <td>res</td> <td>int</td> <td>[0..0x7FFFFFFF]</td></tr> |
| 336 | +<tr class="font-expnest0 eidinfo" id="eidinfo13" style="display: none"><td>Lval</td> <td>res</td> <td>int</td></tr> |
| 337 | +<tr class="font-expnest0 eidinfo" id="eidinfo0" style="display: none"><td>Func</td> <td>abs</td> <td>undefined ctype</td></tr> |
| 338 | +</table></div></body></html> |
0 commit comments