6787 Commits (d4a154fea21bfa6be54cd2318f33d73297a9f125)

Author SHA1 Message Date
Jules Villard d79bd90b81 [pdesc] new pre-analysis to diverge after "noreturn" function calls
5 years ago
Jules Villard 78a33acb77 [cfg] run pre-analysis lazily in ondemand
5 years ago
Sungkeun Cho b1698ab0ea [inferbo] Get static value of EMPTY from class initializer in Java
5 years ago
Nikos Gorogiannis 374c09c6c7 [starvation][whole-program] allow scheduled work on unknown threads
5 years ago
Jules Villard de6864a07a [objc] pass SDK config to plugin
5 years ago
Jules Villard 25f2293e70 [test determinator] Add the hash function that we use in the plugin to hash the mangled names to compare input mangled names
5 years ago
Jules Villard 8289c7e7c7 [dot] move "dot" render of biabduction specs
5 years ago
Sungkeun Cho 8b959be727 [inferbo] Add size alias when array size is one
5 years ago
Mitya Lyubarskiy 0732dc63de [nullsafe] An ability to show the different path to third party folder rather than one that is specified in config
5 years ago
Jules Villard c5ddc39e0d [pdesc][refactor] make individual modules for the pre-analyses
5 years ago
Jules Villard b03ca78bf3 [pdesc][refactor] ability to set normal and exceptional succs independently
5 years ago
Nikos Gorogiannis 883044763e [starvation-whole-program] more executor models
5 years ago
Mitya Lyubarskiy cf6e881822 [deadcode] fix deadcode
5 years ago
Martin Trojer 4817cb4c8e fix genrule test
5 years ago
Mitya Lyubarskiy 88d6f67589 [nullsafe] Support @RecentlyNullable annotation
5 years ago
Nikos Gorogiannis 0d175daddc [starvation] enable some tests
5 years ago
Dulma Churchill e411db6f82 [AL] Make the transition Parameters work with function calls
5 years ago
Mitya Lyubarskiy d5b574dd80 [nullsafe] Render strict mode violations nicely
5 years ago
Mitya Lyubarskiy 1b8305d1e1 [nullsafe] Special error messaging for case when unmodelled third-party signature is called
5 years ago
Mitya Lyubarskiy 48a447d77a [nullsafe] Always specify if the nullability comes from internal models or third party
5 years ago
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
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
Sungkeun Cho c5ab00ae82 [cost] Avoid giving top to unknown global in Java
5 years ago
Sungkeun Cho 738a751d17 [cost] Add eval mode for cost substitution
5 years ago
Dulma Churchill 0eccdb25dc [clang] Do not try to store block declarations as methods of a C++ struct.
5 years ago
Ezgi Çiçek 8c1fdab0a8 [java] Enhance annotation parsing with the ability to pick up parameter names
5 years ago
Nikos Gorogiannis 2be3189912 [starvation] make lock state keep only lock acquisitions by construction
5 years ago
Nikos Gorogiannis aab8826b2a [explicittrace][easy] make call printer a functor arg
5 years ago
Nikos Gorogiannis fd40a5df6c [explicitrace] pp_human -> describe
5 years ago
Nikos Gorogiannis 58efca6328 [strings][easy] don't allocate when checking annotation endings
5 years ago
Mitya Lyubarskiy 900e451567 [nullsafe] Look at NullsafeType in check_return_annotation instead of looking it up in Annot.Item.t
5 years ago
Mitya Lyubarskiy e24cf9f155 [nullsafe] Introduce NullsafeRules and start consolidating checks
5 years ago
Mitya Lyubarskiy 74c8629d13 [nullsafe] Rename TypeAnnotation to InferredNullability
5 years ago
Mitya Lyubarskiy 361e11b3be [nullsafe] When inferring type based on the formal type, respect NullsafeType instead of reading annotations
5 years ago
Sungkeun Cho 402f3115ea [cost] Strengthen condition for collecting control variables
5 years ago
Ezgi Çiçek f7903007ee [required-props] Extend required prop setting with more custom suffixes
5 years ago
Ezgi Çiçek df712bc629 [required-props] Refine Required Props checker to only check @Prop
5 years ago
Ezgi Çiçek c5ca4db8d0 [pulse][impurity] Use pulse for detecting impurity
5 years ago
Jules Villard c19d9254b4 [typ] make use of pretty printers instead of strings
5 years ago
Jules Villard 088b083d87 [typ] prefer pretty printing to string building
5 years ago
Jules Villard a01639e098 [taskbar] leave progress bar displayed at the end of the analysis
5 years ago
Jules Villard 85977bf327 [analysis] print times for analysis only
5 years ago
Dulma Churchill 667ce92864 [clang] Add process ast as a new capture action, separated from capture and linting
5 years ago
Sungkeun Cho d55f5c02d5 [cost] Add modeled range
5 years ago
Taras Tsugrii 322a8938f0 [infer] Fix documentation for test-determinator flag.
5 years ago
Dulma Churchill 825c7af581 [test determinator] Continuation of refactoring the test determinator code
5 years ago
Mitya Lyubarskiy 693f2944c7 [nullsafe] Convert AnnotatedSignature subtypes from tuples to records
5 years ago
Dulma Churchill b76ab1f8b9 [test determinator] Refactor the code to make it more functional
5 years ago
Nikos Gorogiannis 16819fa1a4 [sqlite] do merge in-memory
5 years ago
Mitya Lyubarskiy 518b154ebe [nullsafe] Add NullsafeType to `get_field_annotation`
5 years ago
Mitya Lyubarskiy ba0a0b6d9a [nullsafe] Don't mention "unannotated" in Models
5 years ago
Mitya Lyubarskiy ebf9e84e3c [nullsafe] `get_modelled_annotated_signature` respects models in NullsafeType
5 years ago
Mitya Lyubarskiy 633186c41e [nullsafe] Introduce NullsafeType abstraction
5 years ago
Sungkeun Cho 4ff2700bde [inferbo] Add InputStream.read model
5 years ago
Sungkeun Cho 2158090322 [inferbo] Extend Simple alias domain
5 years ago
Nikos Gorogiannis d073e80648 [logging] log available memory on startup
5 years ago
Mitya Lyubarskiy 39aca6326c [nullsafe] Remove old traces of modelling the annotation for the field
5 years ago
Mitya Lyubarskiy 21d3450ef5 [nullsafe] Remove special treatment of @Nonnull for "Condition Redundant" check
5 years ago
Mitya Lyubarskiy 9e60679667 [nullsafe][easy] Remove duplicated test cases for condition redundant
5 years ago
Mitya Lyubarskiy b03d2fd520 [nullsafe] More test cases for Condition Redundant
5 years ago
Sungkeun Cho 0574372891 [inferbo] Simplify alias targets
5 years ago
Sungkeun Cho 21c890f23d [inferbo] Revise widen of bounds
5 years ago
Nikos Gorogiannis 3543c89c19 [lockless] detect lock acquisitions from methods annotated @Lockless
5 years ago
Sungkeun Cho c20bda0350 [inferbo] Ignore type on field comparison
5 years ago
Sungkeun Cho afcb0ab46b [inferbo] Address collection add in loop
5 years ago
Mitya Lyubarskiy 4f8629727e [nullsafe] Delete nullsafe-gradual tests
5 years ago
Nikos Gorogiannis b6c3f40ab0 [sqlite] page and cache size flags and defaults
5 years ago
Mitya Lyubarskiy fc651cb876 [nullsafe] Remove deadcode
5 years ago
Mitya Lyubarskiy 5de3e415db [nullsafe] Remove custom hash calculation for err_instance
5 years ago
Fabio Milano caba376211 [UIComponentContext] Added UIContext to mutable_local_variables whitelist
5 years ago
Phoebe Nichols 426775c939 hook in incremental analysis add procedure test
5 years ago
Phoebe Nichols 71e1704bf9 Clean results directory before using incremental analysis
5 years ago
Phoebe Nichols 1a010eda78 Add method to clean the results directory
5 years ago
Phoebe Nichols eb38b9c4c3 Add method to clean capture data
5 years ago
Mitya Lyubarskiy 224d44d79a [nullsafe] Make intention of NullFieldAccess test explicit and add positive cases
5 years ago
Mitya Lyubarskiy 7132a84b0d [nullsafe] Reorder and add more cases for checking @PropagatesNullable annotation
5 years ago
Mitya Lyubarskiy 7a09618dc4 [nullsafe] Make test for @TrueOnNull and @FalseOnNull annotation specific about positive and negative cases
5 years ago
Dulma Churchill 86140581d5 [AL] Adding predicate for AL rule to check that a variable of a specific type is being captured in a block
5 years ago
Dulma Churchill ab683af1f1 [objc frontend] Keep the counter for block names local to each procedure
5 years ago
Sungkeun Cho d397ea03d1 [cost] Print debug information when top value is generated
5 years ago
Mitya Lyubarskiy b00b526928 [nullsafe] Remove "Field not mutable" check
5 years ago
Mitya Lyubarskiy fbeb58c0f2 [nullafe] Consolidate different ways to suppress field not initialized
5 years ago
Mitya Lyubarskiy b1810ef3ff [nullsafe] @Nonnull should not suppress Field Not Initialized warning
5 years ago
Sungkeun Cho f79871c5fa [cost] Ignore character symbols in the cost results
5 years ago
Mitya Lyubarskiy 63a5ffb4dc [nullsafe] Make FieldNotInitialized cover negative cases together with positive ones
5 years ago
Mitya Lyubarskiy 5bd61e75f2 [nullsafe] Consolidate and expand tests for known initializers
5 years ago
Mitya Lyubarskiy 260176251c [nullsafe] Make @Initializer annotation test specific and without "builder" boilerplate
5 years ago
Mitya Lyubarskiy 0d69999de8 [nullsafe] Provide both positive and negative cases for @Cleanup annotation test
5 years ago
Mitya Lyubarskiy 090fa92c15 [nullsafe] Make FieldNotNullable test specific about both positive and negative cases
5 years ago
Mitya Lyubarskiy fe674937a4 [nullsafe] Improve the test for checking `onDestroy` handling
5 years ago
Sungkeun Cho 5e1e5d412c [inferbo] Add Java String constructor models
5 years ago
Sungkeun Cho 962e56cb1b [infer] Use typ instead of root_typ if possible
5 years ago
Sungkeun Cho 3916d1b3bc [infer] Add type field in Sil.Store
5 years ago
Dulma Churchill 41aa20e2b6 [pulse] Adding tests for pulse in Objective-C++ (the C++ part)
5 years ago
Dulma Churchill 5c58689493 [pulse] Add pulse tests for objective-c (the c part of it)
5 years ago
Dulma Churchill 27ea5d041b [biabduction] Rename use_after_free to avoid name clash with Pulse
5 years ago
Nikos Gorogiannis 5ee59cea23 [sqlite] fix daemon logic in non-forking integrations
5 years ago
Nikos Gorogiannis 01dc06b05f [sqlite] launch daemon only if jobs > 1
5 years ago
Mitya Lyubarskiy 8add080e4a [nullsafe][refactor tests] split and improve FieldNotNullable tests
5 years ago
Sungkeun Cho 3250ff35d2 [infer] Add typ field in Sil.Load
5 years ago
Sungkeun Cho a50fcaf2dd [infer] Use inline record for Sil.Load and Sil.Store
5 years ago
Sungkeun Cho 78cfc867a5 [inferbo] Print non-verbose program variables
5 years ago
Nikos Gorogiannis c872fb5e1d [sqlite] kill write daemon in all circumstances
5 years ago
Dulma Churchill d04e098eb1 [AL] Add a is_static predicate
5 years ago
Dulma Churchill 0904be07aa [clang] Upgrade Infer after change to the plugin to swap storage_class with is_static
5 years ago
Mitya Lyubarskiy 1046c63b0f [nullsafe] Prepare to introduce gradual mode: split tests
5 years ago
Mitya Lyubarskiy 58fe80fdf5 [nullsafe] remove 'annotation' abstraction.
5 years ago
Mitya Lyubarskiy 46cf107411 [nullsafe] Remove functionality for @Present annotations
5 years ago
Nikos Gorogiannis b8954e714e [sqlite] write-server implementation
5 years ago
Nikos Gorogiannis 26823b22f1 [sqlite] skeleton protocol for dbwriter
5 years ago
Nikos Gorogiannis 83aea33c68 [sqlite] move all writes to one module
5 years ago
Nikos Gorogiannis c07555a768 [sqlite] reset before query
5 years ago
Sungkeun Cho ad4bc0a905 [cost] Ignore non-int symbols in the cost results
5 years ago
Nikos Gorogiannis 998960930f [deadcode] multilinks
5 years ago
Phoebe Nichols 43964c898c Add test for introducing a procedure
5 years ago
Phoebe Nichols 6874926b10 Clean specs directory before running capture
5 years ago
Sungkeun Cho a294085d9a [inferbo] Extend size alias domain for Java temporary variables
5 years ago
Sungkeun Cho 5127a975e3 [cost] Ignore boundends when getting range
5 years ago
Ezgi Çiçek a18e22ef7f [pulse] Remove empty edges and their WrittenTo from post
5 years ago
Jules Villard 0911a1297a [pulse] do not record addresses of logical variables
5 years ago
Jules Villard 22c5acd236 [pulse] utility method `PulseDomain.Memory.pp_edges`
5 years ago
Sungkeun Cho 1918477da8 [cost] Simplify range of min(1,x)
5 years ago
Mitya Lyubarskiy e97621c4ee [easy] we never created a param here
5 years ago
Mitya Lyubarskiy 753580095e make --debug option side-effect free
5 years ago
Mitya Lyubarskiy 2339791336 [nullsafe][EASY] rename test annotation for clarity
5 years ago
Mitya Lyubarskiy 5b0bdfb297 [nullsafe] Refine semantics of @Nonnull: obey minimum surprise principle
5 years ago
Sungkeun Cho 4351ba9bd1 [cost] Add version to BasicCost.t
5 years ago
Sungkeun Cho ddaf51713e [inferbo] Revise Java's String models
5 years ago
Ezgi Çiçek 28e84f275e [pulse] Don't print attribute ranks
5 years ago
Mitya Lyubarskiy 356ec9afe5 [easy] make method with side-effects looks like it has side-effects
5 years ago
Ezgi Çiçek 193aa91b05 [litho] Hookup litho tests to main test suite
5 years ago
Ezgi Çiçek 8081dbfbf1 [pulse] Record the trace of the address written to
5 years ago
Sungkeun Cho 6e1adf4d1d [inferbo] Remove deadcode
5 years ago
Sungkeun Cho 59f06568cf [inferbo] Use std::vector model for std::string
5 years ago
Jules Villard 9e5115a9e0 [annotreach] support for new `"symbol_regexps"` matcher
5 years ago
Dulma Churchill d0bfb856ed [AL] Add new predicate is_extern
5 years ago
Jules Villard f76ed88741 [clang] wrap test determinator in frontend exception catcher
5 years ago
Jules Villard b59ff499c7 [clang] move error handling from cFrontend_config to a new cFrontend_errors module
5 years ago
Sungkeun Cho fadd8cb541 [inferbo] Prune array size in Java
5 years ago
Jules Villard a18cf040df [al] better distinction AL vs frontend in file names
5 years ago
Jules Villard 1c0345f00c [clang] move AL source code to new al/ folder
5 years ago
Sungkeun Cho 77084782e1 [inferbo] Fix bug in integer pruning by pointer
5 years ago
Sungkeun Cho aaa40084c4 [inferbo] Add Preconditions.checkArgument model
5 years ago
Sungkeun Cho d11444f7d3 [inferbo] Change the order of StdBasicString and StdVector
5 years ago
Nikos Gorogiannis e49f3f1512 [racerd] use access expression structure in ownership domain
5 years ago
Sungkeun Cho 5f5b3de91a [inferbo] Pruning collection.size in Java
5 years ago
Phoebe Nichols 50c39a5b4b Log reverse analysis call graph statistics
5 years ago
Sungkeun Cho 28d617b345 [cost] Revise Java's cast model
5 years ago
Phoebe Nichols e45526ea02 Fail if incremental analysis is set without changed files
5 years ago
Nikos Gorogiannis 86a1bbf1a7 [racerd] output access expressions language-sensitively
5 years ago
Nikos Gorogiannis ccc7dcbc1e [racerd] use access expressions in place of paths
5 years ago
Sungkeun Cho e0a5cde2d5 [cost] Print elements field of collection
5 years ago
Ezgi Çiçek 22cfcc09f5 [cost] Add test about Preconditions
5 years ago
Sungkeun Cho 761d8bd614 [inferbo] Use inline record for Loc.Field
5 years ago
Ezgi Çiçek d287177820 [config] Convert checker tuples to record type
5 years ago
Sungkeun Cho 9c49841ebb [cost] Add Iterator.next model
5 years ago
Jules Villard de3f97136e [java] catch `Failure` to avoid crashing on invalid class type signatures
5 years ago
Jules Villard 0af754f3d7 [annot reachability] apply sanitizers in more cases
5 years ago
Jules Villard 00cbc9c1e4 [annot reachability] add debug logging and light refactor
5 years ago
Phoebe Nichols ad82124956 Remove logging
5 years ago
Sungkeun Cho d3056d3309 [cost] Ignore boolean symbols in the cost results
5 years ago
Nikos Gorogiannis 1bfbdbb4e1 [racerd] less boiler-plate in reporting violations
5 years ago
Nikos Gorogiannis 6bd25fd9dd [racerd] improve add_accesses
5 years ago
Ezgi Çiçek 5fa9f89285 [cost] Fix misleading test names
5 years ago
Sungkeun Cho 013a9bb97c [inferbo] Refactoring: give type alias for making symbol
5 years ago
Sungkeun Cho 7c18231c5c [cost] Revise hasNext() to avoid bottom in condition
5 years ago
Sungkeun Cho 4530ef5bb0 [inferbo] Fix min of minmax and linear
5 years ago
Ezgi Çiçek 89782dfff9 [cost] Mask min/max symbols when printing big O
5 years ago
Ezgi Çiçek 9c5b704ddd [cost] Record bigO in error trace description
5 years ago
Sungkeun Cho 9494199652 [inferbo] Rename AliasMap.store to forget
5 years ago
Sungkeun Cho 5331648b91 [inferbo] Revise vector model
5 years ago
Nikos Gorogiannis e272287377 [version check] add a check for the environment variable INFERVERSION
5 years ago
Martin Trojer 06d6363710 idirafter override flag
5 years ago
Phoebe Nichols 2151a54345 [short review] Add logging for when the results directory is deleted
5 years ago
Ezgi Çiçek 57492f830b [inferbo] Add missing list initialization with initial capacity
5 years ago
Phoebe Nichols 6fbe091987 Fix printing of analysis time
5 years ago
Sungkeun Cho ddd4d98636 [inferbo] Add vector model: data
5 years ago
Sungkeun Cho 58b403c8ff [inferbo] Add vector model: empty
5 years ago
Sungkeun Cho c05062556f [inferbo] Add vector model: push_back
5 years ago
Sungkeun Cho f6b4f75e7c [inferbo] Pruning by vector::size
5 years ago
Sungkeun Cho e9cf5d33b3 [inferbo] Add models of vector constructors
5 years ago
Phoebe Nichols 085ffa166e Logging number of procedure summaries invalidated for incremental analysis
5 years ago
Ezgi Çiçek 8286347ebf [inferbo] Add models for Java's Integer
5 years ago
Martin Trojer 6f7cd25b3a buck integration, no lonfer bail when .buckconfig is missing
5 years ago
Sungkeun Cho 8c4be65754 [inferbo] Ondemand value generation of vector as function parameter
5 years ago
Sungkeun Cho f488c5d6b7 [inferbo] Disable function instantiation of relational domain
5 years ago
Phoebe Nichols fc17a0fce3 Add test for cost change detection with incremental analysis
5 years ago
Sungkeun Cho f066776b17 [inferbo] Add model: vector size
5 years ago
Sungkeun Cho 7a8e7d13e9 [inferbo] Add model: vector constructor
5 years ago
Jules Villard 41c003ace1 [biabd] rename models-related things to "biabduction-..."
5 years ago
Jules Villard fe701a17cc [diff] delete infer-diff
5 years ago
Jules Villard 13d54990bd [models] get rid of include-based C++ models
5 years ago
Ezgi Çiçek 675c79480d [pulse] Record writes explicitly as Attributes and get rid of heuristic in is_cell_read_only
5 years ago
Martin Trojer 0fe30d13c5 add flag for (undefined) functions that should be modelled as mallocs
5 years ago
Phoebe Nichols e7af794abb Add incremental analysis test for changing a file
5 years ago
Phoebe Nichols e3668daaa5 Add test incremental_analysis_remove_file to the toplevel makefile
5 years ago
Ezgi Çiçek b8d25d1301 [inferbo] Fix the model of Collections.emptySet
5 years ago
Sungkeun Cho a3229fc43a [inferbo] Suppress intended integer underflow of unsigned integer
5 years ago
Jules Villard 98089a3067 [ondemand] trace cache operations
5 years ago
Jules Villard d97ee3bfee [stats] less error-prone `incr` functions
5 years ago
Sungkeun Cho 80f4b64915 [inferbo] Prune linear bound by minmax
5 years ago
Jules Villard ddddea3eda [java] easier to switch between java 8 and java 11
5 years ago
Jules Villard 8bdc03bba4 [help] scrub default values in the checked-in version of the manuals
5 years ago
Ezgi Çiçek e320d8a580 [config] Rename `filter-report` command to `censor-report` and stop reporting them on console and bugs.txt
5 years ago
Sungkeun Cho b3f52284ed [inferbo] Ignore the top of latest prune of callees
5 years ago
Ezgi Çiçek 127902222d [pulse] Filter AddressOfStackVariable from read only heuristic check
5 years ago
Sungkeun Cho 84a6561dc9 [inferbo] Precise mod semantics on unsigned integer
5 years ago
Sungkeun Cho 26a4f83e8b [inferbo] Avoid pruning on array elements
5 years ago
Jules Villard a857fec1f3 [increr] test incremental analysis
5 years ago
Sungkeun Cho f3311dfd98 [inferbo] Weak update on array contents
5 years ago
Phoebe Nichols 587c3d35f1 Catch error in SpecsFiles.delete
5 years ago
Phoebe Nichols 1415be9153 Log the reverse analysis call graph for tests
5 years ago
Ezgi Çiçek 09ab685c7e [pulse] Handle stack refs escaping their scope via pointer
5 years ago
Phoebe Nichols ee5abef97c Invalidate summaries for changed procedures
5 years ago
Phoebe Nichols 218e4dca52 Do not delete results directory if incremental-analysis is enabled
5 years ago
Jules Villard 75dab37300 [config] better way to refer to the toplevel results dir
5 years ago
Jules Villard 4fe9b2c8dd [debug] fix error about non-existing dir in infer-out/captured/...
5 years ago
Jules Villard ea32a9dfd8 [ondemand] refactor to avoid loading unneeded proc descs
5 years ago
Artem Pianykh 346c89c717 Make infer binary runnable on Mojave without fiddling with SDKROOT
5 years ago
Phoebe Nichols 70474ec2de Fix test buck_flavours_diff
5 years ago
Mitya Lyubarskiy 860d3aa8a4 Utilize @[deriving fields] in BackendStats
5 years ago
Phoebe Nichols d84b0881ba Change command line options desciption for reanalyze and incremental-analysis
5 years ago
Mitya Lyubarskiy 7c2f1a955f [infer] Log accumulated backend counters to scuba
5 years ago
Ezgi Çiçek cb4a16b460 [pulse] Fix marking of AddressOfCppTemporary in the loop
5 years ago
Jules Villard 8fbdc4e252 [analyze] be more consistent in logging
5 years ago
Ezgi Çiçek 4d1b300e5b [pulse] Remove bindings with empty edges in pre
5 years ago
Jules Villard daf38c6d54 [summary] change `int ref` field in record to `mutable`
5 years ago
Jules Villard 4fde351565 [processpool] collect results from children
5 years ago
Jules Villard deb9afe121 [backend] a module for recording simple counters-based stats
5 years ago
Jules Villard 73179f7182 [specs] put specs files operations in their own module
5 years ago
Sungkeun Cho 124ab9fed7 [inferbo] Downgrade issues of void pointer
5 years ago
David Pichardie 51f6b30d43 Complete pattern matching for Sawja JBir translation
5 years ago
Mitya Lyubarskiy 7368039ba8 [infer] Make infer respect external-packages param
5 years ago
Phoebe Nichols 9be3af16ac Create ReverseAnalysisCallGraph.ml
5 years ago
Phoebe Nichols 578b1c95f1 Add function to add an edge to the call graph
5 years ago
Phoebe Nichols a4c1e94c5f Add function to delete summary from disk and caches
5 years ago
Ezgi Çiçek 0682ccc1e9 [cost][inferbo] Add models for indexOf
5 years ago
Nikos Gorogiannis af12e55344 [buck/java2] rely on (and modify) PATH to find infer binary to improve caching
5 years ago
Ezgi Çiçek 998e7c8fe3 [inefficientKeysetIterator] Turn on by default and fix msg
5 years ago
Jules Villard 937e971849 [objc] fix test so that it looks like it could compile
5 years ago
Phoebe Nichols af8c57e07f Write function to load specfiles
5 years ago
David Pichardie f47d4ed285 Compatibility with javalib 3.1 release
5 years ago
Nikos Gorogiannis 380515bc89 [changed files] don't fail on non-existent absolute paths
5 years ago
Phoebe Nichols 82eb91fe71 Move core CallGraph API from SyntacticCallGraph.ml to CallGraph.ml
5 years ago
Jules Villard 15246ec2a2 [tests] attempt at fewer race conditions
5 years ago
Phoebe Nichols 0ecd73d0f8 Add --incremental-analysis flag
5 years ago
Artem Pianykh 467149eaa8 [maven-release-plugin] prepare for next development iteration
5 years ago
Artem Pianykh 53db6e2ea0 [maven-release-plugin] prepare release infer-annotation-0.17.0
5 years ago
Jules Villard 128f37985d [ocaml] upgrade most dependencies
5 years ago
Jules Villard a504a67ec2 [pulse] model some of `std::basic_string`
5 years ago
Jules Villard 14b9975cf3 [pulse] support modelling destructors
5 years ago
Jules Villard d9aadf5df2 [pulse] allow models in invalidation traces
5 years ago
Nikos Gorogiannis 4f46567fa7 [annotreach] kill custom path sensitivity
5 years ago
Phoebe Nichols 3e7f500ae8 Rename CallGraph.ml to SyntacticCallGraph.ml
5 years ago
Mitya Lyubarskiy 99e6447663 [infer][logging] log time for merge captured targets to `infer_events`
5 years ago
Artem Pianykh e3fd05b145 Bump infer-annotations jar version
5 years ago
Nikos Gorogiannis 5b191c53ae [annotreach] clean up tests
5 years ago
Nikos Gorogiannis ffdc9193dc [annot-reach] complete the set of android thread annotations
5 years ago
Jules Villard b4f3bce0c0 [biabd] remove a quadratic list operation
5 years ago
Martin Trojer 124036ea0b New faster version of Diff/Test-Determinator
5 years ago
Phoebe Nichols 542dc9086a Remove optional caller_summary from Ondemand.analyze_proc_name
5 years ago
Phoebe Nichols dc37aeed5c Refactor ondemand.ml
5 years ago
Phoebe Nichols 8ce592576e Register callees in Summary.callee_pnames
5 years ago
Phoebe Nichols b835f281cb Store a set of callee names in Summary.t
5 years ago
Jules Villard ef26e8bb28 [clang] NamespaceAliasDecl is just a no-op
5 years ago
Phoebe Nichols 2f6510395e Remove redundant fields from proc_callback_args
5 years ago
Phoebe Nichols a3eed439f6 Supply caller summary to Ondemand.analyze_proc_desc and Ondemand.analyze_proc_name
5 years ago
Phoebe Nichols d9535f42d5 Introduce method SummaryPayload.read_toplevel_procedure
5 years ago
Ezgi Çiçek 4114f7fbdf [inefficientKeysetIterator] Chase predecessors 4 more nodes to check the pattern
5 years ago
Ezgi Çiçek 102018734f [inefficientKeysetIterator] Add missing type checks
5 years ago
Artem Pianykh 39dce8878f [infra] Update yojson and fix deprecations
5 years ago
Phoebe Nichols fa1bcbe12d Change ProcData to have a summary instead of a proc_desc
5 years ago
Phoebe Nichols bd1c3deac6 Remove proc_desc from iterate_procedure_callbacks
5 years ago
Phoebe Nichols 13c2c84897 Remove proc_desc from proc_callback_args
5 years ago
Nikos Gorogiannis ae4f7561b3 [hil] class constant types
5 years ago
Jules Villard c89a8d3e63 delete ownership checker
5 years ago
Phoebe Nichols bc208ee9c8 Remove analyze_proc callback in ondemand.ml
5 years ago
Jules Villard a3086cbc37 [clang] remove 3 year obsolete TODO
5 years ago
David Pichardie 95e90f741c Compatibility with javalib 3.0
5 years ago
Jules Villard e803a30c2d [clang] fix translation of `initListExpr` again
5 years ago
Jules Villard 14ce445f81 [pulse] run tests against C++17
5 years ago
Artem Pianykh 7792c02388 Use xcrun to find SDK paths on OSX host during configure
5 years ago
Nikos Gorogiannis a47a8d2627 [java][classpath] fixes
5 years ago
Phoebe Nichols 5d24982823 Make the task bar display progress more accurately
5 years ago
Nikos Gorogiannis 2f21d223ac [buck] don't fail on empty list of targets found from query
5 years ago
Mehdi Bouaziz 13dac07361 MaximumSharing: remove inplace
5 years ago
Nikos Gorogiannis fd09f1bfc9 [java] fix classpath order
5 years ago
Mehdi Bouaziz 4c50dc096c MaximumSharing: handle cycles
5 years ago
Ezgi Çiçek 563cc760ed [cost] Make the kind of complexity increase clear in the message
6 years ago
Jules Villard 86decb83f6 [pulse] record attributes of address not edge-reachable in the post
6 years ago
Jules Villard 493d38a682 [pulse] overwrite attributes of modified cells in interproc calls
6 years ago
Jules Villard 910131edca [pulse][trivial] remove unecessary option type, exception catching, and mutual recursion
6 years ago
Phoebe Nichols a4013bdbe9 Remove analyze_ondemand from Ondemand.callbacks
6 years ago
Jules Villard 58b1df6bb9 [clang] fix destructor placement for temporaries in conditionals
6 years ago
Jules Villard cb9ee662c8 [pulse] skip `folly::Optional::reset()`
6 years ago
Jules Villard 3a3c93140e [pulse] translate initListExpr in more cases
6 years ago
Jules Villard d96ab2458d [pulse] model lambda destructor
6 years ago
Jules Villard 91a2e2986b [pulse] model lambda capture by value
6 years ago
Jules Villard 433c144840 [pulse] calling known lambdas calls the corresponding proc name
6 years ago
Jules Villard 2bf6852b95 [pulse] model `std::function::operator=`
6 years ago
Mehdi Bouaziz 39c7ab86e1 Maximum sharing: reuse sharing and detect cycles
6 years ago
Mehdi Bouaziz 09efe4f2c1 Add tests for MaximumSharing
6 years ago
Jules Villard ae3089c2b2 [uninit] look at complex HIL expressions too
6 years ago
Jules Villard 007c044d92 [HIL] add warning about HIL unsoundness
6 years ago
Jules Villard 6dee89b786 [backend] print what we are doing when invalidating for reanalysis
6 years ago
Jules Villard 8eba6503a4 [backend] do not crash getting `State.get_loc_exn` when already crashing
6 years ago
Jules Villard 2d41b9d58a [pulse] skip `folly::SocketAddress::~SocketAddress`
6 years ago
Jules Villard f15d9915a0 [pulse] better types to avoid `_fun_` prefix to proc names in bug traces
6 years ago
Jules Villard a3311fb751 [pulse] C++ temporaries bound to globals do not "escape"
6 years ago
Phoebe Nichols 2f8d09c651 Change Hashtbl.clear to Hashtbl.reset
6 years ago
Radu Grigore 4ce3ff944d [topl] Avoid side-effects when Topl is inactive.
6 years ago
Radu Grigore a6edb94450 Biabduction prover now logs inconsistency reason.
6 years ago
Jules Villard 7f12ced394 [pulse] move to SIL proper
6 years ago
Nikos Gorogiannis 97c41120ae [buck/java2] eliminate project root config flag
6 years ago
Artem Pianykh 33424c12ac [infra] Fix deadcode check target
6 years ago
Dino Distefano 571ae7774a Extended check on n-th parameter to cpp method calls
6 years ago
Artem Pianykh 9d9df458b6 [infra] Add Config.execution_id and log it to scuba as a normal
6 years ago
Artem Pianykh 046132b4c5 [infra] Collect low-prio logs during execution and flush them to Scuba at the end in one go
6 years ago
Radu Grigore 3de7acada4 [topl] tiny fixes to tracing output
6 years ago
Radu Grigore 10d87eec4e [topl] Simple error reporting.
6 years ago
Mehdi Bouaziz 0efd8960e1 [Tenv] Maximum sharing
6 years ago
Radu Grigore 384b3c5798 Assert that there is at most one flowgraph per procedure name.
6 years ago
Mehdi Bouaziz 5f8514a8c2 [sqlite] Normalize blobs used for comparison
6 years ago
Ezgi Çiçek 2db1a3b8e3 [cost,inferBo] Add models for Collections.unmodifiable* getters
6 years ago
Jules Villard f43544598b [oops] unbreak unit tests
6 years ago
Jules Villard 04233ee49b [clang] destroy C++ temporaries
6 years ago
Jules Villard 0592bac25e [pulse] explain SIL logical variables in terms of program access paths
6 years ago
Jules Villard c9f4768be7 [pulse] move to SIL
6 years ago
Jules Villard 695b493b56 [pulse] move [PulseTrace] inside [PulseDomain]
6 years ago
Mehdi Bouaziz b03aeb49c2 [eradicate] remove the constant flag only_keep_intersection
6 years ago
Jules Villard 512b42ece7 [pulse] move PulseInvalidation inside PulseDomain
6 years ago
Jules Villard 457b017343 [pulse] more general graph visitor API
6 years ago
Ezgi Çiçek fedb8e5136 [infer] Cleanup preanalysis
6 years ago
Nikos Gorogiannis 013d153538 [buck/java2] hashcons the global tenv during merging
6 years ago
Nikos Gorogiannis 8776a31f7d [infer][buck capture] kill dead code
6 years ago
Ezgi Çiçek 898dd104c8 [cost] Invoke Cost issues only once
6 years ago
Ezgi Çiçek 0f43930f40 [cost] Refactor cost issue types and enable detecting allocation complexity increase on cold start
6 years ago
Jules Villard 6f5cb512db [pulse] add example of FN in const-ref-bound temporary
6 years ago
Jules Villard e14809baa8 [pulse] fix temporaries test code
6 years ago
Jules Villard 21f66dd197 [pulse] do not model `operator=` as assignment
6 years ago
Jules Villard ab427fd3f3 [clang] cache of names of C++ temporaries
6 years ago
Jules Villard a9a7239831 [clang] split `inject_destructors` into two functions
6 years ago
Jules Villard db800f138b [clang] rewrite scope computations
6 years ago
Jules Villard eaa5c32432 [clang] some more debug info
6 years ago
Jules Villard c3d55817b1 [pulse] another test for temporaries
6 years ago
Jules Villard 696731523d [pname dispatcher] more permissive templated function match
6 years ago
Dino Distefano 472f155a7a Improved rule on block capturing CXX Reference
6 years ago
Ezgi Çiçek be85296759 [frontend] Move Preanalysis to frontend so that it is run always
6 years ago
Josh Berdine cfc1c8be36 [copyright] Remove years
6 years ago
Josh Berdine 5b190629bf [copyright] Change to copyright headers without years
6 years ago
Nikos Gorogiannis 7904ca31c0 [scheduler] consume all updates each time
6 years ago
Ezgi Çiçek d2eb3c8cc6 [inefficient-keyset-iterator] New checker for finding inefficient keySet iterator
6 years ago
Nikos Gorogiannis 733a29e44b [buckjava2] Move genrule capture integration logic from shell to OCaml
6 years ago
Radu Grigore d86e2f0d1c [topl] Generate monitor.
6 years ago
Radu Grigore 047c64c528 [topl] Instrument SIL.
6 years ago
Ezgi Çiçek 6f422fb78f [cost] Modify error message to include trace and constructor information
6 years ago
Ezgi Çiçek 99bc7363bf [cost] Suppress reports on Java access methods
6 years ago
Nikos Gorogiannis d3cf79a095 [buckjava2] integration
6 years ago
Nikos Gorogiannis bc61543875 [buckjava2] refactor
6 years ago
Nikos Gorogiannis 768e2b0332 [tests] stop sharing the root buck repo in java tests
6 years ago
Nikos Gorogiannis 66c45a7f54 [logging] don't clobber progress bar with call graph schedule
6 years ago
Ezgi Çiçek 19b445e00c [cost] Add PERFORMANCE_VARIATION FP test for Java access methods
6 years ago
Ezgi Çiçek 19eac53f0e [cost] Add models for Collections.max/min
6 years ago
Jules Villard 33ae8bae02 [inferbo] silence firing assert
6 years ago
Jules Villard a3d8b9c4a4 [clang][oops] restore previous functionality
6 years ago
Ezgi Çiçek 0ef038332d [purity] More models for Java Map
6 years ago
Jules Villard d00b31f48c [clang] also skip blacklisted flags when passed as -flag=arg
6 years ago
Radu Grigore 16431f5015 When writing debug HTML, don't crash on procs with empty bodies.
6 years ago
Martin Trojer f05d98321a only add --blacklist-regex flag in buck mode
6 years ago
Ezgi Çiçek bb9f44dee2 [cost] Fix and refactor cost models
6 years ago
Ezgi Çiçek 99eda7e3a8 [inferbo,cost] Fix java arrays
6 years ago
Ezgi Çiçek 5b2a36409c [inferbo] Add models for org.json.JSONArray
6 years ago
Ezgi Çiçek 98ecc13a5e [inferbo,cost] Add models for java.util.Arrays and java.util.List
6 years ago
Martin Trojer 90a1324ed3 make blacklisted clang flags configurable
6 years ago
Dino Distefano 24728dc093 New ObjC checker for calls to @optional methods
6 years ago
Nikos Gorogiannis 88d31a7a21 [infer][tests] avoid races in less hacky way
6 years ago
Peter O'Hearn 9b8a908ad3 [Pulse] model folly delayed destruction
6 years ago
Jules Villard 1a19cd5e2d [clang] change `offsetof()` test
6 years ago