Jeremy Dubreil
79b0b8172d
[eradicate] add a model for java.nio.file.Path.getParent()
...
Reviewed By: ezgicicek
Differential Revision: D15447277
fbshipit-source-id: ed7f61940
6 years ago
Ezgi Çiçek
d033e72196
[purity] Add tests for locality
...
Reviewed By: ngorogiannis
Differential Revision: D15373797
fbshipit-source-id: 8cb0de6b5
6 years ago
Andrew Adams-Moran
0ad15356c2
Add @Cleanup annotation
...
Reviewed By: jeremydubreil
Differential Revision: D15318692
fbshipit-source-id: fd6debace
6 years ago
Jeremy Dubreil
8d36c33d20
[eradicate] record false positive when testing the return on an assignment
...
Reviewed By: ngorogiannis
Differential Revision: D15321693
fbshipit-source-id: a6aa7068a
6 years ago
Jeremy Dubreil
80ecc959a4
[eradicate] recording false positive example with nullability information stored into a boolean
...
Reviewed By: ezgicicek
Differential Revision: D15326336
fbshipit-source-id: 6918cd36a
6 years ago
Jeremy Dubreil
adbf6861e9
[eradicate] record false positive when incorrectly looking up overriden methods
...
Reviewed By: ezgicicek
Differential Revision: D15327218
fbshipit-source-id: b115eae5b
6 years ago
Jeremy Dubreil
4725c97fc9
[eradicate] record false positive with nullability information lost after assignment
...
Reviewed By: ezgicicek
Differential Revision: D15325267
fbshipit-source-id: 5c6f4143b
6 years ago
Nikos Gorogiannis
1d846ba631
[racerd] kill original paths from summary
...
Reviewed By: mbouaziz
Differential Revision: D15260250
fbshipit-source-id: 1d39d9f01
6 years ago
Jeremy Dubreil
b47e2d13f3
[eradicate] simplify the analysis traces
...
Reviewed By: jberdine
Differential Revision: D15215809
fbshipit-source-id: 584b51ea4
6 years ago
Ezgi Çiçek
da13e52b27
[inferbo] Generalize String.length to CharSequence.length
...
Reviewed By: mbouaziz
Differential Revision: D14951988
fbshipit-source-id: 6c8906d2a
6 years ago
Ezgi Çiçek
c85563d606
[inferbo,cost] Add cost models for java.util.Collections
...
Reviewed By: mbouaziz
Differential Revision: D15080211
fbshipit-source-id: 91c9b6dba
6 years ago
Nikos Gorogiannis
941b63a426
[classloads] remove possible race
...
Reviewed By: mbouaziz
Differential Revision: D15062321
fbshipit-source-id: 3a0781c29
6 years ago
Jeremy Dubreil
07d6ab2dd6
[infer][racerd] report the thread safety violations as warnings instead of errors
...
Reviewed By: ngorogiannis
Differential Revision: D15023740
fbshipit-source-id: 6d38e236a
6 years ago
Ezgi Çiçek
f4cdc23543
[hoisting] Turn on hoisting of expensive functions by default
...
Reviewed By: mbouaziz
Differential Revision: D14971084
fbshipit-source-id: ccbf6055e
6 years ago
Ezgi Çiçek
7e16aafdba
[loop-hoisting] Incorporate cost trace into EXPENSIVE_LOOP_INVARIANT_CALL issues
...
Reviewed By: mbouaziz
Differential Revision: D14934254
fbshipit-source-id: 23af117b6
6 years ago
Ezgi Çiçek
6d25b0990d
[cost,purity] Model java's Map as Collections
...
Reviewed By: jeremydubreil, mbouaziz
Differential Revision: D14935325
fbshipit-source-id: 798feb68e
6 years ago
Ezgi Çiçek
105e50d432
[inferbo,cost] Add models for SparseArray
...
Reviewed By: mbouaziz
Differential Revision: D14936048
fbshipit-source-id: f07b74c38
6 years ago
Ezgi Çiçek
4eec73c2f2
[loop-hoisting] Add complexity to EXPENSIVE_LOOP_INVARIANT_CALL issue message
...
Reviewed By: mbouaziz
Differential Revision: D14933345
fbshipit-source-id: 5a711fd2a
6 years ago
Ezgi Çiçek
a2140c3ae4
[hoisting] Rename LOOP_INVARIANT_CALL to EXPENSIVE_LOOP_INVARIANT_CALL and remove VariantForHoisting
...
Reviewed By: mbouaziz
Differential Revision: D14913784
fbshipit-source-id: 5d5d5bee3
6 years ago
Radu Grigore
344889775b
[infer][PR] Don't join postconditions. Fixes #678 .
...
Summary:
Increases precision a bit. I didn't observe speed problems on what I tested. (But, who knows?)
Closes https://github.com/facebook/infer/pull/799
Reviewed By: jvillard
Differential Revision: D6284206
Pulled By: rgrig
fbshipit-source-id: 6f1e8631f
6 years ago
Ezgi Çiçek
b802620bc8
[cost] Add cost models for loop invariant functions
...
Reviewed By: jvillard
Differential Revision: D14832961
fbshipit-source-id: 0d1b3353d
6 years ago
Nikos Gorogiannis
3e94fc7e16
[racerd] consider interfaces extending android.os.IInterface as automatically threadsafe
...
Reviewed By: jvillard
Differential Revision: D14772236
fbshipit-source-id: fab604f66
6 years ago
Nikos Gorogiannis
cf6ced0580
[racerd] on-annotations
...
Reviewed By: jvillard
Differential Revision: D14756737
fbshipit-source-id: 434859ce7
6 years ago
Nikos Gorogiannis
fdcd4cf591
[racerd] modulo loc
...
Reviewed By: jvillard
Differential Revision: D14616104
fbshipit-source-id: 314a14069
6 years ago
Ezgi Çiçek
857c59e022
[inferbo] Add model for Java's cast
...
Reviewed By: mbouaziz
Differential Revision: D14599837
fbshipit-source-id: 379301463
6 years ago
Ezgi Çiçek
ce0ccc10ec
[inferbo,cost] Add models for Java Strings
...
Reviewed By: mbouaziz, skcho
Differential Revision: D14522624
fbshipit-source-id: 1ec2e0389
6 years ago
Nikos Gorogiannis
f78dfbaeda
[racerd] guardeby checks on uithread
...
Reviewed By: jeremydubreil
Differential Revision: D14597281
fbshipit-source-id: 41bc7d1fc
6 years ago
Nikos Gorogiannis
98e796b006
[racerd] gate GuardedBy
...
Reviewed By: mbouaziz
Differential Revision: D14594051
fbshipit-source-id: 57f580fbe
6 years ago
Nikos Gorogiannis
4a75df2a83
[racerd] report only writes for GuardedBy
...
Reviewed By: mbouaziz
Differential Revision: D14594263
fbshipit-source-id: a8cab1765
6 years ago
Sungkeun Cho
c92d56e4ad
[inferbo] Substitute symbolic value of unknown function call to top
...
Summary: This diff substitutes symbolic values for unknown functions in proof obligations to top. The goal of the diff is to avoid generating too many number of proof obligations that cannot be concretized.
Reviewed By: ezgicicek
Differential Revision: D14537542
fbshipit-source-id: 7f8f3bb4b
6 years ago
Nikos Gorogiannis
f32db5382f
[racerd] restrict guarded by to one field/same or superclass
...
Reviewed By: jeremydubreil
Differential Revision: D14584698
fbshipit-source-id: ab0a7db11
6 years ago
Radu Grigore
8bf65086e3
[topl] Parser for temporal properties
...
Summary:
TOPL properties are essentially automata, which specify a bad pattern.
This commit is just a parser for them.
Reviewed By: jvillard
Differential Revision: D14477671
fbshipit-source-id: c38a8ef37
6 years ago
Ezgi Çiçek
713c308fc7
[inferbo] Generalize models for Java iterators
...
Reviewed By: skcho
Differential Revision: D14539894
fbshipit-source-id: b225aa7de
6 years ago
Nikos Gorogiannis
59a10d00d4
[racerd] guardedby
...
Summary:
Add support for GuardedBy: we deviate from the spec as follows:
- No warnings issued for any access within a private method, unless that method is called from a public method and the lock isn't held when the access occurs.
- Warnings are suppressed with the general RacerD mechanism, ie `ThreadSafe(enableChecks=false)`
- GuardedBy warnings override thread-safety violation warnings on the same access, because GuardedBy has a clearer and simpler contract.
Also, some simplifications, cleanups and perf improvements (eg avoid unreportable procs at the top level as opposed to on each of their accesses).
Reviewed By: jeremydubreil
Differential Revision: D14506161
fbshipit-source-id: b7d794051
6 years ago
Dino Distefano
67b42bf021
Added new issue types for Allocation and IO
...
Reviewed By: ezgicicek
Differential Revision: D14437988
fbshipit-source-id: 3e107d9e9
6 years ago
Ezgi Çiçek
ce190547a5
[java] Add support for openjdk11
...
Reviewed By: jeremydubreil
Differential Revision: D14323194
fbshipit-source-id: afa532c23
6 years ago
Dino Distefano
52b72f4bbe
Added more allocation primitives
...
Reviewed By: mbouaziz
Differential Revision: D14385870
fbshipit-source-id: 7e3ef32bf
6 years ago
Wenzhe Lu
ead4c44f9d
Adding Long.parseLong model to nullsafe/modelTables.ml
...
Reviewed By: jeremydubreil
Differential Revision: D14395623
fbshipit-source-id: f643abc63
6 years ago
Mehdi Bouaziz
564d0113b4
[Cost] More precise traces for Top
...
Reviewed By: ezgicicek
Differential Revision: D14350180
fbshipit-source-id: 2cb8b0cd0
6 years ago
Ezgi Çiçek
88a1dedb90
[cost] Ignore counting dummy loads
...
Reviewed By: mbouaziz
Differential Revision: D14365776
fbshipit-source-id: d84ef9d9e
6 years ago
Dino Distefano
3b8782a6c1
added allocation
...
Reviewed By: mbouaziz
Differential Revision: D14322430
fbshipit-source-id: 5c27a37db
6 years ago
Jeremy Dubreil
130a729674
[infer] report the Fragment Retains View issues as warnings instead of errors
...
Reviewed By: mbouaziz
Differential Revision: D14313596
fbshipit-source-id: 13a6824de
6 years ago
Sungkeun Cho
b55996d01a
[inferbo] Symbolic value for global variable
...
Summary:
It assigns symbolic values for global variables in the load commands. However, it does not instantiate the symbols for the global variables yet, which will be addressed in another diff.
Depends on D14208643
Reviewed By: ezgicicek
Differential Revision: D14257619
fbshipit-source-id: f9113c8a3
6 years ago
Mehdi Bouaziz
b48884bce7
[Cost] Traces for Top values
...
Reviewed By: ezgicicek
Differential Revision: D14247738
fbshipit-source-id: 4270649d2
6 years ago
Mehdi Bouaziz
f20e0737fd
[inferbo] Extract abstract domain functor for 'set represented by its smallest element'
...
Reviewed By: skcho
Differential Revision: D14243106
fbshipit-source-id: 900fbad3b
6 years ago
Ezgi Çiçek
340ac9d1c9
[purity] Fix global modification via argument passing
...
Reviewed By: mbouaziz
Differential Revision: D14208643
fbshipit-source-id: ddb3d435c
6 years ago
Jeremy Dubreil
82c4b716bf
[eradicate] rename the warning raised when dereferencing nullable types
...
Summary:
The Eradicate backend is reporting nullable type errors, that are not always necessarily leading to null pointer exceptions.
For example, the analysis is designed to be consistent with the Java type system and report on the following code:
String foo(boolean test) {
Object object = test ? new Object() : null;
if (test) {
return object.toString(); // the analysis reports here
}
}
even though the code will not crash.
In order to make this aspect clear, this diff renames the warnings `Null Method Call` and `Null Field Access` into `Nullable Dereference`
Reviewed By: ngorogiannis
Differential Revision: D14001979
fbshipit-source-id: ff1285283
6 years ago
Sungkeun Cho
a56902dc9b
[inferbo] Widening threshold by comparison
...
Summary:
This diff adds a constant to the set of widening thresholds if the
constant is compared to an abstract value in condition expressions.
Each abstract value has its own set of thresholds.
Reviewed By: mbouaziz
Differential Revision: D14147150
fbshipit-source-id: ca0db34d4
6 years ago
Sungkeun Cho
8ea92c51e0
[inferbo] Suppress ALLOC_IS_ZERO for C++'s array object
...
Reviewed By: mbouaziz
Differential Revision: D14122889
fbshipit-source-id: d0c99a5e6
6 years ago
Ezgi Çiçek
cab28a9461
[inferbo] Check collection constructor size
...
Reviewed By: mbouaziz
Differential Revision: D14122995
fbshipit-source-id: eeb2fceab
6 years ago