Jia Chen
6fc287656f
Transitively track null assignment in NullabliltySuggest
...
Reviewed By: jeremydubreil, sblackshear
Differential Revision: D5158809
fbshipit-source-id: 485c58d
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
Sam Blackshear
3258bc2ec4
[quandary] delegate handling of call to HIL
...
Reviewed By: jeremydubreil
Differential Revision: D4950905
fbshipit-source-id: ea35d83
8 years ago
Sam Blackshear
899cfadfbd
[access paths] don't compare types of bases
...
Reviewed By: jberdine
Differential Revision: D4832309
fbshipit-source-id: 9f39615
8 years ago
Andrzej Kotulski
7c64d217f2
[IR] Refactor Ident.fieldname _*into Fieldname module
...
Reviewed By: jberdine
Differential Revision: D4745840
fbshipit-source-id: 4140221
8 years ago
Peter O'Hearn
df154b4135
[threadsafety] read/write races
...
Summary: Reports on reads that have one or more conflicting writes. When you report, say which other methods race with it.
Reviewed By: sblackshear
Differential Revision: D4538793
fbshipit-source-id: 47ce700
8 years ago
Sam Blackshear
23150c8490
[thread-safety] use untyped access path maps/sets in thread-safety analysis
...
Reviewed By: jeremydubreil
Differential Revision: D4550031
fbshipit-source-id: 6168722
8 years ago
Sam Blackshear
ae0df5dc57
[access paths] kill type of field access and replace with utility functions for recovering type
...
Summary:
We waste a lot of space storing the types of field accesses and comparing them sets/maps with access paths.
Yet almost none of the code ever looks at these types (only a tiny piece of code in thread-safety).
If we know the base type, we have enough information to recover the type of the field.
Let's do that instead.
Reviewed By: jeremydubreil
Differential Revision: D4567996
fbshipit-source-id: e7fd2da
8 years ago
Sam Blackshear
dc9892eef5
[thread-safety] use map of access paths to attributes rather than multiple sets of access paths
...
Summary: This will make it a cinch to track new "attributes" of memory locations, and to propagate more complex attributes such as conditional ownership (coming in a future diff).
Reviewed By: peterogithub
Differential Revision: D4523143
fbshipit-source-id: 57aa133
8 years ago
Sam Blackshear
df5798336b
[cleanup] give AccessPath.raw its own module
...
Summary: This allows us to simplify ThreadSafetyDomain a bit.
Reviewed By: jberdine
Differential Revision: D4452740
fbshipit-source-id: 76fce02
8 years ago
Josh Berdine
2e66dcfac4
Open Core.Std by default, still use Caml Hashtbl, Map, Set
...
Reviewed By: cristianoc
Differential Revision: D4232458
fbshipit-source-id: 3d73c69
8 years ago
Josh Berdine
356d081e1f
ppx_compare AccessPath
...
Reviewed By: cristianoc
Differential Revision: D4232397
fbshipit-source-id: a72717b
8 years ago
Sam Blackshear
2c0bf042b4
[checkers] extract access paths from non-lhs expressions
...
Reviewed By: jvillard
Differential Revision: D4081279
fbshipit-source-id: bf2b644
8 years ago
Peter O'Hearn
6423ec74ad
Writing errors for Threadsafe checker
...
Summary: when a method has writes to a field outside of synchrnoization, issue an appropriate error message identifying the fields
Reviewed By: sblackshear
Differential Revision: D4015612
fbshipit-source-id: 4f697fc
8 years ago
Sam Blackshear
de146f4f2d
[quandary] switch to using base -> formal num map in extras
...
Reviewed By: dkgi
Differential Revision: D3883256
fbshipit-source-id: 857e1f9
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
1e4b4df427
fixing handling of aliasing for frontend tmp vars
...
Reviewed By: cristianoc
Differential Revision: D3824558
fbshipit-source-id: 624df00
8 years ago
Sam Blackshear
f0028669ee
propagate tainted sources
...
Reviewed By: mbouaziz
Differential Revision: D3723878
fbshipit-source-id: 6774e0b
9 years ago
Josh Berdine
701eb20f83
Refactor Sil.exp to Exp.t
...
Summary: Create Exp module and refactor Sil.exp to Exp.t
Reviewed By: cristianoc
Differential Revision: D3669394
fbshipit-source-id: 1f52a90
9 years ago
Sam Blackshear
6a1a0d68da
create access paths from expressions
...
Reviewed By: jvillard
Differential Revision: D3605422
fbshipit-source-id: 1ccd9f8
9 years ago
Sam Blackshear
a33e047377
allow access path base to be an ident as well
...
Reviewed By: dkgi
Differential Revision: D3584658
fbshipit-source-id: ec77b3f
9 years ago
Sam Blackshear
05505b55fd
beginnings of access tree domain, tests
...
Reviewed By: mbouaziz
Differential Revision: D3544575
fbshipit-source-id: 17fa411
9 years ago
Sam Blackshear
314d022e38
add abstraction of access path, use in access path set domain
...
Reviewed By: dkgi
Differential Revision: D3521054
fbshipit-source-id: 3ff515b
9 years ago
Sam Blackshear
7544e500bf
adding finite access paths, tests, and basic utilities
...
Reviewed By: dkgi
Differential Revision: D3502236
fbshipit-source-id: b49bb32
9 years ago