Sungkeun Cho
aa3fa55f05
[inferbo] Fix check of access condition
...
Reviewed By: mbouaziz
Differential Revision: D13114160
fbshipit-source-id: 9e46cf814
6 years ago
Sungkeun Cho
e912bf2aa5
[inferbo] Prune more for "(x + e1) < e2" cases
...
Reviewed By: mbouaziz
Differential Revision: D13095472
fbshipit-source-id: 21aef560a
6 years ago
Sungkeun Cho
e190325b82
[inferbo] Distinguish collection add against array access in pp
...
Reviewed By: mbouaziz
Differential Revision: D13096380
fbshipit-source-id: d8878749f
6 years ago
Nikos Gorogiannis
68a08a8a09
[starvation] stop reporting on AccountManager.setUserData
...
Reviewed By: da319
Differential Revision: D13097076
fbshipit-source-id: 748acbe2b
6 years ago
Mehdi Bouaziz
fac9932168
[inferbo] Add traces to Conditions always true/false and Unreachable code
...
Reviewed By: ezgicicek
Differential Revision: D13082665
fbshipit-source-id: bb0e4cbf3
6 years ago
Ezgi Çiçek
6683c71f8b
[purity, hoisting] Add more purity models for fblite and instagram
...
Reviewed By: mbouaziz
Differential Revision: D13082201
fbshipit-source-id: e2b3f3e18
6 years ago
Nikos Gorogiannis
f3194e00c9
[starvation] silence some strict mode models
...
Reviewed By: mbouaziz
Differential Revision: D13082383
fbshipit-source-id: 7f16b94c5
6 years ago
Nikos Gorogiannis
a3df8f9f99
[starvation] simplify report format
...
Reviewed By: mbouaziz
Differential Revision: D13065391
fbshipit-source-id: 6e302cf85
6 years ago
Mehdi Bouaziz
0ba4c2c892
[cost] Pretty-printing exponents
...
Reviewed By: ezgicicek
Differential Revision: D13050241
fbshipit-source-id: dbac027b7
6 years ago
Mehdi Bouaziz
5ed59b1655
[Inferbo/cost] Improve pretty-printing
...
Reviewed By: skcho
Differential Revision: D13045247
fbshipit-source-id: 5485b58c8
6 years ago
Ezgi Çiçek
dde0067eec
[purity] Don't report pure functions if hoisting mode is turned-on
...
Reviewed By: ddino
Differential Revision: D13025725
fbshipit-source-id: 44d138418
6 years ago
Ezgi Çiçek
f3d82a0230
[hoisting] Don't report functions modeled as VariantForHoisting but consider them invariant
...
Reviewed By: ddino
Differential Revision: D13025250
fbshipit-source-id: ba1e39591
6 years ago
Ezgi Çiçek
2f06fd768f
[purity, hoisting] Keep track of modified args
...
Reviewed By: mbouaziz
Differential Revision: D12921871
fbshipit-source-id: 17ba48895
6 years ago
Ezgi Çiçek
d5a2198010
[hoisting] Make invalidation stop at already explored (var,node) pairs
...
Reviewed By: mbouaziz
Differential Revision: D12957025
fbshipit-source-id: b51f81966
6 years ago
Ezgi Çiçek
ff722f975d
[hoisting] Stop invalidation at loop head
...
Reviewed By: mbouaziz
Differential Revision: D12925391
fbshipit-source-id: f74ef935e
6 years ago
Ezgi Çiçek
3fb1053b75
[hoisting] Invalidate arguments of type structs
...
Reviewed By: mbouaziz
Differential Revision: D12924850
fbshipit-source-id: b442d37be
6 years ago
Mehdi Bouaziz
9a4416f7d4
[quandary] String concatenation sanitizes class loading
...
Reviewed By: jeremydubreil
Differential Revision: D12943175
fbshipit-source-id: 9e1c92d46
6 years ago
Mehdi Bouaziz
174bdcd22b
[quandary] Add class-loading sinks
...
Reviewed By: jeremydubreil
Differential Revision: D12942819
fbshipit-source-id: c294b4238
6 years ago
Sungkeun Cho
2401f6f6eb
[inferbo] Give a widening threshold of zero
...
Reviewed By: mbouaziz
Differential Revision: D12898540
fbshipit-source-id: 95bdaf4f0
6 years ago
Sungkeun Cho
b2189c1c17
[inferbo] Loosen similar bounds condition
...
Summary:
For more deduplications of issues, this diff loosens the condition of
similar bounds. The previous condition of similar bounds was too
strict, so [0,0] and [0,+oo] were not similar.
Depends on D10851762
Reviewed By: mbouaziz
Differential Revision: D10866127
fbshipit-source-id: 4ba912a88
6 years ago
Sungkeun Cho
bf29bd9772
[inferbo] Fix xcompare of Itv
...
Reviewed By: mbouaziz
Differential Revision: D10851762
fbshipit-source-id: 20e26cc30
6 years ago
Ezgi Çiçek
39335bb095
[hoisting] Invalidate all dependencies of invalidated parameters
...
Reviewed By: mbouaziz
Differential Revision: D10356056
fbshipit-source-id: a5d3b4bbe
6 years ago
Ezgi Çiçek
8a51a70162
[Hoisting] Add FP test for indirect modification in loop
...
Reviewed By: mbouaziz
Differential Revision: D10288095
fbshipit-source-id: 55cd2870a
6 years ago
Ezgi Çiçek
affe3d1d60
[hoisting] Invalidate args of impure function calls
...
Reviewed By: mbouaziz
Differential Revision: D10236724
fbshipit-source-id: f39d4574d
6 years ago
Sungkeun Cho
120c8785eb
[inferbo] Update pp of buffer overflow condition
...
Reviewed By: mbouaziz
Differential Revision: D10851743
fbshipit-source-id: 1f06e3b64
6 years ago
Sungkeun Cho
3f71cf327b
[inferbo] Separate offset and index in condition
...
Summary:
This diff preserves values of offset and index separately, rather than
one value of their addition, because premature addition results in
imprecise FPs by the limited expressiveness of the domain.
Reviewed By: mbouaziz
Differential Revision: D10851393
fbshipit-source-id: 1685ead36
6 years ago
Mehdi Bouaziz
3ee96263a7
[inferbo] Simplify and improve Itv.prune_comp
...
Reviewed By: skcho
Differential Revision: D10386789
fbshipit-source-id: f9c7e33ef
6 years ago
Mehdi Bouaziz
ce34dcb695
Format everything
...
Reviewed By: jeremydubreil
Differential Revision: D10844347
fbshipit-source-id: 5a374da82
6 years ago
Sungkeun Cho
fd3f298156
[inferbo] Add narrowing
...
Reviewed By: jvillard
Differential Revision: D10334140
fbshipit-source-id: afb247866
6 years ago
Mehdi Bouaziz
3dd97cc40f
[inferbo] Use WTO abstract interpreter
...
Reviewed By: jvillard
Differential Revision: D10072723
fbshipit-source-id: aabf3605e
6 years ago
Nikos Gorogiannis
ea7b185b6b
[classloads] add option for specifying root methods and add tests
...
Summary: Reports will now be issued for the class loads of the methods specified by the option `--class-loads-roots`.
Reviewed By: jvillard
Differential Revision: D10466492
fbshipit-source-id: 91456d723
6 years ago
Sungkeun Cho
3f969414fe
[inferbo] Check integer overflow when really need
...
Summary:
It avoids checking integer overflow when it definitely cannot happen.
For example, it does not check integer overflow of addition when one
of parameters is a negative number, or underflow of subtraction when
its first parameter is a positive number.
Reviewed By: mbouaziz
Differential Revision: D10446161
fbshipit-source-id: b8c86e1b2
6 years ago
Sungkeun Cho
cd1981a567
[inferbo] Change pp of BinaryOperationCondition
...
Summary: This diff changes pp of binary operation condition in order to avoid a `make test` failure. For the same `uint64_t` type, it is translated to `unsigned long long` in 64bit mac, but `unsigned long` in 64bit linux, which made a `make test` failure.
Reviewed By: mbouaziz
Differential Revision: D10459466
fbshipit-source-id: 449ab548e
6 years ago
Sungkeun Cho
fb4086c6f6
[inferbo] Add integer overflow issue type
...
Reviewed By: mbouaziz
Differential Revision: D10253878
fbshipit-source-id: 9905d7db4
6 years ago
Dino Distefano
3d07754275
Giving cost 1 to procedure with empty body
...
Reviewed By: mbouaziz
Differential Revision: D10378093
fbshipit-source-id: e6bff04da
6 years ago
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
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
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
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
Jeremy Dubreil
fd29aff3a7
[infer] remove the special case to always create summaries for the Java methods
...
Reviewed By: ngorogiannis
Differential Revision: D10188301
fbshipit-source-id: 2f5c33454
6 years ago
Nikos Gorogiannis
1644e99499
[starvation] add issue type STRICT_MODE and make distinct reports on it
...
Summary:
Make distinct reports on strict mode violations.
For now, restrict to direct violations (UI threads calls transitively a violating method).
Will assess impact and enable indirect reports later (via locks).
Reviewed By: mbouaziz
Differential Revision: D10126780
fbshipit-source-id: 9c75930bc
6 years ago
Ezgi Çiçek
b54307f5d0
[Hoisting] Add test for FP due to no purity check
...
Reviewed By: ngorogiannis
Differential Revision: D10105786
fbshipit-source-id: 0a8dc9b73
6 years ago
Ezgi Çiçek
aca0b8e130
[Hoisting] Fix hoisting of void functions
...
Reviewed By: mbouaziz
Differential Revision: D10105698
fbshipit-source-id: 56a91dbd4
6 years ago
Jeremy Dubreil
2f7e4563c6
[eradicate] also lookup the procedure attributes in the super class
...
Summary: Before this diff, the analysis would only lookup the attributes with the classname appearing in the instruction. However, it would fail to find those attributes for inherited and not overridden methods. With this diff, the attributes are now searched recursively in the super classes.
Reviewed By: mbouaziz
Differential Revision: D10007469
fbshipit-source-id: 77d721cba
6 years ago
Mehdi Bouaziz
e11ec33289
arc: add Java formatter
...
Reviewed By: ngorogiannis
Differential Revision: D10067520
fbshipit-source-id: fba9144fd
6 years ago
Jeremy Dubreil
ae1861ca42
[eradicate] match the number of parameters when iterating over the list of overridden methods
...
Summary: This fixes some cases of false positives where the analysis will compare with the wrong overridden methods. This could later be improved with the possibility to do sub-typing comparison on the parameters.
Reviewed By: ngorogiannis
Differential Revision: D9985249
fbshipit-source-id: 7998d8619
6 years ago
Mehdi Bouaziz
7c89d92851
[RFC] Format all java files
...
Reviewed By: jeremydubreil
Differential Revision: D10067033
fbshipit-source-id: 73975664e
6 years ago
Jeremy Dubreil
1989ef7e28
[eradicate] add example false positive caused by not finding the attributes
...
Reviewed By: ezgicicek
Differential Revision: D10046612
fbshipit-source-id: 95cf509cf
6 years ago
Ezgi Çiçek
43b3f80de5
Add simple purity analysis
...
Reviewed By: mbouaziz, ngorogiannis
Differential Revision: D10027627
fbshipit-source-id: a5ec6b11d
6 years ago