6243 Commits (ff819da3c6a07e2ab03ca0d25cf98bf6cfd0db0a)

Author SHA1 Message Date
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
Jules Villard 96c96a8dc6 [pulse] remember equalities found in branches
5 years ago
Jules Villard 3ac8e27062 [pulse] use constant equality to prune unfeasible paths
5 years ago
Jules Villard 98e27f5c4a [pulse] record equality to constants as attributes
5 years ago
Jules Villard 56fc0bffa2 [istd] banish sexp_{list,option}
5 years ago
Ezgi Çiçek 42c4fde720 [impurity] Add initial Java support and don't run pulse twice
5 years ago
Jules Villard 42470d8809 [hmm] sexp_{option,list} -> {option,list}
5 years ago
Sungkeun Cho fd16cb5985 [inferbo] Inequality for iterator alias target
5 years ago
Ezgi Çiçek 557e2bfa3f [impurity] Consider functions with no pulse summary as impure
5 years ago
Jules Villard 707e7b2daa [config] saner names and doc for blacklist options
5 years ago
Sungkeun Cho 83987fca96 [cost] Revise hasNext model
5 years ago
Nikos Gorogiannis 9dbe55c419 [java tracing] goodbye
5 years ago
Nikos Gorogiannis 432d391a32 [memcached] goodbye
5 years ago
Dulma Churchill 765e0bf2f4 [test determinator] Remove the module RangeMap that is only Typ.Procname.Map
5 years ago
Dulma Churchill 16bbc9b934 [test determinator] Remove the module JPS.ProfilerSamples that is really just a set of Procnames
5 years ago
Sungkeun Cho df40a1dbd4 [cost] Add a cost model: ImmutableSet.chooseTableSize
5 years ago
Sungkeun Cho d61411067f [Use async in create_trace_view
5 years ago
Sungkeun Cho 855cc26b25 Fix data race in ProcessPool
5 years ago
Nikos Gorogiannis eebe9580ca [logging][buck] log number of captured targets and time spent on merging tenvs to scuba
5 years ago
Nikos Gorogiannis 11891e8d5b [buck][genrule] fix tests
5 years ago
Ezgi Çiçek 064e211e39 [inefficient-keyset] Add androidx.collections.SimpleArrayMap to eligible maps
5 years ago
Ezgi Çiçek 9882b37c6c [cost][inferbo] Add models for androidx.collection
5 years ago
Nikos Gorogiannis 023b6f5905 [racerd] remove fixmes
5 years ago
Nikos Gorogiannis 81a2e6d23e [starvation] change UI-thread trace element from string to a proper type
5 years ago
Sungkeun Cho 96a8b1cf5a [cost] Add some cost models of IntHashMap
5 years ago
Mitya Lyubarskiy 4b6f996c0a [nullsafe] Consolidate over-annotated issues
5 years ago
Mitya Lyubarskiy fcd0efb7ba [nullsafe] Consolidate various things checking dereference and get rid of misleading names
5 years ago
Mitya Lyubarskiy 72dc6c66b1 [nullsafe] Introduce dereference rule and consolidate its usage
5 years ago
Mitya Lyubarskiy 62f6041906 [nullsafe] Introduce Nullability module and make NullsafeRules use it
5 years ago
Sungkeun Cho cae993aae0 [cost] Add FB-specific cost model
5 years ago
Sungkeun Cho c509f1c178 [cost] Add FB-specific cost models
5 years ago
Nikos Gorogiannis d3dc73a96e [racerd] don't store procdesc in reports when procname is enough
5 years ago
Nikos Gorogiannis e7323dfa33 [starvation] fix dependency between models and domain
5 years ago
Nikos Gorogiannis 5ad714be4b [concurrency] improve function for searching annotations
5 years ago
Ezgi Çiçek 08f9cd4eb8 [required-props] Improve the heuristic to check build() for summaries
5 years ago
Ezgi Çiçek c9f3e20fc4 [required-props] Add more tests showing the ineffectiveness of callee heuristic
5 years ago
Ezgi Çiçek 2e129a5abe [required-props] Add call chain to trace
5 years ago
Ezgi Çiçek 856dfc5b74 [litho] Split into two checkers: litho-required-props and litho-graphql-field-access
5 years ago
Nikos Gorogiannis 615100e55e [patternmatch] fix wrong regexp in getter detection
5 years ago
Dulma Churchill 6cfbd38355 [AL] Take API_AVAILABLE into account in the Unavailable_Api check
5 years ago
Nikos Gorogiannis e0d7950e07 [concurrency] fix over-eager modeling of thread status
5 years ago
Nikos Gorogiannis 0eb1f92339 [starvation] make lock state a map from locks to lock counts
5 years ago
Nikos Gorogiannis 2c68baf8f3 [starvation] avoid quadratic complexity of lock acquire sequence
5 years ago
Sungkeun Cho 2d26236bed [infer] Eagerly try narrowing for the outermost loops
5 years ago
Sungkeun Cho 1468dcc1d9 [inferbo] Extend alias for collection iteration loop
5 years ago
Sungkeun Cho ec62fbefb2 Fix potential race condition in process pool
5 years ago
Nikos Gorogiannis 36de121dc5 [starvation] change domain to use critical pairs `(set of locks held, event)`
5 years ago
Nikos Gorogiannis fb77efea6a [starvation] add test for master-lock false positive
5 years ago
Nikos Gorogiannis f57bb9be0a [starvation] make deduplication depend on filtering config var
5 years ago
Nikos Gorogiannis 965bf52bf8 [filtering/dedup] add deduplicate flag and disambiguate filtering
5 years ago
Nikos Gorogiannis 41729410ac [starvation] remove rarely-used logic for identifying locks
5 years ago
Sungkeun Cho 5303177a2d [inferbo] Symbolic value on functions returning only exception
5 years ago
Sungkeun Cho dda1486a67 [inferbo] Introduce inequality for size alias target
5 years ago
Ezgi Çiçek d163be3b87 [required-props] Added tests for Component.Builder prop added in the chain of calls.
5 years ago
Ezgi Çiçek c68dc542b7 [required-props] Refactor tests
5 years ago
Artem Pianykh e4a03889f3 Revert "[version check] add a check for the environment variable INFERVERSION"
5 years ago
Sungkeun Cho bd637bd290 [inferbo] Refactor pretty print of alias domain
5 years ago
David Pichardie f52b5fc981 Upgrading opam dependencies with last versions of Sawja and Javalib
5 years ago
Jules Villard 362e9cc622 [pulse] do not print `()` after functions
5 years ago
Jules Villard 3e2f36bf6d [pulse][trivial] change debug output of addresses to `vN`
5 years ago
Jules Villard f2b4536970 [pulse][trivial] OCaml can infer the modules on its own
5 years ago
Ezgi Çiçek 073e4db9d7 [required-props] Add support for checking varArgs
5 years ago
Jules Villard 807cc727b5 [pulse] use `Memory.add_attribute` for singleton attributes sets
5 years ago
Jules Villard c455ac02f4 [pulse] array indices need not be valid addresses
5 years ago
Jules Villard b6557ba2b4 [pulse][minor] alphabetise attributes
5 years ago
Mitya Lyubarskiy 7b37d8a3cf [nullsafe] Introduce explicit non-null methods in InferredNullability
5 years ago
Mitya Lyubarskiy 2ef9686d06 [nullsafe] Improve readability of the check for constructor initialization
5 years ago
Mitya Lyubarskiy e21a5ddda5 [nullsafe] Move Initializer to a dedicated module
5 years ago
Mitya Lyubarskiy c472e95d72 [nullsafe] Add a test for field-overannotated warning
5 years ago
Mitya Lyubarskiy df5ccc1b10 [nullsafe] Move `get_field_annotation` out of EradicateChecks to a dedicated module
5 years ago
Mitya Lyubarskiy 34cfa20faf [nullsafe] Migrate checks for inheritance to NullsafeRules
5 years ago
Mitya Lyubarskiy 9a65453a77 [nullsafe] Use AnnotatedNullability instead of `ia_is_nullable` when checking the typestate at the end of class initialization
5 years ago
Mitya Lyubarskiy 53802064bb [nulllsafe] Migrate check for field assignment to NullsafeRules
5 years ago
Mitya Lyubarskiy 0a353da6d9 [nullsafe] Split NullsafeType into AnnotatedNullability and AnnotatedType
5 years ago
Ezgi Çiçek 598dcd63dc [impurity] Remove Payload
5 years ago