6765 Commits (e99295e0e9c8e76c184444c1829aa51f31b8c515)

Author SHA1 Message Date
Sungkeun Cho 100807ed2a [inferbo] Do not prune values with bottom
5 years ago
Sungkeun Cho f19e6d3c27 Revive llvm_sil.ml
5 years ago
Sungkeun Cho 3c29685667 [infer] Find dead module (.ml file)
5 years ago
Ezgi Çiçek dcb3ab1288 [inferbo] Remove dangling file
5 years ago
Mitya Lyubarskiy e334647db8 [nullsafe] More thorough documentation for contract annotations.
5 years ago
Sungkeun Cho 046e392f3a [infer] Add --continue-analysis option
5 years ago
Artem Pianykh bcaa0e0dfe [nullsafe] Add tests on interop between third-party vs other in various modes
5 years ago
Artem Pianykh 9697c6e294 [nullsafe] Fix treatment of enum values wrt nullsafe mode
5 years ago
Artem Pianykh 2572819a5b [nullsafe] Directly model nullability of values from third-party code
5 years ago
Artem Pianykh b50f13eb18 [nullsafe] Support Nullsafe(Local, trust=all/none) mode
5 years ago
Nikos Gorogiannis 43b3ef60f8 [db][procname] kill dead optional argument
5 years ago
Ezgi Çiçek ec950666a0 [infer] rely on driving for Procdesc.Node.equal_id
5 years ago
Mitya Lyubarskiy 8e1e15a8c4 [nullsafe] Fix genrule test
5 years ago
Mitya Lyubarskiy c38c2cf1bf [nullsafe][EASY] Add period at the end of dereference message when origin is present
5 years ago
Nikos Gorogiannis 281385203f [biabduction] kill guarded by check
5 years ago
Jules Villard 317a74ffee [nullsafe] show state after each instruction in debug HTML
5 years ago
Nikos Gorogiannis c10c7a39a6 [java] use a package/classname record for java classes instead of string
5 years ago
David Pichardie 64289cde4d [Java frontend]Javalib's lambda rewritting is making his way through Infer
5 years ago
Fernando Gasperi Jabalera 865691b535 [scheduler][restart] Use symlinks as locks in ProcLocker
5 years ago
Mitya Lyubarskiy 75e52f1f1b [nullsafe] Improve documentation for @Initializer annotation
5 years ago
Mitya Lyubarskiy 8ab9a7e14e [nullsafe] Don't emit Field Not Initialized warnings on @JsonField-annotated fields
5 years ago
Sungkeun Cho 175af05b8b [inferbo] Add model of vector resize
5 years ago
Nikos Gorogiannis ace23a1670 [java] use plain strings instead of mangled for JavaClassName
5 years ago
Nikos Gorogiannis a85dfe6af4 [java] get type name directly from procname
5 years ago
Ezgi Çiçek 8e3f9dd32e [cost] Pass proc_name around rather than recomputing
5 years ago
Sungkeun Cho 9562ab4d68 [inferbo] Suppress integer overflow in hash functions
5 years ago
Ezgi Çiçek ceb50cdf0e [cost] Adjust cold-start loom query
5 years ago
Fernando Gasperi Jabalera bf210844d9 Log the scheduler and cores used as part of the environment
5 years ago
Sungkeun Cho 72a061d101 [infer] Fix `make deadcode`
5 years ago
Nikos Gorogiannis c51db130fc [driver] don't clear MAKEFLAGS
5 years ago
Mitya Lyubarskiy d9595181f7 [nullsafe] Ignore autogenerated fields when issuing Field Not Initialized
5 years ago
Sungkeun Cho 4311371d81 [inferbo] Revise split model semantics
5 years ago
Sungkeun Cho 23ee36e44e [inferbo] Move Split modules to next of StdVector
5 years ago
Sungkeun Cho 35491c73a8 [inferbo] Refactor the parameter of checker
5 years ago
Sungkeun Cho bb625c6ca8 [infer] Use let* instead of let%bind
5 years ago
Jules Villard 826fd8a999 [pulse] monad, monads everywhere
5 years ago
Jules Villard 72f560036d [pulse] formal/actual length mismatch is a contradiction
5 years ago
Dulma Churchill 58913e6a1c [Infer] Dedup reports of weakSelf in Noescape block
5 years ago
Dulma Churchill 00c52a52c2 [Infer] Dedup the reporting of Captured StrongSelf
5 years ago
Dulma Churchill f6341977fb [Infer] Dedup reports of strongSelf Not checked
5 years ago
Sungkeun Cho 22601846b2 [inferbo] Add model of emplace_back
5 years ago
Artem Pianykh b41064149b [syntax] Add let binding syntax to IOption
5 years ago
Artem Pianykh 44f41d2929 [infer] Extend annotation framework to handle wider variety of param types
5 years ago
Nikos Gorogiannis ddfa6fc96e [scheduler][callgraph] use counter instead of set of scheduled procs
5 years ago
Nikos Gorogiannis a44e138dd4 [scheduler][callgraph] use a queue for graph leaves instead of a list
5 years ago
Nikos Gorogiannis 757f6ee829 [scheduler][static callgraph] remove lazy init now that it's enforced in ProcessPool
5 years ago
Ezgi Çiçek 7f8ce501d0 [purity] Remove duplicated/unnecessary code
5 years ago
Sungkeun Cho 5b0fd3af6f [inferbo] Distinguish unreachable and error status
5 years ago
Jules Villard 2c5a297636 @allow-large-files [ocaml] upgrade core to v13
5 years ago
Jules Villard 66361961b6 [ocaml] more Not_found_s
5 years ago
Jules Villard a684a1edf0 [ocaml] preparations for core v13
5 years ago
Jules Villard bc50a8e724 [inferbo] no polymorphic max in [degree_with_term]
5 years ago
Jules Villard b7f42759cf [ocaml] aliasing sexp_{list,option} doesn't work anymore
5 years ago
Dulma Churchill 51c713adf2 [SelfInBlock] Improve the error message of stronSelf Not checked
5 years ago
Radu Grigore f8511c2358 [topl] Added another small test, for BAOS.
5 years ago
Radu Grigore c2161f3c28 [topl] Minor: debug message more accurate.
5 years ago
Sungkeun Cho b9db4fa4b9 [inferbo] Add model for C++ exception throw
5 years ago
Sungkeun Cho 412e8a977c [inferbo] Add model for std::shared_ptr<>::operator->
5 years ago
David Pichardie 2cccf8adce Invokedynamic removing by class file rewriting
5 years ago
Sungkeun Cho ca04002f6c [inferbo] Revise finding constructors on std::make_shared
5 years ago
Fernando Gasperi Jabalera e2f837c81e [scheduler] Instrument ProcLocker to record its systime
5 years ago
Mitya Lyubarskiy bd166a244f [nullsafe][easy] fix the wrong comment about order of arguments in `instanceof`
5 years ago
Sungkeun Cho 92e7aeeb3e [infer] Fix clang frontend for switch statment
5 years ago
Dulma Churchill a864823f38 [SelfInBlock] Fix a bug in exps_of_instr where some expressions were missed.
5 years ago
Dulma Churchill 682f8c5355 [SelfInBlock] Add the procname to the is_no_escape_block flag to improve the error message of the weakSelf In Noescape block check
5 years ago
Nikos Gorogiannis 6076e22f18 [racerd] improve handling of summaries of synchronized methods
5 years ago
Sungkeun Cho f6123cfac1 [inferbo] Make taint analysis inter-procedural
5 years ago
Mitya Lyubarskiy 597c730474 [nullsafe] Treat parameter in overrides of `equals(Object param)` as nullable.
5 years ago
Mitya Lyubarskiy ae907d80cf [nullsafe] Model Object.equals() and descentands as FalseOnNull
5 years ago
Mitya Lyubarskiy 79d088e676 [nullsafe][EASY] functions that are modelled as @TrueOnNull should be also modelled for nullability.
5 years ago
Mitya Lyubarskiy 067a545c0e [nullsafe] Fix a bug and specify behavior for multiparam version for @TrueOnNull and @FalseOnNull annotations
5 years ago
Mitya Lyubarskiy 5bee0858c6 [nullsafe][refactor] Simplify logic for the method handling PRUNE instruction
5 years ago
Fernando Gasperi Jabalera b212c4e20d [schedulers] Lazy initialization to avoid fork copies
5 years ago
Mitya Lyubarskiy 7b502d863c [nullsafe][refactor] Simplify and rename a function.
5 years ago
Mitya Lyubarskiy 2001d39e9a [nullsafe][refactor] Simplify and document code processing particular part of prune instruction
5 years ago
Mitya Lyubarskiy a55179ba80 [nullsafe][refactoring] Simplify call to condition_redundant checks.
5 years ago
Mitya Lyubarskiy a4a4b92690 [nullsafe][refactor] TypeState.ml cleanup: Remove uneccessary calls
5 years ago
Mitya Lyubarskiy eded9141d9 [nullsafe][refactor] Clean up code responsible for manipulations with `containsKey()`
5 years ago
Dulma Churchill 7631d34f43 [SelfInBlock] Refactor the reporting to run only once over the domain
5 years ago
Nikos Gorogiannis a6da208e9d [starvation] use access expressions instead of access paths
5 years ago
Ezgi Çiçek b5562f124a [cost] Disable reporting of allocation costs
5 years ago
Sungkeun Cho cf6073a60c [inferbo] Check tainted value is used in array accesses or malloc
5 years ago
Sungkeun Cho f94990a0c2 [inferbo] Add taint domain
5 years ago
Dulma Churchill af380708aa [SelfInBlock] Fixing bugs in checking nullable annotation when reporting strongSelfNotChecked
5 years ago
Ezgi Çiçek 239a5302f6 [pulse] Add more models for Java
5 years ago
Fernando Gasperi Jabalera 0b22fbb01b Fix RestartSchedulerTests
5 years ago
Mitya Lyubarskiy 43e857ccb3 [nullsafe][easy] Break CustomAnnotations.java into two subtests
5 years ago
Mitya Lyubarskiy 95d0e49c62 Rename is_override to has_same_signature to correctly reflect behavior
5 years ago
Sungkeun Cho 4a08151851 [cost] Non-symbolic value for unknown external function call
5 years ago
Ezgi Çiçek 040442c93b [pulse] Don't write through pointer arguments in Java
5 years ago
Nikos Gorogiannis 777eb33870 [racerd] use concurrent context for reporting in C++/ObjC
5 years ago
Sungkeun Cho 5510223850 [infer] Get rid of the is_cpp_nothrow field and is_cpp_noexcept_method
5 years ago
Fernando Gasperi Jabalera ce32a1b917 [scheduler] [restart] Implement the ProcLocker
5 years ago
Nikos Gorogiannis 9648632bd5 [clang] Revert "Translate SynchronizedStmt"
5 years ago
Nikos Gorogiannis 1a0c73ab99 [starvation] decouple AbstractAddress from starvation
5 years ago
Ezgi Çiçek d84a9e0c1c [inferbo][cost] Generalize String models and add models for StringBuilder
5 years ago
Ezgi Çiçek 6a38121b8a [inferbo] Add model for String.substring
5 years ago
Ezgi Çiçek c51f47b05e [inferbo] Revise Java's String constructor models
5 years ago
Jules Villard 81e3dc5069 [HIL] do not crash on confusing function call expressions
5 years ago
Sungkeun Cho 9d9cbdc3d6 [inferbo] Cache results of `replace_make_shared` call
5 years ago
Sungkeun Cho 7f25684491 [inferbo] Check nested global array access
5 years ago
Sungkeun Cho f8ee0a14aa [inferbo] Give semantics of std::make_shared as simple constructor
5 years ago
Dulma Churchill 63428e7b69 [SelfInBlock] Check for when weakSelf is used in a no escaping block
5 years ago
Dulma Churchill 05ea5ec844 [clang frontend] Add support for the clang attribute NS_NOESCAPE for Objective-C blocks in Sil
5 years ago
Artem Pianykh 4f4455b73c [compilation] Turn on more warnings; make 'partial match' fatal
5 years ago
Artem Pianykh c735b6f0a5 [nullsafe] Introduce NullsafeMode as a replacement for `is_strict_mode`
5 years ago
Dulma Churchill 355ff5c202 [clang frontend] Refactor block_data into a record
5 years ago
Ezgi Çiçek 43a99745b6 [infer] Get rid of verbose Typ.mk Tvoid
5 years ago
Artem Pianykh 17c5f5c424 [build] Update to dune 2
5 years ago
Nikos Gorogiannis b2dc55ce0a [starvation] extract lock module
5 years ago
Ezgi Çiçek 9f4098ea1a [cost] Revise substring's cost model
5 years ago
Nikos Gorogiannis 21cff2d659 [starvation] substitute arguments over parameters in locks
5 years ago
Nikos Gorogiannis 07e91cabf7 [starvation] no inner class normalisation for java
5 years ago
Artem Pianykh ea3cbae757 [nullsafe] Rename nullability variants
5 years ago
Fernando Gasperi Jabalera c0a990c47c [scheduler] [restart] Reschedule incomplete tasks
5 years ago
Mitya Lyubarskiy 8199ed1555 [nullsafe] Add `nullsafe_FIXME` method to suppress nullability issues.
5 years ago
Mitya Lyubarskiy 964a11ae23 [nullsafe] Documentation and minor code cleanup around models for `checkNotNull`
5 years ago
Mitya Lyubarskiy 21395b444b [nullsafe] Documentation and reorder methods in `Assertions`
5 years ago
Dulma Churchill 9dfd1943e6 [selfInBlock] Remove false positive from mix self weakSelf
5 years ago
Artem Pianykh 237aac4cd0 [nullsafe] Introduce @Nullsafe annotation
5 years ago
Ezgi Çiçek 4677584018 [pulse] Remove map suffix from SkippedCalls
5 years ago
Ezgi Çiçek a0fd5a0e6a [pulse] Refactor attributes into domain
5 years ago
Nikos Gorogiannis 72a7a0eaab [racerd] use typenames instead of strings in class map
5 years ago
Ezgi Çiçek 7c94ce8cd4 [cost] Fix nb_node_exec
5 years ago
Mitya Lyubarskiy 897e3fa8af Remove FB-ONLY from publicly visible files
5 years ago
Fernando Gasperi Jabalera b8e6bb70b9 Add ProcLocker with a dummy implementation
5 years ago
Ezgi Çiçek 7cb11b587a [inferbo] Revise String.split's bounds
5 years ago
Jules Villard b948c3e182 [topl] delete unused test file
5 years ago
Dulma Churchill b1eb969635 [selfInBlock] Add a new check when strongSelf is captured in a (sub)block.
5 years ago
Mitya Lyubarskiy 19bc35d836 [nullsafe] Make condition redundant slightly less aggressive
5 years ago
Mitya Lyubarskiy 327aa001c3 [nullsafe] Propagate type origin to condition redundant type error
5 years ago
Nikos Gorogiannis ecea3ecb93 [ondemand] only provide procnames to cluster callbacks
5 years ago
Nikos Gorogiannis c878aa6135 [ondemand] remove type environments from cluster callbacks
5 years ago
Dulma Churchill edc47d4a96 [selfInBlock] Handle conditionals as well as ifs
5 years ago
Dulma Churchill 430727519b [clang frontend] Translate BinaryOperators in ifs equally whether they are part of a ExprWithCleanups or not
5 years ago
Nikos Gorogiannis 5a1641d319 [racerd] kill non-deterministic test
5 years ago
Dulma Churchill 66c6a73cc6 [SelfInBlock] Report strongSelf Not Checked when strongSelf passed to a function as argument
5 years ago
Dulma Churchill 05bd4185e0 [SelfInBlock] Reporting strongSelf Not Checked only in field access
5 years ago
Fernando Gasperi Jabalera 11300370ed Add task_result type for scheduler analysis tasks
5 years ago
Radu Grigore fe736f4151 [topl] Added two (test) properties for ServletResponse.
5 years ago
Radu Grigore 6e6a33cd01 [topl] Added a test for ByteArrayOutputStream.
5 years ago
Artem Pianykh fe1fd57593 [nullsafe] Add a test for subclass annotation with multiple interfaces
5 years ago
Jules Villard a8b2c58bfb [pulse] new option to turn pulse back into an intra-procedural analysis
5 years ago
Martin Trojer 764b2229db [buck] also use the converted compdb paths before parsing
5 years ago
Martin Trojer 9e0922c269 [buck] Use project_root as base for compilation data file instead of cwd
5 years ago
Ezgi Çiçek d673bb0073 [cost] Move cost to its own realm and refactor
5 years ago
Nikos Gorogiannis f8e0a148d1 [starvation] simplify deadlock dedup
5 years ago
Mitya Lyubarskiy cf26c024bf [nullsafe] Specific error message for overriding Object.equals()
5 years ago
Ezgi Çiçek 2e8fc68080 [cost] Add mli file for CostDomain
5 years ago
Mitya Lyubarskiy d641c9ac9a [nullsafe] Better error message for inheritance rule, part 2
5 years ago
Sungkeun Cho c93c3163d6 [inferbo] Get global constant array values from initializers
5 years ago
Nikos Gorogiannis 4e45a62d3c [starvation] fix inner class tests
5 years ago
Nikos Gorogiannis 895ac9c41c [starvation] MayBlock and StrictModelCall events should take procname, not string
5 years ago
Nikos Gorogiannis 5ba13ae6a0 [starvation] improve debugging by consistently using pp vs describe
5 years ago
Nikos Gorogiannis 279f1c85ce [racerd] abbreviate procnames in report text
5 years ago
Ezgi Çiçek dd59a141f0 [impurity] Rely on set of skipped functions to determine impurity
5 years ago
Ezgi Çiçek 426b7dfe51 [pulse] Track skipped functions
5 years ago
Mitya Lyubarskiy eddf2ef180 [nullsafe] Better error message for inheritance rule
5 years ago
Sungkeun Cho 67a4b73cd0 [inferbo] Revise bit-and semantics on pointer value
5 years ago
Sungkeun Cho 2287910968 [inferbo] Precise unknown value depending on type
5 years ago
Ezgi Çiçek 95bf0d3c98 [impurity] Read pulse from Payload
5 years ago
Ezgi Çiçek a28ccbb180 [purity] Add pure frontend functions
5 years ago
Ezgi Çiçek 5b86031798 [frontend] Move clang constants to Procname
5 years ago
Sungkeun Cho 3de92484df [inferbo] Refactoring: move get_formals type definition
5 years ago
Jules Villard 3bf771bff4 [pulse] add model for std::vector<>::at()
5 years ago
Fernando Gasperi Jabalera 83cff5e435 Use Procnames as schedule units in the RestartScheduler
5 years ago
Ezgi Çiçek b12f1cb09c [dune] Add dune build @check
5 years ago
Nikos Gorogiannis 45ada8703e [starvation] allow aliasing of parameters across threads
5 years ago
Sungkeun Cho 97ba078d55 [inferbo] Revise getting size of array block
5 years ago
Ezgi Çiçek 61b83c037d [purity] Simplify should_report
5 years ago
Nikos Gorogiannis 8d0f6820ca [starvation] standardise extraction of access expressions
5 years ago
Radu Grigore bfdb379fe3 [topl] Added a test, for intraprocedural reasoning.
5 years ago
Mitya Lyubarskiy 696c0e8b09 [nullsafe] Introduce a flag for conditionally disabling field not initialized issue
5 years ago
Mitya Lyubarskiy 715227d126 [nullsafe] Show Strict mode violations as errors: part 3
5 years ago
Mitya Lyubarskiy 6417b19ace [nullsafe] Show violations of @NullsafeStrict mode as errors: Part 2
5 years ago
Jules Villard 9199aa4b24 [topl] split tests
5 years ago
Mitya Lyubarskiy be05c8a7dd [nullsafe] Show Strict mode violations as errors: part 1
5 years ago
Nikos Gorogiannis c5a8f2e454 [starvation][whole-program] gate analysis of constructors
5 years ago
Fernando Gasperi Jabalera 4322701ecf Use a queue to handle tasks in the RestartScheduler
5 years ago
Artem Pianykh 592c746e6b [java] Make override resolution consider parameter types
5 years ago
Jules Villard 9b84d8b4f2 [buck] do not merge empty report.json files
5 years ago
Jules Villard 0c093d6289 [java] kill --specs-library
5 years ago
Jules Villard 8a13fd4e5a [buck] kill python code for the dead Java integration
5 years ago
Jules Villard 4b4183b402 [buck] stop supporting the pre-genrule Java integration
5 years ago
Sungkeun Cho 322eee5bf7 [inferbo] Suppress trace print
5 years ago
Fernando Gasperi Jabalera e6069f3ef7 Create RestartScheduler
5 years ago
Artem Pianykh 774223165c [tests] Use git diff instead of diff to colorize `make test` output
5 years ago
Artem Pianykh 9aebdd242f [tests] Don't fail duplicates check when running java tests
5 years ago
Sungkeun Cho 1305db390a [infer] Load global array constant
5 years ago
Sungkeun Cho 9b1001eda2 [litho] Make analysis null return aware
5 years ago
Sungkeun Cho 16f18792f1 [infer] Capture global initializer ondemand
5 years ago
Nikos Gorogiannis a79a819679 [typ][javaclass] abstract typename
5 years ago
Fernando Gasperi Jabalera 87b29a2d72 Add --scheduler option
5 years ago
Nikos Gorogiannis b8d51b0493 [starvation] use root component in lock order
5 years ago
Ezgi Çiçek 6637557781 [inferbo] Add models for Preconditions.checkNotNull and Preconditions.checkState
5 years ago
Nikos Gorogiannis 32639d6ebc [racerd] assume unknown code returns owned objects
5 years ago
Ezgi Çiçek a187d1b0b6 [pulse] Fix unequal length
5 years ago
Mitya Lyubarskiy f77c90a1f1 [nullsafe] Add a test for `switch` case
5 years ago
Kfir Schindelhaim 16391f6d63 Update CK fixtures
5 years ago
Kfir Schindelhaim 33b3ea8b10 Update CK linter for subclasses
5 years ago