Ezgi Çiçek
78a865b14e
[hosting] Disable purity and cost callbacks temporarily
...
Reviewed By: mbouaziz
Differential Revision: D10356668
fbshipit-source-id: a04c329c9
6 years ago
Ezgi Çiçek
99c2a6da8d
[hoisting] Hoist only expensive pure functions
...
Reviewed By: mbouaziz
Differential Revision: D10236706
fbshipit-source-id: c51a9ff0c
6 years ago
Josh Berdine
e71ea9f0ed
[sledge] Switch from Llvm.demangle to __cxa_demangle via Ctypes
...
Summary:
Call __cxa_demangle from libstdc++ using Ctypes instead of the
wrapper in Llvm.
Reviewed By: mbouaziz
Differential Revision: D9939682
fbshipit-source-id: a9f02fff5
6 years ago
Josh Berdine
27f08ab53a
[sledge] Update entry point and command line interface
...
Reviewed By: mbouaziz
Differential Revision: D9846737
fbshipit-source-id: 016add93d
6 years ago
Josh Berdine
b712a57bf9
[sledge] Add analysis based on iterative bounded exploration
...
Reviewed By: mbouaziz
Differential Revision: D9846736
fbshipit-source-id: 3c3a687b3
6 years ago
Josh Berdine
0a09581431
[sledge] Add abstract domain interface
...
Reviewed By: mbouaziz
Differential Revision: D9846739
fbshipit-source-id: 56b4d63de
6 years ago
Josh Berdine
4633419b1c
[sledge] Add symbolic execution
...
Reviewed By: jvillard
Differential Revision: D9846734
fbshipit-source-id: cf3f36f93
6 years ago
Josh Berdine
e397a43f80
[sledge] Add frame inference solver over symbolic heaps
...
Reviewed By: jvillard
Differential Revision: D9846747
fbshipit-source-id: 5b3bea318
6 years ago
Josh Berdine
83eff4c734
[sledge] Add symbolic heap formulas
...
Reviewed By: ngorogiannis
Differential Revision: D9846733
fbshipit-source-id: 8772f77b9
6 years ago
Josh Berdine
a32890a1e3
[sledge] Add congruence closure with integer offsets
...
Reviewed By: mbouaziz
Differential Revision: D9846748
fbshipit-source-id: 575c6ee15
6 years ago
Josh Berdine
f7a9a0c323
[sledge] Update frontend
...
Reviewed By: jvillard
Differential Revision: D9846735
fbshipit-source-id: 1a2293a47
6 years ago
Josh Berdine
2c116474e5
[sledge] Update llair
...
Reviewed By: jvillard
Differential Revision: D9846740
fbshipit-source-id: 16d039b04
6 years ago
Josh Berdine
8e7eeb8d1f
[sledge] Update global
...
Reviewed By: mbouaziz
Differential Revision: D9846746
fbshipit-source-id: f5c465dd5
6 years ago
Josh Berdine
2b53e53504
[sledge] Update loc
...
Reviewed By: mbouaziz
Differential Revision: D9846744
fbshipit-source-id: b72291e5b
6 years ago
Josh Berdine
392f596b02
[sledge] Update exp
...
Reviewed By: mbouaziz, ngorogiannis
Differential Revision: D9846743
fbshipit-source-id: c293970c7
6 years ago
Josh Berdine
742b181282
[sledge] Update typ
...
Reviewed By: mbouaziz
Differential Revision: D9846741
fbshipit-source-id: 1c2876954
6 years ago
Josh Berdine
6a7c21e7c9
[sledge] Update trace and ppx_trace
...
Reviewed By: mbouaziz
Differential Revision: D9846738
fbshipit-source-id: 14adee4c4
6 years ago
Josh Berdine
91888c4c41
[sledge] Update import, vector
...
Reviewed By: mbouaziz
Differential Revision: D9934559
fbshipit-source-id: a446f386c
6 years ago
Josh Berdine
f6ba0c8137
[sledge] Update build system, etc.
...
Reviewed By: jvillard
Differential Revision: D9850346
fbshipit-source-id: 16fa35ae2
6 years ago
Josh Berdine
e1d4aad487
[ocamlformat] upgrade ocamlformat to 0.8
...
Reviewed By: mbouaziz
Differential Revision: D10359577
fbshipit-source-id: e7f5286e3
6 years ago
Nikos Gorogiannis
9eecd1bb9b
[racerd] reconcile java and clang report corellation code
...
Summary:
Use same code for deciding whether two accesses conflict across java/clang, by adapting that of the clang version.
Eliminate/simplify some code.
Reviewed By: mbouaziz, jberdine
Differential Revision: D10217383
fbshipit-source-id: dc0986d05
6 years ago
Dino Distefano
08a26d4ba1
First approximation of stateless
...
Reviewed By: jvillard
Differential Revision: D10141376
fbshipit-source-id: a1dbb4c21
6 years ago
Mehdi Bouaziz
c3f2fbc8c6
[inferbo] Do not alias values representing multiple values (Java, C partially)
...
Reviewed By: skcho
Differential Revision: D10317894
fbshipit-source-id: d9bf25699
6 years ago
Sungkeun Cho
d94ba863c6
[infer] Add type in binary operator
...
Reviewed By: mbouaziz
Differential Revision: D10216263
fbshipit-source-id: 84f0fa936
6 years ago
Mehdi Bouaziz
eca0b491d6
Weak Topological Order and Abstract Interpreter using it
...
Reviewed By: jberdine
Differential Revision: D7783487
fbshipit-source-id: 15b4c84e1
6 years ago
Mehdi Bouaziz
c9b89b54dd
Preparing for WeakTopologicalOrder-based abstract interpreter
...
Reviewed By: ngorogiannis
Differential Revision: D10069200
fbshipit-source-id: 5d6d5d12c
6 years ago
Mehdi Bouaziz
2be4710811
[AI] Enable debugging only based on --write-html
...
Reviewed By: ezgicicek
Differential Revision: D10238681
fbshipit-source-id: 08eeedd26
6 years ago
Mehdi Bouaziz
62b1f39540
[Uninit][8/13] Rename UninitVars to MaybeUninitVars
...
Reviewed By: jeremydubreil
Differential Revision: D10250193
fbshipit-source-id: bd4cd332f
6 years ago
Mehdi Bouaziz
5679105c15
[Uninit][7/13] Add new tests
...
Reviewed By: jeremydubreil
Differential Revision: D10250168
fbshipit-source-id: 5e5983f04
6 years ago
Mehdi Bouaziz
01f3f39760
[Uninit][6/13] Move some operations to the domain
...
Reviewed By: jeremydubreil
Differential Revision: D10250152
fbshipit-source-id: 332a83565
6 years ago
Mehdi Bouaziz
6ca6de80c3
[Uninit][5/13] Use callee_formals directly
...
Reviewed By: jeremydubreil
Differential Revision: D10250131
fbshipit-source-id: 528d1ee4b
6 years ago
Mehdi Bouaziz
fcf2ce1e8f
[Uninit][4/13] extras
...
Reviewed By: jeremydubreil
Differential Revision: D10250076
fbshipit-source-id: d1e412bcf
6 years ago
Mehdi Bouaziz
6fd02b272f
[Uninit][3/13] Modules Models and Initial
...
Reviewed By: jeremydubreil
Differential Revision: D10250064
fbshipit-source-id: 248d96e73
6 years ago
Dino Distefano
89700a7d95
Added new predicated for captured values
...
Reviewed By: jvillard
Differential Revision: D10162271
fbshipit-source-id: 47f9420b8
6 years ago
Mehdi Bouaziz
f639906496
[Uninit][2/13] Move summary type
...
Reviewed By: jeremydubreil
Differential Revision: D10250040
fbshipit-source-id: 12e02cb32
6 years ago
Mehdi Bouaziz
8cac7df447
[Uninit][1/13] Move interproc tests
...
Reviewed By: jeremydubreil
Differential Revision: D10250022
fbshipit-source-id: d82863d5a
6 years ago
Mehdi Bouaziz
b90c2f3bfc
[debug] Print proc attributes on the procedure page
...
Reviewed By: jeremydubreil
Differential Revision: D10238661
fbshipit-source-id: 2de9ee425
6 years ago
Mehdi Bouaziz
15839539a7
Annot.Method: record rather than pair
...
Reviewed By: ngorogiannis
Differential Revision: D10238615
fbshipit-source-id: 7f7785275
6 years ago
Nikos Gorogiannis
0b4beda1cd
[starvation] also consider subclasses of Future
...
Reviewed By: jberdine
Differential Revision: D10192090
fbshipit-source-id: 94384a4a5
6 years ago
Sungkeun Cho
1330475032
[infer] Fix placement_new translation
...
Summary:
It unsets `var_exp_typ` of `trans_state` during the translations of
placement parameters, so they are translated independently against the
target variable and class of the `new` function.
Reviewed By: mbouaziz, jvillard
Differential Revision: D10161419
fbshipit-source-id: 7f588a91c
6 years ago
Sungkeun Cho
f4ee2a0234
[inferbo] Revise placement new model
...
Summary: It enables placement_new to get three parameters, which happens when placement_new is overloaded (e.g. Boost).
Reviewed By: mbouaziz
Differential Revision: D10100324
fbshipit-source-id: 0ecb0a404
6 years ago
Mehdi Bouaziz
aa6f5b2ed5
Uninit nits
...
Reviewed By: jvillard
Differential Revision: D10119326
fbshipit-source-id: e2a50bae5
6 years ago
Mehdi Bouaziz
ded6bd8ba4
Uninit: do not use the one-instr-per-node CFG
...
Reviewed By: jvillard
Differential Revision: D10119328
fbshipit-source-id: e0be32377
6 years ago
Mehdi Bouaziz
3ff9a3127c
[uninit] Use LowerHIL-AI directly
...
Summary:
Using debugging on uninit raised an exception. A file was opened twice and closed twice.
This happened because the two abstract interpreters (SIL, LowerHIL) conflicted.
Let's use the LowerHIL-AI directly
Reviewed By: jvillard
Differential Revision: D10126442
fbshipit-source-id: 113c9e131
6 years ago
Jeremy Dubreil
56709b4ccb
[infer] the bug hash should also consider the anonymous classes in the qualifier
...
Reviewed By: jberdine
Differential Revision: D10229005
fbshipit-source-id: 5edbef6e7
6 years ago
Jules Villard
8c7bff0210
[proc-cfg][5/5] remove file-wide cfgs from the db
...
Summary: Nothing uses the file-wide CFGs in the database anymore so remove them.
Reviewed By: ngorogiannis
Differential Revision: D10173356
fbshipit-source-id: b5be40931
6 years ago
Jules Villard
2b30dec50a
[proc-cfg][4/5] kill Cfg.load
...
Summary: Remove the last use of file-wide CFGs in the database.
Reviewed By: jberdine
Differential Revision: D10173352
fbshipit-source-id: e8e9bd729
6 years ago
Jules Villard
31e01a9aa0
[proc-cfg][3/5] stop caching whole-file cfgs in exe_env
...
Summary:
Load proc descs from the "procedures" sqlite table instead of from
file-wide cfgs stored in the "source_files" table. This removes the need
for a cache of these file-wide CFGs, which was needed because loading
them is expensive and potentially needed in case we need to load the
proc descs of several procedures in the same file. Now we can just load
the proc descs one by one and not worry about caching.
Reviewed By: jberdine
Differential Revision: D10173355
fbshipit-source-id: 665636121
6 years ago
Jules Villard
7615963bf4
[proc-cfg][2/5] fix duplicate symbols detection
...
Summary:
Fix the logic for computing duplicate symbols. It was broken at some point and some duplicate symbols creeped into our tests. Fix these, and add a test to avoid duplicate symbols detection to regress again.
Also, this removes one use of `Cfg.load`, on the way to removing file-wide CFGs from the database.
Reviewed By: ngorogiannis
Differential Revision: D10173349
fbshipit-source-id: a0d2365b3
6 years ago
Jules Villard
7e20c8d380
[proc-cfg][1/5] add per-procedure cfgs to the procedures table
...
Summary:
First step: record the proc desc of each procedure in the "procedures"
table. Update them according to the attributes logic. Bonus: this
proc-desc for a procedure is now always in sync with its attributes.
For now nothing uses these per-procedure cfgs. Later diffs make more and
more use of them and eventually kill off file-wide CFGs from the
database.
Reviewed By: jberdine
Differential Revision: D10173350
fbshipit-source-id: b6d222bee
6 years ago