Commit 986b414
CFL Field Sensitivity (#814)
* Add alloc-sites-aware default problem + start adding IDEDroid-like formulation of field-sensitive IFDS
* Continue with CFL implementation (WIP)
* Fully compiling CFL-field-sens IFDS implementation
* Add some simple unittests (WIP)
* Add a hack to make the alias information partially field sensitive
* Change alias handling
* Add more (passing) XTaint tests
* Add sanitizer-customization-point + fix bug in combine() with EdgeIdentity
* Fix minor compilation issue
* Out-comment unnecessary stuff
* Convert CFLFieldSensTest to testingSrcLocation + add logger to FieldSensAllocSitesAwareIFDSProblem
* Optimize CFLFieldSensEdgeValue::applyTransforms
* Some cleanup + optimize creation of CFLFieldSensEdgeFunction
* minor
* Some optimizations
* Add corner case tests
* Fix edge-cases in CFL-Fieldsens analysis + make corresponding tests (xtaint 22,23) pass
* Small tweak in CFLFieldSensTest + minor
* Add structural sharing for Store- and Load sequences
* Some cleanup + small enhancement to LatticeDomain-join
* Add some comment
* Fix errors after merge
* minor
* Integrate CFL-fieldsens analysis into phasar-cli for IFDSTaintAnalysis
* Rename cfl fieldsens analysis problem + introduce own namespace for it
* Add generic mechanism to filter IFDS analysis results field-sensitively
* Properly handling non-existing value
* Add some comments + minor
* pre-commit
* Fix stack-use-after-return in IdBasedSolverResults
* small optimization based on alltop
---------
Co-authored-by: Fabian Schiebel <fabian.schiebel@uni-paderborn.de>1 parent 1310d47 commit 986b414
36 files changed
Lines changed: 2760 additions & 183 deletions
File tree
- include/phasar
- DataFlow/IfdsIde
- Solver
- Domain
- PhasarLLVM
- DataFlow/IfdsIde
- Problems
- ExtendedTaintAnalysis
- Pointer
- Utils
- Utils
- lib
- PhasarLLVM
- DataFlow/IfdsIde
- Problems
- ExtendedTaintAnalysis
- Pointer
- Utils
- test/llvm_test_code/xtaint
- tools/phasar-cli/Controller
- unittests/PhasarLLVM/DataFlow/IfdsIde
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
39 | 39 | | |
40 | 40 | | |
41 | 41 | | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
42 | 46 | | |
43 | 47 | | |
44 | 48 | | |
| |||
164 | 168 | | |
165 | 169 | | |
166 | 170 | | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
167 | 175 | | |
168 | 176 | | |
169 | 177 | | |
| |||
202 | 210 | | |
203 | 211 | | |
204 | 212 | | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
205 | 217 | | |
206 | 218 | | |
207 | 219 | | |
208 | | - | |
| 220 | + | |
209 | 221 | | |
210 | 222 | | |
211 | 223 | | |
| |||
218 | 230 | | |
219 | 231 | | |
220 | 232 | | |
221 | | - | |
| 233 | + | |
222 | 234 | | |
223 | 235 | | |
224 | 236 | | |
| |||
409 | 421 | | |
410 | 422 | | |
411 | 423 | | |
412 | | - | |
413 | | - | |
| 424 | + | |
| 425 | + | |
414 | 426 | | |
415 | 427 | | |
416 | 428 | | |
| |||
428 | 440 | | |
429 | 441 | | |
430 | 442 | | |
431 | | - | |
432 | | - | |
| 443 | + | |
| 444 | + | |
433 | 445 | | |
434 | 446 | | |
435 | 447 | | |
| |||
447 | 459 | | |
448 | 460 | | |
449 | 461 | | |
| 462 | + | |
| 463 | + | |
| 464 | + | |
| 465 | + | |
| 466 | + | |
| 467 | + | |
| 468 | + | |
| 469 | + | |
| 470 | + | |
| 471 | + | |
| 472 | + | |
| 473 | + | |
| 474 | + | |
| 475 | + | |
| 476 | + | |
| 477 | + | |
| 478 | + | |
450 | 479 | | |
451 | 480 | | |
452 | 481 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
34 | 34 | | |
35 | 35 | | |
36 | 36 | | |
| 37 | + | |
37 | 38 | | |
38 | 39 | | |
39 | 40 | | |
| |||
122 | 123 | | |
123 | 124 | | |
124 | 125 | | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
125 | 139 | | |
126 | 140 | | |
127 | 141 | | |
| |||
177 | 191 | | |
178 | 192 | | |
179 | 193 | | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
180 | 198 | | |
181 | 199 | | |
182 | 200 | | |
| |||
Lines changed: 9 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
28 | 28 | | |
29 | 29 | | |
30 | 30 | | |
31 | | - | |
32 | 31 | | |
33 | | - | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
34 | 35 | | |
35 | | - | |
36 | | - | |
37 | | - | |
| 36 | + | |
| 37 | + | |
38 | 38 | | |
39 | 39 | | |
40 | 40 | | |
| |||
44 | 44 | | |
45 | 45 | | |
46 | 46 | | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
47 | 51 | | |
48 | 52 | | |
49 | 53 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
| 16 | + | |
16 | 17 | | |
17 | 18 | | |
18 | 19 | | |
| |||
22 | 23 | | |
23 | 24 | | |
24 | 25 | | |
| 26 | + | |
25 | 27 | | |
26 | 28 | | |
27 | 29 | | |
| |||
99 | 101 | | |
100 | 102 | | |
101 | 103 | | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
102 | 111 | | |
103 | 112 | | |
104 | 113 | | |
| |||
213 | 222 | | |
214 | 223 | | |
215 | 224 | | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
216 | 233 | | |
217 | 234 | | |
218 | 235 | | |
| |||
243 | 260 | | |
244 | 261 | | |
245 | 262 | | |
246 | | - | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
247 | 269 | | |
248 | 270 | | |
249 | 271 | | |
| |||
0 commit comments