6317 Commits (f4d351372413b3abee7046b58e57ba6ce9cab0ba)

Author SHA1 Message Date
Mitya Lyubarskiy a705373e02 [nullsafe] ThirdPartyAnnotationInfoStorage stores files names and line numbers for signatures
5 years ago
Mitya Lyubarskiy 71fd925d7f [nullsafe] Slightly more functional style for ThirdPartyAnnotationInfo storage
5 years ago
Mitya Lyubarskiy 108473e97b [nullsafe] Changes in wording of error messages: unified and more clear language
5 years ago
Mitya Lyubarskiy b860336640 [nullsafe] Render origin in a more light weight way
5 years ago
Mitya Lyubarskiy e0b688ceab [nullsafe] Don't render type origin in trivial cases
5 years ago
Jules Villard 2479bca967 [make] do not trigger a models rebuild every time
5 years ago
Dulma Churchill 11aec43af3 [Infer] Better human readable name for STRONG_SELF_NOT_CHECKED
5 years ago
Nikos Gorogiannis bbb1237e90 [concurrency] add models for Android UI thread callbacks (ServiceConnection)
5 years ago
Nikos Gorogiannis 0c4d2d7a92 [starvation-whole-program] recognize Android callback methods as scheduled work
5 years ago
Nikos Gorogiannis 08df37ef76 [starvation] whole program analysis
5 years ago
Mitya Lyubarskiy bd1b55ef51 [nullsafe] Methods rendering the error accept TypeOrigin.t instead of string
5 years ago
Ezgi Çiçek 655096e87c [required-props] Add more tests for casting
5 years ago
Jules Villard f81c9d56e3 [pulse] arithmetic operations
5 years ago
Jules Villard 6ecf4066e8 [pulse] model std::integral_constant
5 years ago
Jules Villard 6df4fb6a9b [pulse] report dereference of NULL and constants
5 years ago
Jules Villard a107b2dd2d [pulse] do not invalidate object *values* on destruction
5 years ago
Sungkeun Cho c3186578d6 [cost] Keep excluding unqualified variables by ItvUpdatedBy
5 years ago
Mitya Lyubarskiy 2b53fe543f [nullsafe] TypeOrigin has a special case for array access
5 years ago
Sungkeun Cho 50252d3152 [cost] Exclude bin-op-generated integers from control variables
5 years ago
Dulma Churchill 510a5e2933 [self in block] Adding traces to the Strong_self_not_checked check
5 years ago
Ezgi Çiçek 80d294ff8d [cost] Critical parts of the cost message should be to bold
5 years ago
Dulma Churchill bf581e0b72 [self in block] Add a check for strongSelf not checked for null
5 years ago
Sungkeun Cho 0aec8a04e9 [inferbo] Substitution of array block of default case in Java
5 years ago
Ezgi Çiçek ddf6254b6f [required-props] Only report when there is a create
5 years ago
Ezgi Çiçek 128bf030ea [impurity] Remove mistakenly added Payload again
5 years ago
Nikos Gorogiannis 243835aca2 [starvation] extend models of scheduled work
5 years ago
Mitya Lyubarskiy 91282fbcbe [nullsafe][TypeOrigin refactor] Get rid of `set_nonnull`
5 years ago
Mitya Lyubarskiy 7409f5d05f [nullsafe] InferredNullability's nullability is determined by TypeOrigin
5 years ago
Mitya Lyubarskiy 28c6ed2ceb [nullsafe][TypeOrigin refactor] Rename 0None -> OptimisticFallback
5 years ago
Mitya Lyubarskiy 4016ae2320 [nullsafe] Split TypeOrigin.Formal into MethodParam and This
5 years ago
Mitya Lyubarskiy 66119352a2 [nullsafe][TypeOrigin refactor] Massage TypeOrigin.Field and TypeOrigin.Proc
5 years ago
Mitya Lyubarskiy 8e3f1b33b5 [nullsafe][TypeOrigin refactor] introduce TypeOrigin.ArrayLengthResult
5 years ago
Mitya Lyubarskiy 4a81a69fb3 [nullsafe][TypeOrigin refactor] Split TypeOrigin.Const to nullable and non-nullable constants
5 years ago
Ezgi Çiçek a356ef19d7 [litho] Fix test naming convention and add another FP test
5 years ago
Sungkeun Cho 2afac97574 [inferbo] Use of_java_array_alloc in Java
5 years ago
Ezgi Çiçek e6c1ee219f [litho][required-props] Enable tracking all create and build methods intra-procedurally
5 years ago
Josh Berdine 8d20e4d64d [ocamlformat] Upgrade ocamlformat version
5 years ago
Ezgi Çiçek 9e5307b339 [pulse][impurity] Add Pulse Java models for get and cast
5 years ago
Ezgi Çiçek 6fa25b7464 [cost] Change complexity increase message to include UI thread warning
5 years ago
Sungkeun Cho ecc5c80a9b [inferbo] Fix a bug in SafeInvertedMap.join
5 years ago
Nikos Gorogiannis 1fb344289e [racerd] fix pattern matching for abstract methods returning conditional ownership
5 years ago
Sungkeun Cho 7a5ce51901 [inferbo] Revise band semantics
5 years ago
Ezgi Çiçek 94f4ded9b4 [cost] Introduce cost issue types for functions on UI Thread
5 years ago
Sungkeun Cho e66a23a04c [infer] Narrow all loops at least once in the widening phase
5 years ago
Sungkeun Cho 2e06f98a64 [infer] Refactoring is_first_visit parameter in WTO iteration
5 years ago
Sungkeun Cho 0d700471c0 [inferbo] Add size alias when i=1
5 years ago
Sungkeun Cho 773766e3f7 [inferbo] Function call of Java enum values in class initializer
5 years ago
Nikos Gorogiannis 8f8050ba3f [call-graph scheduling] fix bug in node removal
5 years ago
Nikos Gorogiannis e7874c74f4 [call-graph sched] small simplifications
5 years ago
Nikos Gorogiannis be43364d05 [sched] refactor into a more sane structure
5 years ago
Mitya Lyubarskiy c3a62b808a [nullsafe] Split a gigantic function in TypeCheck.ml into many
5 years ago
Sungkeun Cho b50e1cba51 [inferbo] Extend bound to express Min/Max(bound, bound)
5 years ago
Mitya Lyubarskiy 6db340a501 [nullsafe] Don't ignore third party code in Strict mode
5 years ago
Nikos Gorogiannis 4ffac108b0 [starvation] make report-map per file
5 years ago
Mitya Lyubarskiy 42397d2168 [nullsafe] Respect external models when decide wether to report on passing wrong param or not
5 years ago
Dulma Churchill f303c9fa87 [self in block] Fix error in choosing variables fmor the domain for reporting
5 years ago
Nikos Gorogiannis 5ea35133af [starvation] record scheduling parallel works via executors
5 years ago
Dulma Churchill 41fffa690c [self in block] Adding traces to the mixed self with weakself check
5 years ago
Mitya Lyubarskiy cc83c1018b [nullsafe] Path to third-party signatures can be accepted in absolute or relative forms.
5 years ago
Mitya Lyubarskiy 027ff479d1 [nullsafe] 3rd party annotations from the repo are respected in nullsafe
5 years ago
Mitya Lyubarskiy 3d2df4cc3c [nullsafe] Functionality to load 3rd party info from the storage
5 years ago
Mitya Lyubarskiy 7ea42938fe [nullsafe] In-memory storage for accessing nullability information
5 years ago
Ezgi Çiçek d50091bb17 [inferbo] Add models for Math.min and Math.max
5 years ago
Dulma Churchill d4301875f4 Do not run analysis and improve output for non-capture integrations
5 years ago
Sungkeun Cho fa571100df [inferbo] Extend alias domain to have multiple aliases on a variable
5 years ago
Sungkeun Cho 0653284f75 [inferbo] Refactor alias domain
5 years ago
Dulma Churchill 43823266ec [self in block] Add a new checker to detect correct uses of when ObjC blocks capture self.
5 years ago
Ezgi Çiçek 3b41abfb88 [invariant-call] Disable issue type
5 years ago
Mitya Lyubarskiy f2cd03a11e [nullsafe] More rigid format for 3rd party annotation repo
5 years ago
Sungkeun Cho 0a8919166f [inferbo] Add a model: Object.clone
5 years ago
Sungkeun Cho 88813fdaa7 [inferbo] Revise division by constant
5 years ago
Nikos Gorogiannis dda0470b05 [starvation] make thread domain more precise
5 years ago
Mitya Lyubarskiy 0c3e568fa4 [Pp] Rename Pp.to_string
5 years ago
Mitya Lyubarskiy 688deb0936 [nullsafe] Signature and nulllability of a third party method
5 years ago
Nikos Gorogiannis d154415cd0 [starvation] add path sensitivity restricted to thread status
5 years ago
Sungkeun Cho 28cc6b33a9 [cost] Set the minimum basic cost of node
5 years ago
Dulma Churchill da5b319e67 [test determinator] Remove .llvm suffixes before matching the names
5 years ago
Jules Villard 2358c7b529 [pulse] add tracing of arithmetic facts
5 years ago
Jules Villard 00e5ec5a4c [pulse] separate traces from their action
5 years ago
Jules Villard 2e4fbb7fe5 [pulse] intervals!
5 years ago
Jules Villard b20c22a5ee [pulse] abduce arithmetic facts
5 years ago
Jules Villard 702602dcec [pulse] check MustBeValid from preconditions all at once at the end
5 years ago
Jules Villard 36ffe4722b [pulse] stop the analysis when precondition cannot be applied for reasons others than errors
5 years ago
Martin Trojer 5508a64d60 new flag to find infer-deps when `buck target` fails to
5 years ago
Nikos Gorogiannis e9b0ca9ce4 [AI] rename Domain.( <= ) to Domain.leq
5 years ago
Martin Trojer 0c10f729b0 copy byte/binary executables even if no files have changed
5 years ago
Nikos Gorogiannis 4a9b21f62c [starvation] make summary a proper subset of abstract state
5 years ago
Mitya Lyubarskiy f9b0d06826 [nullsafe] Primitive types are always Nonnull
5 years ago
Sungkeun Cho 0d1d3dcd64 [inferbo] Add and use SafeInvertedMap
5 years ago
Sungkeun Cho 65c25cff23 [inferbo] Forget size alias when size changed in model
5 years ago
Sungkeun Cho 96668ed7d8 [cost] Fix function name matching
5 years ago
Nikos Gorogiannis 3cb13bba0f [starvation] unify reporting and split model matchers into models module
5 years ago
Nikos Gorogiannis 2b27a8ff2b [starvation] push thread status inside critical pairs
5 years ago
Jules Villard 127ba72982 [pulse][minor] reduce code duplication for attribute "getters"
5 years ago
Dulma Churchill 4e7c794334 [test determinator] Run test determinator with the buck compilation database flag
5 years ago
Jules Villard 0f625659d0 [pulse][minor] refactor `check_valid` to expose `abduce_attribute`
5 years ago
Jules Villard b6a343f7a0 [pulse] no need to expose `PulseOperations.TBool`
5 years ago
Jules Villard 991685dba0 [pulse][trivial] unused module open
5 years ago
Sungkeun Cho 480f99cfc2 [inferbo] Avoid top value on unknown non-static function call
5 years ago
Mitya Lyubarskiy 0f1187a3a3 [nullsafe] Make Strict mode respect static methods
5 years ago
Ezgi Çiçek 6781ba36d3 [impurity] Start checking equivalence at materialized addresses in pre
5 years ago
Mitya Lyubarskiy 64c5530f3d [nullsafe] nit: small change in the signature for over-annotated rule
5 years ago
Dulma Churchill d001db1e94 [test determinator] Merge test determinator results under buck capture all flavours, add test
5 years ago
Ezgi Çiçek 75a18b5027 [required-props] Track create methods
5 years ago
Ezgi Çiçek 02f747abca [required-props] Add new FPs
5 years ago
Artem Pianykh 8f52ddc54b [annotations] Add a README with a build instruction for maven
5 years ago
Artem Pianykh 3907f0a3f2 [annotations] Specify javac source and target level to 1.7 in pom.xml
5 years ago
Dulma Churchill 7565c3baa6 [test determinator] Match Blocks, add test
5 years ago
Mitya Lyubarskiy 834c2a4932 [nullsafe] Restrict usage of StrictNullsafe annotations to currently supported modes
5 years ago
Mitya Lyubarskiy 6511b2052a [nullsafe] Introduce Strict mode
5 years ago
Mitya Lyubarskiy 4d52e874fc [nullsafe] Introduce DeclaredNonnull
5 years ago
Mitya Lyubarskiy 681f853b20 [nullsafe] Consolidate logic specific to particular rules in dedicated modules
5 years ago
Mitya Lyubarskiy 92f765a948 [nullsafe] Unify issue types
5 years ago
Mitya Lyubarskiy 46ae3580c2 [nullsafe] Simplify signature of InferredNullability.join
5 years ago
Mitya Lyubarskiy 303263eb2e [nullsafe] Don't join types in a fancy way.
5 years ago
Mitya Lyubarskiy cf6c78a64a [nullsafe] Remove calculating locations in typestate `range`
5 years ago
Jules Villard cf6f107b88 [pulse][11/9] carve out PulseBaseStack
5 years ago
Jules Villard 2fd3f9a37b [pulse][10/9] carve out PulseBaseMemory
5 years ago
Jules Villard 1652144176 [pulse][9/9] add PulseDiagnostic to PulseBasicInterface
5 years ago
Jules Villard e3285d1340 [pulse][8/9] Domain interface
5 years ago
Jules Villard 72ee18e445 [pulse][7/9] kill `AddrTracePair`
5 years ago
Jules Villard 4ded39240f [pulse][6/9] add PulseAbstractValue to PulseBasicInterface
5 years ago
Jules Villard 994d35ed38 [pulse][5/9] add PulseAttribute{,s} to PulseBasicInterface
5 years ago
Jules Villard 27c0d7258d [pulse][4/9] add PulseTrace to PulseBasicInterface
5 years ago
Jules Villard 8251e2dea8 [pulse][3/9] add PulseValueHistory to PulseBasicInterface
5 years ago
Jules Villard 168237a605 [pulse][2/9] add PulseInvalidation to PulseBasicInterface
5 years ago
Jules Villard c909d6bd7e [pulse][1/9] create PulseBasicInterface, with CallEvent
5 years ago
Jules Villard 16c88e282d [pulse] some tests about values
5 years ago
Nikos Gorogiannis 734ae60cb7 [starvation] introduce a proper thread domain
5 years ago
Nikos Gorogiannis 6d78026e8e [starvation] fix bug in starting location of trace
5 years ago
Dulma Churchill 0e116c5557 [test determinator] Match Objective-C methods, add test
5 years ago
Ezgi Çiçek 43990ee60b [cost] Clarify outdated comments
5 years ago
Dulma Churchill ef75952223 [test determinator] Pass flag to test determinator for clang, add test
5 years ago
Jules Villard 6a738045fd [pulse] interprocedural histories and traces
5 years ago
Nikos Gorogiannis a9c90368e8 [annotation reachability] fix bug on android annotation check
5 years ago
Nikos Gorogiannis 0a06353bce [starvation] more tests documenting interaction with thread status
5 years ago
Dulma Churchill e2725029f2 [test determinator] Parse the clang profiler samples and matches c functions
5 years ago
Jules Villard 4e3188a127 [pulse][minor] reorder arguments of AddressOfStackVariable
5 years ago
Jules Villard 669383d315 [pulse] more details about variable declaration events
5 years ago
Nikos Gorogiannis 2bbe7ff9f2 [starvation] simplify domains after removal of ui trace
5 years ago
Dulma Churchill e5f571b097 [test determinator] Refactor Java profiler samples and Java method creation
5 years ago
Nikos Gorogiannis 0149c3171e [starvation] hide ui-thread trace
5 years ago
Nikos Gorogiannis 31bb9b399a [starvation] add tests documenting path sensitivity FPs and FNs
5 years ago
Sungkeun Cho 5835139860 [cost] Conservative array length evaluation
5 years ago
Ezgi Çiçek 0ac75fdb31 [impurity] Hotfix broken tests
5 years ago
Jules Villard b818102bad [pvar] simplified names for generated variables
5 years ago
Jules Villard 8182514f35 [impurity] clarify string parameter of `ImpurityDomain.add_to_errlog`
5 years ago
Jules Villard 3e0c9809b9 [pulse][minor] alphabetise events and inline single-field record
5 years ago
Jules Villard fcbcfc3913 [pulse][minor] easier-to-understand debug output
5 years ago
Jules Villard 65debe4fe0 [pulse][minor] put call events in a submodule
5 years ago