Jules Villard
d92e82b379
[clang] fix translation of `UserDefinedLiteral`
...
Summary: User-defined literals are really just function calls.
Reviewed By: sblackshear
Differential Revision: D7813464
fbshipit-source-id: c9302b9
7 years ago
Nikos Gorogiannis
e0a61c0a4a
[starvation] Move to a cluster checker phase for reporting
...
Reviewed By: jeremydubreil
Differential Revision: D7757783
fbshipit-source-id: 341de51
7 years ago
Sam Blackshear
30d7239aff
[quandary] SQL sinks for java
...
Reviewed By: jeremydubreil
Differential Revision: D7799801
fbshipit-source-id: 002079d
7 years ago
Sam Blackshear
ffba5de70c
[quandary] distinguish between SQL reads and writes
...
Reviewed By: mbouaziz
Differential Revision: D7781377
fbshipit-source-id: 9c76e4d
7 years ago
Dino Distefano
c80a2b0940
Test Determinator for MobileLab
...
Reviewed By: martinoluca
Differential Revision: D7709133
fbshipit-source-id: ffb2db2
7 years ago
Dulma Churchill
69392d4192
[biabduction] Log reasons for skipping also in non Java context
...
Reviewed By: mbouaziz, da319
Differential Revision: D7788663
fbshipit-source-id: 466faed
7 years ago
Mehdi Bouaziz
094eb9dcc7
[Cost] Use OneInstrPerNode CFG
...
Summary:
We want instr-granular invariant maps so let's use the OneInstrPerNode CFG in the AI analyzers.
This requires specializing the TransferFunctions.
Keep using the normal CFG where we only need node-granular informations.
Depends on D7587241
Depends on D7608526
Reviewed By: sblackshear
Differential Revision: D7618320
fbshipit-source-id: 73918f0
7 years ago
Jules Villard
73a47d594c
[debug] print procedures in alphabetical order in cfgs
...
Summary:
When looking at large CFGs, at least in `xdot`, it's often difficult to find
the procedure you're looking for. Sorting the proc names puts them in
alphabetical order, which makes searching one procedure easier.
Reviewed By: mbouaziz
Differential Revision: D7758521
fbshipit-source-id: 8e9997f
7 years ago
Nikos Gorogiannis
63aafd3381
[starvation] catch calls to View.getVisibleDisplayFrame
...
Reviewed By: jeremydubreil
Differential Revision: D7758016
fbshipit-source-id: f3ff474
7 years ago
Dulma Churchill
28200b87d7
[objc blocks] Specialize store instructions with current closure in methods specialized with blocks as arguments
...
Reviewed By: mbouaziz, jvillard
Differential Revision: D7744403
fbshipit-source-id: 42ad5f8
7 years ago
Nikos Gorogiannis
e5265ea85b
[starvation] surface caller of blocking calls in reports
...
Reviewed By: jeremydubreil
Differential Revision: D7727380
fbshipit-source-id: 02822ea
7 years ago
Ezgi Çiçek
8f0701a01c
Refine dependency analysis to remove vars at prune exit nodes
...
Reviewed By: ddino
Differential Revision: D7670952
fbshipit-source-id: 832a639
7 years ago
Nikos Gorogiannis
a4a1a9c55e
[starvation] Catch java IO blocking calls on UI thread
...
Reviewed By: sblackshear
Differential Revision: D7685918
fbshipit-source-id: 0ec46f2
7 years ago
Nikos Gorogiannis
7a9009e467
[starvation] Catch CountDownLatch.await calls on main thread
...
Reviewed By: ddino
Differential Revision: D7671323
fbshipit-source-id: 88fca56
7 years ago
Nikos Gorogiannis
b6c8766b11
[starvation] report binder calls on ui thread
...
Reviewed By: sblackshear
Differential Revision: D7670674
fbshipit-source-id: 15b858c
7 years ago
Ezgi Çiçek
523c2f539b
change clang translation to track if_kind (i.e. the type of prune node)
...
Reviewed By: ddino
Differential Revision: D7653684
fbshipit-source-id: d731ccf
7 years ago
Nikos Gorogiannis
196c0e5544
[starvation] harmonize java formatting in tests
...
Reviewed By: ddino
Differential Revision: D7667305
fbshipit-source-id: efee0f8
7 years ago
Sam Blackshear
670ae4a673
[quandary] `WebResourceRequest.getUrl` as source
...
Reviewed By: the-st0rm
Differential Revision: D7336116
fbshipit-source-id: 5d458e5
7 years ago
Sam Blackshear
8084c8fec7
[racerd] treat `@InjectProp` formals as owned
...
Reviewed By: ngorogiannis
Differential Revision: D7641152
fbshipit-source-id: 2dac8df
7 years ago
Sam Blackshear
ce8f958522
[racerd] don't report INTERFACE_NOT_THREAD_SAFE if the receiver of the interface call is marked `ThreadConfined`
...
Summary: We already suppress race reports if the field is marked in this way; makes sense to do the same thing for these reports.
Reviewed By: ngorogiannis
Differential Revision: D7589275
fbshipit-source-id: 8f0aeab
7 years ago
Nikos Gorogiannis
0130c09dfc
[starvation] add infrastructure for blocking events other than lock acquisition
...
Reviewed By: ddino
Differential Revision: D7428995
fbshipit-source-id: 5e1185d
7 years ago
Nikos Gorogiannis
269a1a9b93
[starvation] treat locks in (and accessed from) inner classes properly
...
Reviewed By: sblackshear
Differential Revision: D7427659
fbshipit-source-id: 9abf1ad
7 years ago
Daiva Naudziuniene
94aae8713e
[biabduction] Fix lookup of abduced expression
...
Summary: Currently when we look for already abduced expression and find an assertion [exp|->strexp:typexp], we use typexp rather than strexp.
Reviewed By: sblackshear
Differential Revision: D7617193
fbshipit-source-id: c089720
7 years ago
Ezgi Çiçek
76300d55c7
Tracks variables that affect control flow for a more precise cost analysis
...
Reviewed By: mbouaziz
Differential Revision: D7586777
fbshipit-source-id: 8752679
7 years ago
Ezgi Çiçek
af5265f75d
"Report infinity as error per function"
...
Reviewed By: mbouaziz
Differential Revision: D7600383
fbshipit-source-id: d6387ca
7 years ago
Jules Villard
dee7414aa9
[inferbo] do not include location information in the bug description
...
Summary:
This information is already available in the trace, and can contain absolute
paths to system includes (or infer's own clang runtime), which confuses the
diff analysis.
Reviewed By: mbouaziz
Differential Revision: D7534609
fbshipit-source-id: 5bd8f8b
7 years ago
Dulma Churchill
aa578ea586
[retain cycles] Treat missing fields also angelically when it still happens in rare cases
...
Reviewed By: mbouaziz
Differential Revision: D7550900
fbshipit-source-id: 11703ab
7 years ago
Jeremy Dubreil
2f1d486aab
[eradicate] model com.google.common.base.Strings.isNullOrEmpty(...)
...
Reviewed By: sblackshear
Differential Revision: D7526376
fbshipit-source-id: da60808
7 years ago
Dino Distefano
3b608695af
Improving treatment of default constructor
...
Reviewed By: sblackshear
Differential Revision: D7509019
fbshipit-source-id: 69d99a9
7 years ago
Dulma Churchill
74e16bdb58
[retain cycles] Define custom compare function that is more suited to dedup cycles
...
Reviewed By: mbouaziz
Differential Revision: D7517385
fbshipit-source-id: 00e0433
7 years ago
Mehdi Bouaziz
e9a3913fdb
[Inferbo] Do not propagate all safety conditions
...
Reviewed By: skcho
Differential Revision: D7289292
fbshipit-source-id: 999b14a
7 years ago
Sungkeun Cho
4234288c93
[inferbo] Add a pointer arithmetic test
...
Reviewed By: mbouaziz
Differential Revision: D7484490
fbshipit-source-id: 8d64016
7 years ago
Sungkeun Cho
e12a4a1071
[inferbo] Add traces in lift functions
...
Reviewed By: mbouaziz
Differential Revision: D7484003
fbshipit-source-id: 4411337
7 years ago
Sungkeun Cho
1f6feef448
[inferbo] Revise eval_locs for array blocks
...
Summary:
It renames `eval_locs` to `eval_arr` and we use it for getting array block values the given input expressions are pointing to. For example, when given a program variable `x` as an input, `eval_arr` returns array blocks that `x` is pointing to, on the other hand, `eval` returns an abstract location of `x`.
Depends on D7471891
Reviewed By: mbouaziz
Differential Revision: D7471915
fbshipit-source-id: b994944
7 years ago
Sam Blackshear
94c2cd1d3b
[ownership] tests for pointer arithmetic
...
Reviewed By: jeremydubreil
Differential Revision: D7495530
fbshipit-source-id: 0685772
7 years ago
Sam Blackshear
9180ff56c1
[ownership] handle new kinds of access expressions
...
Reviewed By: jeremydubreil
Differential Revision: D7482554
fbshipit-source-id: c511bda
7 years ago
Sungkeun Cho
a353d69a6e
[inferbo] Fix test code
...
Reviewed By: mbouaziz
Differential Revision: D7483906
fbshipit-source-id: 128ad17
7 years ago
Sungkeun Cho
4aafe8a990
[inferbo][bugfix] Revise gathering safety conditions in sub-exp
...
Reviewed By: mbouaziz
Differential Revision: D7471891
fbshipit-source-id: 2b592b1
7 years ago
Sungkeun Cho
b42d66d557
[inferbo][bugfix] Pointer arithmetics on pointers to non-array
...
Summary: In the pointer arithmetics, it returns top, if we cannot precisely follow the physical memory model, e.g., (&x + 1).
Reviewed By: mbouaziz
Differential Revision: D7453510
fbshipit-source-id: db8738e
7 years ago
Sungkeun Cho
00e1139071
[frontend] Parse binary operator using types of parameters
...
Summary: It parses "+" (and "-") to PlusA and PlusPI (and MinusA, MinusPI, MinusPP) using types of parameters.
Reviewed By: mbouaziz
Differential Revision: D7443048
fbshipit-source-id: bd560c7
7 years ago
Jeremy Dubreil
5dea7c55e2
[infer][java] report nullable inconsistencies on library calls
...
Summary:
Report nullable inconsistencies by relying on the bytecode, and not on the presence of analysis summary on disk.
This use the `--external-java-packages` to avoid reporting inconsistencies outside of the codebase.
Reviewed By: sblackshear
Differential Revision: D7481101
fbshipit-source-id: 281135d
7 years ago
Daiva Naudziuniene
681f2a56ab
[HIL] Explicit dereference
...
Reviewed By: sblackshear
Differential Revision: D7350669
fbshipit-source-id: c316188
7 years ago
Dulma Churchill
436e5340f3
[retain cycles] Move the retain cycle check to sym_exec_wrapper to get the path of the last instruction executed
...
Reviewed By: mbouaziz
Differential Revision: D7443580
fbshipit-source-id: 4512675
7 years ago
Nikos Gorogiannis
462c2e2b2e
[starvation] fix handling of static synchronized methods and static locks
...
Reviewed By: sblackshear
Differential Revision: D7427365
fbshipit-source-id: f23795f
7 years ago
Nikos Gorogiannis
b11dd03fb9
[starvation] ignore local/temp variables as locks
...
Reviewed By: sblackshear
Differential Revision: D7420069
fbshipit-source-id: caea591
7 years ago
Sungkeun Cho
d15894c78a
[inferbo] Add tests for relational analysis
...
Reviewed By: mbouaziz
Differential Revision: D7427283
fbshipit-source-id: a08bf63
7 years ago
Sam Blackshear
33fe8879a5
[quandary] report flows originating from `UserControlledEndpoint` as `_RISK`
...
Reviewed By: fahndrich
Differential Revision: D7420925
fbshipit-source-id: 5f40cb2
7 years ago
Sam Blackshear
f621dda0be
[infer][clang] models off-by-default
...
Reviewed By: jeremydubreil
Differential Revision: D7350715
fbshipit-source-id: e1d28ef
7 years ago
Dulma Churchill
927e2049c3
[backend] Add getter/setter execution to the trace
...
Reviewed By: mbouaziz, jvillard
Differential Revision: D7428857
fbshipit-source-id: 93018b0
7 years ago
Ezgi Çiçek
872daf1ba7
Add estimated cost to trace element
...
Reviewed By: mbouaziz
Differential Revision: D7414240
fbshipit-source-id: b30e4d1
7 years ago