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
Sungkeun Cho
0d2b0e1ab7
[inferbo] Fix check function for is_collection_add
...
Summary: It fixes the conditions of the `check` function to address `is_collection_add` cases correctly.
Reviewed By: mbouaziz
Differential Revision: D13081281
fbshipit-source-id: 39ae5ef03
6 years ago
Mehdi Bouaziz
bc1e048fe3
[compilation database] Disable C++ modules
...
Reviewed By: da319
Differential Revision: D13102792
fbshipit-source-id: 96fce32c6
6 years ago
Martino Luca
6d12d67613
[Perf] Embed filtering for costs reports
...
Reviewed By: mbouaziz
Differential Revision: D13103020
fbshipit-source-id: 641e549ee
6 years ago
Mehdi Bouaziz
29631b7358
[Inferbo] Differentiate array and pointer in SymbolPaths
...
Reviewed By: jvillard
Differential Revision: D12939124
fbshipit-source-id: 256d0b159
6 years ago
Mehdi Bouaziz
4671bab088
[inferbo] Preparing for one-value symbols
...
Reviewed By: skcho
Differential Revision: D13071832
fbshipit-source-id: d978eead0
6 years ago
Mehdi Bouaziz
7c00591747
[inferbo] Type name for eval_sym
...
Reviewed By: skcho
Differential Revision: D13071774
fbshipit-source-id: 1dc412646
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
ab046a4128
memcached intra-build
...
Summary: Experimental feature: Use memcached for summaries as a look-aside cache during analysis.
Reviewed By: jvillard
Differential Revision: D12939311
fbshipit-source-id: 9f78994e2
6 years ago
Sungkeun Cho
1503f63c27
[inferbo] Fix evaluation of multi-dimensional arrays
...
Reviewed By: mbouaziz
Differential Revision: D13082043
fbshipit-source-id: 5a45b4eee
6 years ago
Sungkeun Cho
07f8855185
[inferbo] Fix condition check of multi-dimensional array
...
Reviewed By: mbouaziz
Differential Revision: D13082491
fbshipit-source-id: 43775a1a1
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
d53c81c65c
[concurrency] add model for android.app.Application
...
Reviewed By: mbouaziz
Differential Revision: D13083046
fbshipit-source-id: 99c459f70
6 years ago
Nikos Gorogiannis
276c25b563
[starvation] no starvation warnings on constructors
...
Reviewed By: mbouaziz
Differential Revision: D13082676
fbshipit-source-id: 0942149ae
6 years ago
Martino Luca
28e7063ac4
[Perf] Do not fail when encountering non-ASCII chars in JSON payloads
...
Reviewed By: mbouaziz
Differential Revision: D13084118
fbshipit-source-id: 4df1d9ee8
6 years ago
Dino Distefano
c4701f8a04
Fix ERROR RUNNING BACKEND
...
Reviewed By: mbouaziz
Differential Revision: D13082108
fbshipit-source-id: 1c21b9e9f
6 years ago
Mehdi Bouaziz
716caf91bf
Add is_singleton_or_more to Set and Map
...
Reviewed By: skcho
Differential Revision: D13062696
fbshipit-source-id: 3a7286f55
6 years ago
Nikos Gorogiannis
a3df8f9f99
[starvation] simplify report format
...
Reviewed By: mbouaziz
Differential Revision: D13065391
fbshipit-source-id: 6e302cf85
6 years ago
Nikos Gorogiannis
b5094cda9b
[starvation] suppress the number of reports suppressed
...
Summary:
Currently, if there are several reports on the same line, the most important one is reported together with a message containing how many reports were suppressed.
This is sometimes causing the bug hash we use believe that a report is introduced (eg if the number of suppressed reports changes).
Reviewed By: mbouaziz
Differential Revision: D13067306
fbshipit-source-id: 1cc0c6d3a
6 years ago
Dino Distefano
c8c895dbc0
Fix buck
...
Reviewed By: martinoluca, jvillard
Differential Revision: D13064796
fbshipit-source-id: 4483025f8
6 years ago
Martino Luca
71d5b2f8ff
[Infer][Perf] Enrich messages with Markup syntax
...
Summary:
Messages emitted by cost-analysis now look like the following:
Complexity of this function has **increased** from `O(1)` to `O(n)`.
Reviewed By: mbouaziz
Differential Revision: D13058008
fbshipit-source-id: 119037703
6 years ago
Jules Villard
b42d625606
[tests] fix buck tests
...
Reviewed By: mbouaziz, ddino
Differential Revision: D13058256
fbshipit-source-id: d18b5a70d
6 years ago
Jules Villard
4405a9054b
[plugin] fix shasum for some linux distros
...
Summary:
includes D12975727
update-submodule: facebook-clang-plugins
Reviewed By: ddino
Differential Revision: D13057857
fbshipit-source-id: 575311b4c
6 years ago
Jules Villard
152bd867f1
[setup] force opam-1 while we migrate
...
Reviewed By: mbouaziz
Differential Revision: D13057858
fbshipit-source-id: c04d99952
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
Sungkeun Cho
50ebea5faa
[inferbo] Fix path of allocsite in declaration
...
Reviewed By: mbouaziz
Differential Revision: D13057595
fbshipit-source-id: 04bda78c0
6 years ago
Mehdi Bouaziz
42b16d45fa
[inferbo] New tests
...
Reviewed By: skcho
Differential Revision: D13048352
fbshipit-source-id: f0a2dc7a4
6 years ago
Mehdi Bouaziz
2a60a988e7
[buck] Update parameters with arguments list
...
Reviewed By: martinoluca
Differential Revision: D12952032
fbshipit-source-id: 27f72423a
6 years ago
Martino Luca
0547878898
Update InferBO tests
...
Reviewed By: mbouaziz
Differential Revision: D13045905
fbshipit-source-id: d747623fd
6 years ago
Mehdi Bouaziz
a7921536da
[quandaryBO] New test
...
Reviewed By: skcho
Differential Revision: D13000192
fbshipit-source-id: ba1e3eb37
6 years ago
Martino Luca
32f448a6f0
[Infer][Perf] Emit messages using the asymptotic Bachmann–Landau notation, aka Big O notation
...
Reviewed By: mbouaziz
Differential Revision: D13042865
fbshipit-source-id: bf8e40e58
6 years ago
Martino Luca
ce5d3e469f
[Infer][Perf] pp symbols without bound-end information when not in developer-mode
...
Reviewed By: mbouaziz
Differential Revision: D13042834
fbshipit-source-id: 602c716df
6 years ago
Martino Luca
210dcef513
[Infer][Perf] do not emit 0 + when pretty-printing polynomials
...
Reviewed By: mbouaziz
Differential Revision: D13042781
fbshipit-source-id: 60caf5005
6 years ago
Daiva Naudziuniene
2c06254800
[pulse] False positive caused by multiple variables captured by value in lambda
...
Summary:
Update clang plugin which now gives names to variables captured by lambdas that were empty before.
update-submodule: facebook-clang-plugins
Reviewed By: jvillard
Differential Revision: D12979015
fbshipit-source-id: 0b092fb24
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
Sungkeun Cho
1cbcbe6fb3
[inferbo] Improve division on constant
...
Reviewed By: mbouaziz, jvillard
Differential Revision: D12921835
fbshipit-source-id: 9d0e85696
6 years ago
Sungkeun Cho
01a83e694b
[inferbo] Improve semantics of binary and
...
Reviewed By: mbouaziz
Differential Revision: D12921726
fbshipit-source-id: ed6777e69
6 years ago
Dino Distefano
d10f6855f2
Making error message more explicit in CXX Reference rule
...
Reviewed By: jvillard
Differential Revision: D12902491
fbshipit-source-id: 771cfd96a
6 years ago
Jules Villard
67ff14b4ed
[pulse] record attributes inside memory cells instead of separately
...
Summary:
It turns out keeping attributes (such as invalidation facts) separate
from the memory is a bad idea and leads to loss of precision and false
positives, as seen in the new test (which previously generated a
report).
Allow me to illustrate on this example, which is a stylised version of
the issue in the added test: previously we'd have:
```
state1 = { x = 1; invalids={} }
state2 = { x = 2; invalids ={1} }
join(state1, state2) = { x = {1, 2}; invalids={{1, 2}} }
```
So even though none of the states said that `x` pointed to an invalid
location, the join state says it does because `1` and `2` have been
glommed together. The fact `x=1` from `state1` and the fact "1 is
invalid" from `state2` conspire together and `x` is now invalid even
though it shouldn't.
Instead, if we record attributes as part of the memory we get that `x`
is still valid after the join:
```
state1 = { x = (1, {}) }
state2 = { x = (2, {}) }
join(state1, state2) = { x = ({1, 2}, {}) }
```
Reviewed By: mbouaziz
Differential Revision: D12958130
fbshipit-source-id: 53dc81cc7
6 years ago
Jules Villard
6f9028a77f
[pulse] use WTO scheduler
...
Summary:
I hear that this scheduler is better. I want the best scheduler
possible. Also pulse's join is a bit complex so it might matter one day.
whydididothis
Reviewed By: mbouaziz
Differential Revision: D12958131
fbshipit-source-id: 3bd77ccba
6 years ago
Sungkeun Cho
b3bfa8100b
[inferbo] Add test
...
Summary: There is a bug on the instantiation of function parameters.
Reviewed By: mbouaziz
Differential Revision: D12973691
fbshipit-source-id: ca7fbc4e6
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