Jeremy Dubreil
adfd5a6418
[nullsafe] consistent models for the scrict containers
...
Reviewed By: mbouaziz
Differential Revision: D13977297
fbshipit-source-id: a32be3431
6 years ago
Sungkeun Cho
bd136ac24e
[inferbo] Prune string length at "if(fgets(s, ...))"
...
Summary:
If the result of `fgets` is not-null, the length of `s` should be
bigger than or equal to 1.
Reviewed By: mbouaziz
Differential Revision: D13939994
fbshipit-source-id: 298fe33f4
6 years ago
Ezgi Çiçek
ea486c59d8
[purity] Always show PURE_FUNCTION issues
...
Reviewed By: mbouaziz
Differential Revision: D13973375
fbshipit-source-id: f23dab260
6 years ago
Ezgi Çiçek
6e0682b463
[purity] Mark unmodeled functions as modifying global state
...
Reviewed By: mbouaziz
Differential Revision: D13941653
fbshipit-source-id: 02a15b29c
6 years ago
Jeremy Dubreil
d08cabe7ed
[eradicate] match the different re-definitions of Preconditions.checkState
...
Reviewed By: mbouaziz
Differential Revision: D13966540
fbshipit-source-id: 3cdbb3fbc
6 years ago
David Lively
c5890238f0
[Config] support arbitrary named symbol lists
...
Reviewed By: jvillard
Differential Revision: D13903005
fbshipit-source-id: b1cf9b4e5
6 years ago
Sungkeun Cho
caf61461ac
[inferbo] Update reachability conditions at function call
...
Summary:
This diff updates the reachability conditions of proof obligations at every function calls.
Depends on D13781124
Reviewed By: mbouaziz
Differential Revision: D13781147
fbshipit-source-id: 3c8768bd9
6 years ago
Sungkeun Cho
5a5f83a492
[inferbo] Add strcat model
...
Reviewed By: mbouaziz
Differential Revision: D13915381
fbshipit-source-id: e385130f3
6 years ago
Sungkeun Cho
f250ca7e06
[inferbo] Evaluation of abstract location of literal string
...
Summary:
It adds a semantics for evaluation of abstract location of literal
string, which was missing.
Reviewed By: mbouaziz
Differential Revision: D13915265
fbshipit-source-id: 741df843b
6 years ago
Nikos Gorogiannis
374538a02f
[crashcontext] die
...
Reviewed By: jeremydubreil, mbouaziz, jvillard
Differential Revision: D13861427
fbshipit-source-id: 85e340bb5
6 years ago
Mehdi Bouaziz
1b8927badd
[inferbo/cost] Do not produce inferbo issues on Cost and Purity analysis
...
Reviewed By: skcho
Differential Revision: D13827167
fbshipit-source-id: 734950a1e
6 years ago
Daiva Naudziuniene
6d562fc7b0
[dead store] Dead store false positive caused by forgetting expression inside decltype
...
Summary: We do not want to export unnecessary information from clang plugin, hence, the solution to this false positive would be to annotate with `__unused__` attribute.
Reviewed By: jvillard
Differential Revision: D13861333
fbshipit-source-id: 774009f37
6 years ago
Sungkeun Cho
0447c5b8d5
[inferbo] Give a widening threshold for array offset
...
Reviewed By: mbouaziz
Differential Revision: D13859243
fbshipit-source-id: 9a81505cc
6 years ago
Sungkeun Cho
7b7e6990e4
[inferbo] Add models for basic array iterator
...
Reviewed By: mbouaziz
Differential Revision: D13858898
fbshipit-source-id: 4518dad05
6 years ago
Mehdi Bouaziz
8a3592c34e
[inferbo] Uncouple numerical analysis and numerical checks
...
Summary:
This will allow to get the numerical results for Cost, Hoisting, Purity without the Inferbo issues.
For now, I still forced Inferbo issues for Cost and Purity to avoid lots of changes in tests, that will go away soon.
Reviewed By: ezgicicek, skcho
Differential Revision: D13826741
fbshipit-source-id: 796d1a50d
6 years ago
Nikos Gorogiannis
2ee8ab2990
[class-loads] catch expressions
...
Reviewed By: ezgicicek
Differential Revision: D13832128
fbshipit-source-id: 1d3778763
6 years ago
Sungkeun Cho
7a4862b994
[inferbo] Revise std::array::at model
...
Reviewed By: mbouaziz
Differential Revision: D13814848
fbshipit-source-id: c03153927
6 years ago
Nikos Gorogiannis
b4a22a5bdd
[classloads] prune and multidimensional arrays
...
Reviewed By: ezgicicek
Differential Revision: D13818684
fbshipit-source-id: 8e5289f8f
6 years ago
Nikos Gorogiannis
3e55f8eb60
[classloads] class object expressions
...
Reviewed By: mbouaziz
Differential Revision: D13818059
fbshipit-source-id: 785d557e0
6 years ago
Nikos Gorogiannis
3f9eb37246
[classloads] casts and instanceof
...
Reviewed By: mbouaziz
Differential Revision: D13817582
fbshipit-source-id: c40be6bf8
6 years ago
Nikos Gorogiannis
c1a00b2358
[classloads] restrict loads via fields
...
Reviewed By: ezgicicek
Differential Revision: D13817232
fbshipit-source-id: 470d5ce11
6 years ago
David Lively
a8c946f1d9
new predicate is_in_source_file and placeholders %source_file% and %kind%
...
Reviewed By: ddino
Differential Revision: D13745562
fbshipit-source-id: b3e646001
6 years ago
Sungkeun Cho
ca463d17c1
[inferbo] Add strcpy model
...
Reviewed By: mbouaziz
Differential Revision: D13800678
fbshipit-source-id: 7816ecc4b
6 years ago
Sungkeun Cho
9bb5738675
[inferbo] Add test for contents of std::array
...
Reviewed By: mbouaziz
Differential Revision: D13800142
fbshipit-source-id: c8a2be87b
6 years ago
Sungkeun Cho
6226722c22
[inferbo] Add a test of comparison operator as function
...
Reviewed By: mbouaziz
Differential Revision: D13798721
fbshipit-source-id: 85fb0e91c
6 years ago
Sungkeun Cho
371dc2060f
[inferbo] Add strndup model
...
Reviewed By: mbouaziz
Differential Revision: D13668557
fbshipit-source-id: e6d3d4161
6 years ago
Nikos Gorogiannis
f171d0496b
[classloads] array expressions
...
Reviewed By: mbouaziz
Differential Revision: D13786746
fbshipit-source-id: 9774da835
6 years ago
Sungkeun Cho
7fda4f1cc2
[inferbo] Revise strncpy model
...
Summary:
`strncpy` should update the `c_strlen` value.
Depends on D13668505
Reviewed By: mbouaziz
Differential Revision: D13668536
fbshipit-source-id: 64e09c734
6 years ago
Sungkeun Cho
1bcdc6e761
[inferbo] Extend conditional proof obligation for inequalities
...
Summary:
This diff extends the abstract domain to keep binary conditions on
prunings, so Inferbo can suppress more proof obligations (i.e., false
positives) that are known to be unreachable according to the binary
conditions.
Depends on D13729600
Reviewed By: mbouaziz
Differential Revision: D13749914
fbshipit-source-id: 314f048f1
6 years ago
Nikos Gorogiannis
3fc4ccbc14
[classloads] load super classes recursively
...
Reviewed By: mbouaziz
Differential Revision: D13771265
fbshipit-source-id: da600f912
6 years ago
Sungkeun Cho
0d07a240ea
[inferbo] Literal string on stack location
...
Summary:
It adds semantics of assignment of literal string to stack locations, e.g., `char s[] = "hello";`.
Depends on D13668414
Reviewed By: ezgicicek, mbouaziz
Differential Revision: D13668505
fbshipit-source-id: 72caf35c3
6 years ago
Nikos Gorogiannis
89e396571d
[classloads] treat loads and stores wrt to field derefs
...
Reviewed By: mbouaziz
Differential Revision: D13761363
fbshipit-source-id: bcaddd13b
6 years ago
David Lively
d390a6f08a
[CType_decl] Add missing case to `get_record_typename`
...
Reviewed By: ddino
Differential Revision: D13736334
fbshipit-source-id: c088d1aa8
6 years ago
Nikos Gorogiannis
5686d67072
[classloads] fix treatment of static initializers
...
Reviewed By: jvillard
Differential Revision: D13751141
fbshipit-source-id: f64af292b
6 years ago
Nikos Gorogiannis
00df708f98
[classloads] record at most one load for each class
...
Reviewed By: ezgicicek
Differential Revision: D13750609
fbshipit-source-id: cd55a3370
6 years ago
Sungkeun Cho
6e04a9469b
[inferbo] Revise memcpy model
...
Summary:
`memcpy` should copy the contents of the source to the destination.
Depends on D13634754
Reviewed By: ezgicicek, mbouaziz
Differential Revision: D13668414
fbshipit-source-id: cb0ff2010
6 years ago
Sungkeun Cho
09a5671ef4
[inferbo] Add a test for conditional inequality
...
Reviewed By: mbouaziz
Differential Revision: D13729600
fbshipit-source-id: d460093e1
6 years ago
Nikos Gorogiannis
39b11619b8
[classloads] overhaul test infra & fix treatment of self-class loading in method calls
...
Reviewed By: ddino
Differential Revision: D13622717
fbshipit-source-id: 233cc5d74
6 years ago
Sungkeun Cho
9bd1191669
[inferbo] Add fgets model
...
Summary: It adds the fgets model.
Reviewed By: mbouaziz
Differential Revision: D13634754
fbshipit-source-id: 147745483
6 years ago
Sungkeun Cho
58cdefc118
[inferbo] Add strlen model
...
Summary: It extends the abstract location for C string length, i.e., the first index of the null character in character array.
Reviewed By: mbouaziz
Differential Revision: D13634241
fbshipit-source-id: d2727d5f5
6 years ago
Sungkeun Cho
5aa26dc32e
[inferbo] Add an allocsite type for literal strings
...
Reviewed By: mbouaziz
Differential Revision: D13689870
fbshipit-source-id: 658884b9c
6 years ago
Jeremy Dubreil
87a8ddc8fa
[nullsafe] merge the option names
...
Reviewed By: mbouaziz
Differential Revision: D13682855
fbshipit-source-id: 28c990725
6 years ago
Jeremy Dubreil
910def4262
[nullsafe] rename the method for unsafe access to lists and maps
...
Reviewed By: ezgicicek
Differential Revision: D13668339
fbshipit-source-id: 3b07fff32
6 years ago
Jules Villard
16c0c03050
resource leaks tutorial
...
Summary: Publish solutions to the lab, and a Docker file and image to get started more quickly with infer hacking.
Reviewed By: mbouaziz
Differential Revision: D13648847
fbshipit-source-id: daf48ad03
6 years ago
Sungkeun Cho
db441ffc8a
[inferbo] Prevent deduplication of issues when different conditions
...
Summary:
This diff prevents deduplications of issues when they have different
conditions to reach.
Reviewed By: mbouaziz
Differential Revision: D13596220
fbshipit-source-id: 95f802edb
6 years ago
Nikos Gorogiannis
7bbb7fc869
[clang][objcpp] register exported methods and treat them as private in RacerD
...
Summary:
In ObjC there are no access modifiers. The strongest alternative is to put methods in the implementation but omit them from the interface declaration.
Put exported ObjC methods in their own field in the class structure and use that in RacerD to decide whether to report on the method.
Reviewed By: mbouaziz
Differential Revision: D13597504
fbshipit-source-id: c4a3d2705
6 years ago
Sungkeun Cho
98cd2e59da
[inferbo] Add tests: values representing multiple values
...
Reviewed By: mbouaziz
Differential Revision: D13606721
fbshipit-source-id: 594d24d4a
6 years ago
Sungkeun Cho
10f4ad06ba
[inferbo] Add traces on cast
...
Reviewed By: mbouaziz
Differential Revision: D13606790
fbshipit-source-id: a3d6d0c5c
6 years ago
Mehdi Bouaziz
405dee5ceb
[inferbo] Consider `this` to never be a pointer inside an array
...
Reviewed By: skcho
Differential Revision: D13128691
fbshipit-source-id: e74a168ba
6 years ago
Ezgi Çiçek
f7deed7593
[cost] Add examples that we can't handle currently
...
Reviewed By: mbouaziz, jvillard
Differential Revision: D13596579
fbshipit-source-id: 7460d430d
6 years ago