Dulma Churchill
dfca0cdcf7
[linters] Introduce whitelist and blacklist path, also multiple paths
...
Reviewed By: ddino
Differential Revision: D5209648
fbshipit-source-id: dbb77c2
8 years ago
Jia Chen
938425020d
[infer] Do not treat static locals as stack-allocated in the biabduction analysis
...
Reviewed By: jeremydubreil
Differential Revision: D5214422
fbshipit-source-id: f8adb6d
8 years ago
Sam Blackshear
4fe9110ad3
[quandary] SQL sinks
...
Reviewed By: jeremydubreil
Differential Revision: D5214059
fbshipit-source-id: 101f94e
8 years ago
Kyriakos Nikolaos Gkorogiannis
cfe79cf1ca
[thread-safety] Add SimplePool as container, mild refactoring of container handling.
...
Reviewed By: sblackshear
Differential Revision: D5209926
fbshipit-source-id: e886267
8 years ago
Don Stewart
35ac57c378
Typo in message.
...
Reviewed By: dulmarod
Differential Revision: D5217194
fbshipit-source-id: 1b3a039
8 years ago
Jeremy Dubreil
7dd7b460e0
[infer][java] skip reports on generated methods
...
Summary: Assuming generated methods are starting with `$`
Reviewed By: sblackshear
Differential Revision: D5207626
fbshipit-source-id: c516096
8 years ago
Jeremy Dubreil
c51458f7a8
[infer][ondemand] no longer use deprecated reporting function for the suggest nullable checker
...
Summary:
:
No longer use deprecated reporting function for the suggest nullable checker
Depends on D5205009
Reviewed By: grievejia
Differential Revision: D5205843
fbshipit-source-id: f6dd059
8 years ago
Sam Blackshear
7b8eef52f8
[thread-safety] fix bad read/write race traces
...
Summary:
Read/write race errors should always show one trace for a read and one trace for a write.
We forget to pass the conflicting writes to the reporting function in one case, which prevented us from showing a well-formed trace.
Fixed it by making the `conflicts` parameter non-optional
Reviewed By: jberdine
Differential Revision: D5209332
fbshipit-source-id: 05da01a
8 years ago
Sam Blackshear
08586f3e81
[checkers] logging to summary in printf args checker
...
Reviewed By: jeremydubreil
Differential Revision: D5030247
fbshipit-source-id: 26a280c
8 years ago
Kyriakos Nikolaos Gkorogiannis
bee8e21633
[thread-safety] Add model and tests for SimpleArrayMap container.
...
Reviewed By: sblackshear
Differential Revision: D5208601
fbshipit-source-id: bbb78f1
8 years ago
Dulma Churchill
57dd45dd82
[linters] Improve the error message in implicit cast error
...
Reviewed By: jvillard
Differential Revision: D5202360
fbshipit-source-id: 78611f1
8 years ago
Sam Blackshear
0714b93b14
[quandary] use sink index info when expanding traces
...
Reviewed By: jvillard
Differential Revision: D5190988
fbshipit-source-id: f0dc17b
8 years ago
Daiva Naudziuniene
093a00af9b
[ThreadSafety] Do not report for c++ classes that do not have mutex member.
...
Reviewed By: jberdine
Differential Revision: D5182255
fbshipit-source-id: f954337
8 years ago
Dino Distefano
55da0055c9
Predicate for `using namespace`
...
Reviewed By: dulmarod
Differential Revision: D5172430
fbshipit-source-id: 0cd9251
8 years ago
Jeremy Dubreil
8917536944
[eradicate] model System.getenv as @Nullable
...
Reviewed By: cristianoc
Differential Revision: D5198439
fbshipit-source-id: b2957d6
8 years ago
Jia Chen
bbed46de47
[infer][java] Suggest @Nullable on fields that are compared to null
...
Reviewed By: sblackshear
Differential Revision: D5189028
fbshipit-source-id: 708423b
8 years ago
Sam Blackshear
3135560283
[quandary] move trace expansion logic into Quandary
...
Reviewed By: jvillard
Differential Revision: D5186064
fbshipit-source-id: a736e3b
8 years ago
Sam Blackshear
2089cd8a34
[thread-safety] container models for SparseArray/SparseArrayCompat
...
Reviewed By: ngorogiannis
Differential Revision: D5176946
fbshipit-source-id: 55a9ce3
8 years ago
Sam Blackshear
aa50d90a7d
[quandary] get rid of report_reachable bool in taint specifications
...
Summary: We were almost always using `~report_reachable:true`, and in the cases where we weren't it is fine to do so. In general, a sink could read any state from its parameters, so it makes sense to complain if anything reachable from them is tainted.
Reviewed By: mbouaziz
Differential Revision: D5169067
fbshipit-source-id: ea7d659
8 years ago
Mehdi Bouaziz
ec7b096ff6
[inferbo] Add warnings and errors for unreachable code
...
Summary:
Warnings for conditions always true/false
Errors for other unreachable statements (should help debugging inferbo)
Reviewed By: sblackshear
Differential Revision: D5047883
fbshipit-source-id: 65a78ca
8 years ago
Kyriakos Nikolaos Gkorogiannis
7be1bfa89f
[threadsafety] Fix some FPs added by may-alias analysis.
...
Reviewed By: sblackshear
Differential Revision: D5172635
fbshipit-source-id: 67ed695
8 years ago
Jia Chen
c0e20e0880
Propagate C++ noexcept annotation from frontend to backend
...
Reviewed By: jeremydubreil
Differential Revision: D5167568
fbshipit-source-id: b562d5e
8 years ago
Dulma Churchill
03bdf0fe2c
[linters] Cast from pointer to integer
...
Reviewed By: jvillard
Differential Revision: D5157470
fbshipit-source-id: 5385b5a
8 years ago
Daiva Naudziuniene
f4b9bb3e3b
[ThreadSafety] Do not report unprotected writes for c++.
...
Reviewed By: jberdine
Differential Revision: D5172030
fbshipit-source-id: 945acba
8 years ago
Jia Chen
6fc287656f
Transitively track null assignment in NullabliltySuggest
...
Reviewed By: jeremydubreil, sblackshear
Differential Revision: D5158809
fbshipit-source-id: 485c58d
8 years ago
Martino Luca
2e8e5733f6
[AL] Load AL files from a directory
...
Reviewed By: dulmarod
Differential Revision: D5155036
fbshipit-source-id: 35ac690
8 years ago
Mehdi Bouaziz
70c4aec26e
[inferbo] Fix vector model
...
Reviewed By: akotulski
Differential Revision: D5155117
fbshipit-source-id: b05c26b
8 years ago
Dino Distefano
0809279b3b
Extending type parser to deal with typedefs
...
Reviewed By: dulmarod
Differential Revision: D5155322
fbshipit-source-id: 9af8d8b
8 years ago
Sam Blackshear
4ef487928c
[quandary] make passthroughs optional
...
Reviewed By: mbouaziz
Differential Revision: D5155878
fbshipit-source-id: dedbebe
8 years ago
Sam Blackshear
38d3946c71
[quandary] support for basic return value sanitizers
...
Summary:
For now, we just support clearing the taint on a return value.
Ideally, we would associate a kind with the sanitizer and only clear taint that matches that kind.
However, it's fairly complicated to make that work properly with footprint sources.
I have some ideas about how to do it with passthroughs instead, but let's just do the simple thing for now.
Reviewed By: jeremydubreil
Differential Revision: D5141906
fbshipit-source-id: a5b8b5e
8 years ago
Dulma Churchill
46a539df82
[linters] Specify path in linters
...
Reviewed By: jvillard
Differential Revision: D5146904
fbshipit-source-id: 62b9d78
8 years ago
Kihong Heo
485814a75a
[Inferbo] remove redundant alarm message
...
Summary:
This diff removes redundant alarm message of intra-procedural
alarms from Inferbo.
Reviewed By: mbouaziz
Differential Revision: D5154319
fbshipit-source-id: bc1c827
8 years ago
Mehdi Bouaziz
f521e5fbc0
[inferbo] Models for exit, fgetc
...
Summary:
- model `exit` as `Bottom`
- model `fgetc` as returning `[-1; 255]` rather than `[-1; +oo]`
- reduced the number of model functions for simple models
Reviewed By: KihongHeo
Differential Revision: D5137485
fbshipit-source-id: 943eeeb
8 years ago
Mehdi Bouaziz
c9803a6481
False negative tests for std::timed_mutex
...
Reviewed By: akotulski
Differential Revision: D5154569
fbshipit-source-id: c142261
8 years ago
Mehdi Bouaziz
b2e03b1734
[inferbo] New test for call by ptr/ref
...
Reviewed By: jvillard
Differential Revision: D5139433
fbshipit-source-id: 11713d4
8 years ago
Josh Berdine
bf504c5b70
Minimal thread safety analysis for C++
...
Summary:
This is a minimal change to (poorly) recognize and model std::mutex
lock and unlock methods, and to surface all thread safety issues for
C++ based on the computed summaries with no filtering.
This ignores much of the Java analysis, including everything about the
Threads domain. The S/N is comically low at this point.
Reviewed By: sblackshear
Differential Revision: D5120485
fbshipit-source-id: 0f08caa
8 years ago
Jia Chen
07c6fbef81
Added an initial implementation of a checker that suggest the use of @Nullable
...
Reviewed By: jeremydubreil
Differential Revision: D5144831
fbshipit-source-id: edc9cf4
8 years ago
Peter O'Hearn
34ae89cf35
[threadsafety] Model more xThreadUtil methods
...
Reviewed By: sblackshear
Differential Revision: D5137061
fbshipit-source-id: ffd030c
8 years ago
Kihong Heo
de32a6728e
[inferbo] remove bottoms in pointer arithmetic
...
Summary:
This diff fixes unintentional bottoms in pointer arithmetic of inferbo.
The pointer arithmetic on addresses of variables (not array) just returns
the operand.
Reviewed By: jvillard
Differential Revision: D5060424
fbshipit-source-id: 495d8b8
8 years ago
Kyriakos Nikolaos Gkorogiannis
750cc65092
[threadsafety] fix false negative on locations that may alias.
...
Reviewed By: sblackshear
Differential Revision: D5137332
fbshipit-source-id: 87e009c
8 years ago
Peter O'Hearn
0c8222cb2f
[threadsafety] Model isMainThread()
...
Reviewed By: sblackshear
Differential Revision: D5129265
fbshipit-source-id: 14a37b1
8 years ago
Dulma Churchill
f5d3870485
[linters] Adding a new error type like
...
Reviewed By: martinoluca
Differential Revision: D5111078
fbshipit-source-id: 06e14b8
8 years ago
Sam Blackshear
927b08346e
[SRI summer school] skeleton code for lab
...
Reviewed By: jeremydubreil
Differential Revision: D5118057
fbshipit-source-id: a11ea08
8 years ago
Peter O'Hearn
0abceb730b
[threadsafety] record threaded information alongside accesses and use disjunction for thread join
...
Summary: Using Conjunction for thread join has known false negatives. Finer grained recording of threading information fixes this.
Reviewed By: sblackshear
Differential Revision: D5111161
fbshipit-source-id: aab483c
8 years ago
Sam Blackshear
54f1122bc0
[quandary] allowing specification of C++ endpoints
...
Reviewed By: jeremydubreil
Differential Revision: D5095655
fbshipit-source-id: 269959d
8 years ago
Dino Distefano
4e7c7f30c1
Extended transitions to universal quantified operators
...
Reviewed By: dulmarod
Differential Revision: D5094722
fbshipit-source-id: a20e96b
8 years ago
Dino Distefano
e77ca182a5
Added a lint for namespace
...
Reviewed By: dulmarod
Differential Revision: D5103566
fbshipit-source-id: 4092e73
8 years ago
Jules Villard
b964f6ab74
[CLI] options to unset default checkers and to print active checkers
...
Summary:
Demo:
```
$ infer -a checkers --print-active-checkers
Found 1 source file to analyze in /home/jul/infer/infer-out
Active checkers: annotation reachability, fragment retains view, immutable cast, printf args, quandary, SIOF, thread safety
Starting analysis...
[...]
$ infer -a checkers --print-active-checkers --no-default-checkers
Found 1 source file to analyze in /home/jul/infer/infer-out
Active checkers: none
[...]
$ infer -a checkers --print-active-checkers --no-default-checkers --bufferoverrun
Found 1 source file to analyze in /home/jul/infer/infer-out
Active checkers: buffer overrun
[...]
$ infer -a checkers --print-active-checkers --no-default-checkers --bufferoverrun --default-checkers --biabduction --no-siof
Found 1 source file to analyze in /home/jul/infer/infer-out
Active checkers: annotation reachability, biabduction, buffer overrun, fragment retains view, immutable cast, printf args, quandary, thread safety
[...]
```
Reviewed By: jeremydubreil
Differential Revision: D5095657
fbshipit-source-id: 8043b00
8 years ago
Jeremy Dubreil
441bf7131a
[infer][CLI] remove the Tracing analyzer option and only rely on the --tracing option for the biabduction analysis
...
Summary: Remove the `Tracing` analyzer option
Reviewed By: sblackshear
Differential Revision: D5108036
fbshipit-source-id: 460bc57
8 years ago
Jeremy Dubreil
d470ed6edc
[infer][models] model java.io.BufferedReader as a wrapper
...
Summary: This fixes a couple of false positives as objects of BufferedReader don't need to be closed if the wrapped reader resource gets closed correctly.
Reviewed By: sblackshear
Differential Revision: D5106596
fbshipit-source-id: 725fb80
8 years ago