Sam Blackshear
4b9899d6b2
[quandary] handling globals in function summaries
...
Reviewed By: jeremydubreil
Differential Revision: D3866616
fbshipit-source-id: 1b77bca
8 years ago
Sam Blackshear
b1039f51f8
[quandary] add summaries for footprint traces associated with locals
...
Differential Revision: D3883275
fbshipit-source-id: 651116e
8 years ago
Sam Blackshear
ae759ee21f
[quandary] fixing crashes when running on recursive code
...
Reviewed By: cristianoc
Differential Revision: D3888004
fbshipit-source-id: d432496
8 years ago
Sam Blackshear
31e6849ec0
[quandary] using summaries part 2: the relational cases
...
Differential Revision: D3861751
fbshipit-source-id: d7858e6
8 years ago
Sam Blackshear
e4beca3779
[quandary] using summaries part 1: return
...
Reviewed By: jeremydubreil
Differential Revision: D3857310
fbshipit-source-id: 29c5994
8 years ago
Sam Blackshear
cf8c957483
[quandary] use preanalysis for abstract GC
...
Reviewed By: jeremydubreil
Differential Revision: D3866919
fbshipit-source-id: 87fb380
8 years ago
Sam Blackshear
27cfb141da
richer sink specifications
...
Reviewed By: jeremydubreil
Differential Revision: D3831688
fbshipit-source-id: 199f1a5
8 years ago
Sam Blackshear
bcacd95176
tests for arrays
...
Reviewed By: jeremydubreil
Differential Revision: D3826552
fbshipit-source-id: 3b98b76
8 years ago
Sam Blackshear
87248009b7
fixing issue where crashcontext breaks without -o
...
Reviewed By: lazaroclapp
Differential Revision: D3823554
fbshipit-source-id: 8c0b329
8 years ago
Josh Berdine
f3cdf87181
Sort test results by file then line
...
Summary:
For tests that have reports of the form `<file>:<line>*`, sort first by
file, then by line numerically.
Reviewed By: sblackshear
Differential Revision: D3828044
fbshipit-source-id: d10cffe
8 years ago
Sam Blackshear
1e4b4df427
fixing handling of aliasing for frontend tmp vars
...
Reviewed By: cristianoc
Differential Revision: D3824558
fbshipit-source-id: 624df00
8 years ago
Sam Blackshear
6ca990be8c
adding tests for manipulating fields
...
Reviewed By: cristianoc
Differential Revision: D3824276
fbshipit-source-id: c412f17
8 years ago
Sam Blackshear
f2487513c5
adding tests for basic var stuff, casts
...
Reviewed By: jberdine
Differential Revision: D3811191
fbshipit-source-id: 9d967f2
8 years ago
Sam Blackshear
3ff6622c9c
setup e2e test skeleton
...
Reviewed By: cristianoc
Differential Revision: D3806745
fbshipit-source-id: c73e5cb
8 years ago
Cristiano Calcagno
257f4976f0
Convert java tracing tests to new direct format.
...
Reviewed By: jeremydubreil
Differential Revision: D3791189
fbshipit-source-id: ce0b7d6
8 years ago
Cristiano Calcagno
674f30de2c
Convert java infer tests to the new direct format
...
Reviewed By: sblackshear
Differential Revision: D3784844
fbshipit-source-id: 44c021d
8 years ago
Cristiano Calcagno
2cb595b8c9
Convert Eradicate and Checkers tests to direct format.
...
Summary:
This diff converts the Eradicate and Checkers tests to the new direct test format, which does not rely on buck or junit.
A self-contained Makefile is used to compile and analyze the test files, including all the dependencies, and a special option in InferPrint is used to produce a file of expected results `issues.exp`, which is checked into the repository.
Having an explicit Makefile makes it easy to edit and compile one set of test files in isolation, to investigate test failures, do debugging, etc.
A bunch of boilerplate code is removed. For example, the single file of expected results `issues.exp` replaces the 1.5K LOC in `endtoend/java/eradicate`.
Reviewed By: jvillard
Differential Revision: D3764632
fbshipit-source-id: 6c68ab8
8 years ago
Sam Blackshear
c5088f44a7
adding tests for context leaks via weak reference
...
Reviewed By: lazaroclapp
Differential Revision: D3760191
fbshipit-source-id: fd9ed1d
8 years ago
Lázaro Clapp Jiménez Labora
85add041d4
CI Tests for crashcontext handling of native methods
...
Reviewed By: sblackshear
Differential Revision: D3644266
fbshipit-source-id: 74e623c
8 years ago
Lázaro Clapp Jiménez Labora
5296688c1f
Match classname for stackframes in crashcontext checker.
...
Reviewed By: sblackshear
Differential Revision: D3643135
fbshipit-source-id: bb38b1b
8 years ago
Sam Blackshear
4490d9b033
fix recognition of inner class this guarded-by strings
...
Reviewed By: peterogithub
Differential Revision: D3620955
fbshipit-source-id: 374d078
8 years ago
Lázaro Clapp Jiménez Labora
9a79e74380
Crashbot results stitching and end-to-end testing.
...
Reviewed By: sblackshear
Differential Revision: D3619339
fbshipit-source-id: 46f3cc1
8 years ago
Sam Blackshear
b500a5c4b5
don't warn in cases where GuardedBy string is clearly unrecognizable
...
Reviewed By: peterogithub
Differential Revision: D3615388
fbshipit-source-id: 8deb7af
8 years ago
Lázaro Clapp Jiménez Labora
76764c148a
Output the callee sumaries of -a crashcontext to per-method files.
...
Reviewed By: sblackshear
Differential Revision: D3612488
fbshipit-source-id: a068803
8 years ago
Lázaro Clapp Jiménez Labora
6469a6c37b
Implement '-a crashcontext' and '-st trace' options to invoke BoundedCallTree.ml from the command line.
...
Reviewed By: sblackshear
Differential Revision: D3606446
fbshipit-source-id: 9ac92fa
8 years ago
Sam Blackshear
d6149c7741
switching to by-ref semantics
...
Reviewed By: peterogithub
Differential Revision: D3567911
fbshipit-source-id: 8852485
8 years ago
Lázaro Clapp Jiménez Labora
95a12d9706
model String.equals(...) as '=='
...
Reviewed By: sblackshear
Differential Revision: D3468427
fbshipit-source-id: 852ef5f
9 years ago
Peter O'Hearn
1edb492b70
One step closer to shipping initial GUARDEDBY
...
Reviewed By: jvillard
Differential Revision: D3469320
fbshipit-source-id: b8491a7
9 years ago
Sam Blackshear
9d95a3a199
don't warn if procedure is marked VisibleForTesting
...
Reviewed By: jvillard
Differential Revision: D3467885
fbshipit-source-id: 80f5f6b
9 years ago
Sam Blackshear
03df3a0c47
supporting guarding on outer-class this in inner class
...
Reviewed By: peterogithub
Differential Revision: D3466342
fbshipit-source-id: ba4f86f
9 years ago
Sam Blackshear
7ae14d0bdf
don't report on compiler-generated access$ methods
...
Reviewed By: peterogithub
Differential Revision: D3460177
fbshipit-source-id: 3a1a782
9 years ago
Sam Blackshear
df257da918
supporting @GuardedBy(MyClass.class) idiom
...
Reviewed By: peterogithub
Differential Revision: D3459531
fbshipit-source-id: 6e47c51
9 years ago
Sam Blackshear
6304e30f5a
don't warn on read-write locks
...
Reviewed By: peterogithub
Differential Revision: D3443015
fbshipit-source-id: e843d13
9 years ago
Sam Blackshear
b940c4dfac
warning on guarded-by writes
...
Differential Revision: D3390055
fbshipit-source-id: 1c68fcd
9 years ago
Peter O'Hearn
508d6a3ae7
optional model
...
Reviewed By: jvillard
Differential Revision: D3400635
fbshipit-source-id: 2078050
9 years ago
Peter O'Hearn
8613f16c19
drop GuardedBy ui_thread warnings
...
Reviewed By: jvillard
Differential Revision: D3392589
fbshipit-source-id: 51a73c9
9 years ago
Jeremy Dubreil
17da853fa8
Do not angelically remove the file attribute on the reciever for virtual calls
...
Reviewed By: peterogithub
Differential Revision: D3377851
fbshipit-source-id: 22c2ea1
9 years ago
Sam Blackshear
7ec8f59998
adding find_in_node_or_preds to clean up errdesc
...
Reviewed By: cristianoc
Differential Revision: D3346710
fbshipit-source-id: ba729e0
9 years ago
Cristiano Calcagno
56cfac14da
Fix issue in join where the origin of a variable would be lost in a loop.
...
Reviewed By: sblackshear
Differential Revision: D3340039
fbshipit-source-id: 2e00d3d
9 years ago
Sam Blackshear
e3e80dd2f0
don't report on private unguarded accesses
...
Reviewed By: jvillard
Differential Revision: D3334391
fbshipit-source-id: a5079b5
9 years ago
Sam Blackshear
36ee3730aa
reporting error on unprotected access to field annotated with @GuardedBy
...
Reviewed By: peterogithub
Differential Revision: D3318994
fbshipit-source-id: e36b927
9 years ago
Jules Villard
e695e14ee1
add various filter options from inferconfig to the CLI
...
Summary:
Part of the migration of .inferconfig-specific options into options accepted
both by .inferconfig and the CLI.
Reviewed By: jberdine
Differential Revision: D3304783
fbshipit-source-id: 4a7ee6f
9 years ago
Sam Blackshear
83f511107b
stop reporting handler leaks
...
Reviewed By: jeremydubreil
Differential Revision: D3295094
fbshipit-source-id: 038d933
9 years ago
Sam Blackshear
258e765d4e
adding integrity source/sink annotations
...
Reviewed By: jeremydubreil
Differential Revision: D3285673
fbshipit-source-id: 666421c
9 years ago
Sam Blackshear
4fd2f52fe8
new analysis for adding nullify's
...
Reviewed By: jeremydubreil
Differential Revision: D3241019
fbshipit-source-id: 8409b33
9 years ago
Sam Blackshear
c7c1588830
getting rid of string parameter on privacy annotations
...
Reviewed By: jeremydubreil
Differential Revision: D3249465
fb-gh-sync-id: 88bff20
fbshipit-source-id: 88bff20
9 years ago
Jeremy Dubreil
8072d2c1e5
report errors when all the postconditions are error states
...
Summary:
The philosophy of the tracing mode reporting is to not report the errors in a method if reaching this error does depend on information that can be false at call site. Typically with:
void foo(Object obj, int x) {
if (x == 3) {
obj.toString();
}
}
it may be that we always call `foo` with a non-null parameter or `x != 3`.
Thechnically, the reporting code matches the pairs of the form (precondition, error) and filtering out the cases where the precondtions was not imposing constraints on the calling context, and report the other cases. So the NPE could be reported in the following case:
void bar() {
foo(null, 3);
}
However, we were missing the case where there was anyway no way to call a method in a safe way, i.e. all the preconditions were of the form: (precondition, error), for example:
void baz(boolean b) {
if (b) {
foo(null, 3);
} else {
foo(null, 3);
}
}
In that case, the summary is of the form
PRE (1): b = false
POST: NullPointerException
PRE (2): b = true
POST: NullPointerException
In which case it is legit to report `NullPointerException` in `baz`.
Reviewed By: sblackshear, jberdine
Differential Revision: D3220501
fb-gh-sync-id: 7fb7d70
fbshipit-source-id: 7fb7d70
9 years ago
Jeremy Dubreil
3a856aa6f0
Add example of lazy dynamic dispatch calling a method from the interface
...
Summary: Example of dynamic dispatch with interfaces were already working. Adding some tests now so that we don't break this.
Reviewed By: sblackshear
Differential Revision: D3220360
fb-gh-sync-id: 11395dd
fbshipit-source-id: 11395dd
9 years ago
Sam Blackshear
77791b7e8e
warn on deref of nullable skip function
...
Reviewed By: jeremydubreil
Differential Revision: D3204133
fb-gh-sync-id: 2a108f6
fbshipit-source-id: 2a108f6
9 years ago
Sam Blackshear
843bcc1576
support tainting of annotated fields
...
Reviewed By: jeremydubreil
Differential Revision: D3215005
fb-gh-sync-id: 111b839
fbshipit-source-id: 111b839
9 years ago