7119 Commits (5190f12cc1ec529dabdedab5468d6b1a25e2f428)

Author SHA1 Message Date
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
Ezgi Çiçek 6f64131ae6 [pulse] Do not havoc arguments of unknown functions that are pointers to const
5 years ago
Nikos Gorogiannis 9d70339b61 [starvation] ignore unary ops in lock paths
5 years ago
Ezgi Çiçek 12dcede3e9 [litho] Use read_full
5 years ago
Sungkeun Cho 6cc7926e23 [inferbo] Use Ondemand.get_proc_desc
5 years ago
Nikos Gorogiannis 89f6390e76 [starvation] make lock type more explicit
5 years ago
Fernando Gasperi Jabalera 3cb287bc63 Rename TaskScheduler module as FileScheduler
5 years ago
Sungkeun Cho 4371a2c2f0 [cost][inferbo] Refactor to use Payload.read/read_full
5 years ago
Nikos Gorogiannis 2e419c6110 [starvation] make lock type abstract
5 years ago
Nikos Gorogiannis ca1ba2511b [starvation] tests for a multi-file C++ deadlock
5 years ago
Sungkeun Cho 0b7e479b34 [cost] Use actual call path when printing unknown function calls
5 years ago
Ezgi Çiçek 4cd595aebd [pulse] Add naive model for array length in Java
5 years ago
Nikos Gorogiannis cbf068d1a0 [racerd] remove redundant check
5 years ago
Sungkeun Cho 0e8ff74819 [inferbo] Refactor functions getting summary
5 years ago
Sungkeun Cho 4ddf46268f [infer] Create missing result directories
5 years ago
Artem Pianykh 59c6967e64 [nullsafe] Redo InconsistentSubclassAnnotation tests
5 years ago
Ezgi Çiçek 598a4d5a55 [pulse] Ignore Exceptional CF
5 years ago
Jules Villard cc0a4e807a [buck] no more tests for the deprecated java integration
5 years ago
Jules Villard e4dd2bbd8c [buck] one buck mode datatype to rule them all
5 years ago
Sungkeun Cho b49f39b80e [cost] Add a cost model
5 years ago
Jules Villard 1c2aad9228 [driver] --merge should force merging in all cases
5 years ago
Jules Villard 6d952eb3e2 [buck] always merge tenvs regardless of mode
5 years ago
Jules Villard c3688b75e6 [man] fix wrong section for --capture-blacklist
5 years ago
Jules Villard f98045a9a8 [driver] no need for `Driver.equal_mode`
5 years ago
Sungkeun Cho 73029bbf2e [AL] Fix ctl parser conflicts
5 years ago
Jules Villard dd2c505890 [processpool] handle BoJo case
5 years ago
Ezgi Çiçek cb9bb2a73c [pulse] Add simplified models for Java iterators and `Object.equals`
5 years ago
Sungkeun Cho 3d087ff5e5 [inferbo] Update relation between iterator and integer value on Call
5 years ago
Sungkeun Cho 7e3275dcc8 [inferbo] Add relation between iterator and integer value
5 years ago
Nikos Gorogiannis 1dc2e8a87c [RFC][java] kill regexp-based line number fixer
5 years ago
Nikos Gorogiannis 91fa6a5404 [typ] extract Procname from Typ
5 years ago
Nikos Gorogiannis 33352623a5 [typ] extract Fieldname from Typ
5 years ago
Nikos Gorogiannis cef051dd1a [typ] extract Struct module
5 years ago
David Pichardie c1d4e57561 Cleaning in the Java Frontend
5 years ago
Radu Grigore 3554101ece [topl] Generate simpler monitor for deterministic states.
5 years ago
Radu Grigore c9699b9cd4 [biabduction] Do not join postconditions after the footprint phase.
5 years ago
Jules Villard 65d0d18326 [SIL] splitting off biabd stuff from SIL
5 years ago
Jules Villard bc799fc6cd [IR] `PredSymb.dangling_kind option` can be replaced by `bool`
5 years ago
Jules Villard 6c988160c1 [IR] kill unused `Sil.hpred` payload
5 years ago
Jules Villard 0cab96b43e [SIL] move some stuff to Pvar
5 years ago
Jules Villard 30b74413a5 [SIL] move some printing stuff to Exp
5 years ago
Jules Villard a6c8e7c98e [pp] move utility function from Sil to Pp
5 years ago
Sungkeun Cho 78ff7f7942 [litho] Distinguish builder object by latest callsite
5 years ago
Sungkeun Cho 805e3f17fc [litho] Do not remove non-build-called part at build calls
5 years ago
Ezgi Çiçek 01755ef48e [inferbo] Add model for String.split
5 years ago
Radu Grigore 6178d062b2 [topl] Minor comment improvement.
5 years ago
Radu Grigore 4f362ba977 [topl] Print debugging output on -g.
5 years ago
Radu Grigore 3e9d1bff16 [topl] Bugfix in matching constructor names.
5 years ago
Radu Grigore 7bfef217de [biabduction] Simplify postconditions after re-execution.
5 years ago
Radu Grigore 4654424b03 [topl] More biabduction-friendly monitor.
5 years ago
Radu Grigore b70a0f0b65 [topl] Optimize code instrumentation.
5 years ago
Ezgi Çiçek 5776d7cfab [litho] Report at created location with bold message
5 years ago
Radu Grigore cbb71c6203 [topl] Get number of arguments from property.
5 years ago
Radu Grigore 91ebfe9c20 [topl] Support side conditions for transitions.
5 years ago
Mitya Lyubarskiy acc20f3461 [nullsafe] model HashMap.put()
5 years ago
Mitya Lyubarskiy e1f0a2176e [nullsafe][EASY] correct the signature for Preconditions.checkNotNull()
5 years ago
Ezgi Çiçek be1fda72a8 [inferbo] Add model for `Collection.toArray`
5 years ago
Sungkeun Cho 5bdd70e8f0 [inferbo] Refactor some function names
5 years ago
Sungkeun Cho 822ea72978 [inferbo] Add mli files
5 years ago
Sungkeun Cho 396d1d20ce [inferbo] No phantom field in inferbo
5 years ago
Sungkeun Cho 831b487b6a [inferbo] Add bufferOverrrunSemantics.mli
5 years ago
Ezgi Çiçek 0b5d7b71cb [inferbo] Add model for load of java.util.Collections.EMPTY_*
5 years ago
Ezgi Çiçek 12478e1238 [inferbo] Add models for Java Collections
5 years ago
Mitya Lyubarskiy 9285c51dfa [nullsafe] Enum values can be used as non-null without strictification
5 years ago
Martin Trojer 7c22d4169d Add project-root to buck targers when looking for infer-deps.txt
5 years ago
Sungkeun Cho 387ef518f9 [inferbo] Revert external relational domains (apron, elina)
5 years ago
Ezgi Çiçek ada1d6f3c7 [litho] Add create method to the trace and simplify trace printing
5 years ago
Ezgi Çiçek 1e1d40b460 [litho] Remove functor that is instantiated once
5 years ago
Ezgi Çiçek 9ed9363207 [litho] Remove receiver from MethodCallPrefix
5 years ago
Ezgi Çiçek 38421e2735 [litho] Remove old domain
5 years ago
Nikos Gorogiannis e42bd8cd6c [typ][fieldname] further reduce and improve interface
5 years ago
Nikos Gorogiannis 59a95b316c [typ][fieldname] simplify and streamline interface
5 years ago
Nikos Gorogiannis c45b55bff1 [typ][fieldname] unify clang and java fieldname types
5 years ago
Nikos Gorogiannis 2c44035297 [typ][fieldname] eliminate uses of Java.from_string
5 years ago
Sungkeun Cho bc5f740945 [infer] make deadcode is back
5 years ago
Sungkeun Cho 6fb2a94f57 [litho] Not ignore location
5 years ago
Ezgi Çiçek c2b59f0f5f [litho] Add tests
5 years ago
Artem Pyanykh 25ccef697a [infer][PR] Release infer annotations 0.17.1
5 years ago
Sungkeun Cho 1f64acf3de [litho] Moved is_build_called and added is_return_called
5 years ago
Jules Villard 49fb5b7c85 [pulse] do arithmetic on pointers too
5 years ago
Ezgi Çiçek 47c89611a5 [litho] Remove GraphQL ShouldUpdate analysis
5 years ago
Nikos Gorogiannis 8ed2c77187 [logging] conditionally log contents of argument files in environment
5 years ago
Nikos Gorogiannis ce39017611 [typ][fieldname] make java representation more sharing friendly and typesafe
5 years ago
Mitya Lyubarskiy 9b8334f895 [nullsafe] Model com.facebook.common.Preconditions
5 years ago
Jules Villard 9366c94bbc [pulse] avoid false positives involving `folly::fbstring`
5 years ago
Jules Villard 0a59e83190 [pulse] debug info about contradictions
5 years ago
Jules Villard e06a43a677 [pulsebo] use inferbo more in summaries
5 years ago
Jules Villard 1bde1ef0f0 [pulse] use inferbo's prune in `PRUNE` nodes
5 years ago
Jules Villard fd9d963b1c [inferbo] generalise `prune_comp` to `prune_binop`
5 years ago
Nikos Gorogiannis 6edf037659 [starvation] treat precondition calls as assumes
5 years ago
Nikos Gorogiannis b994fa7f70 [starvation] add path sensitivity on Future.isDone
5 years ago
Sungkeun Cho dc85213813 [litho] Analyze child using its code and summary
5 years ago
Sungkeun Cho 2835468df9 [litho] Add substitution at function calls
5 years ago
Sungkeun Cho 251d648f0c [litho] Add callees formal information to extras
5 years ago
Nikos Gorogiannis b012bb9435 [racerd] ownership of contained objects should be that of container
5 years ago
Jules Villard 6a8a811e69 [pulse][minor] simplifications in PulseOperations pruning
5 years ago
Jules Villard dd5adb9791 [pulse] add inferbo information to models
5 years ago
Jules Villard 17bef4bd31 [SIL][trivial] rename `text` -> `to_string` and delete useless comments
5 years ago
Jules Villard a42e15147b [pulse] fix test for by-ref automatic initialisation
5 years ago
Ezgi Çiçek f4d3513724 Revert "[litho] Check and report on all nodes where return calls"
5 years ago
Ezgi Çiçek 776d4bf97d [litho] Change the domain
5 years ago
Ezgi Çiçek bdd4664177 [litho] Ignore location in CreatedLocation
5 years ago
Jules Villard eb52b28f91 [pulsebo] use inferbo in prunes
5 years ago
Jules Villard d9f5d8779b [pulsebo] more binary operators
5 years ago
Jules Villard 2316608b85 [pulsebo] Bottom intervals cannot appear in an abstract state
5 years ago
Jules Villard 70fc1ab44a [pulse] eval unops using inferbo
5 years ago
Ezgi Çiçek 61f5a2f157 [litho] Add a FN test
5 years ago
Sungkeun Cho fc3110f651 [litho] Use another method call type that compare only prefix
5 years ago
Ezgi Çiçek ca8396d9bc [litho] Add new tests for new litho domain
5 years ago
Ezgi Çiçek e356ae2b01 [litho] Treat inter-proc calls as no-op for now
5 years ago
Ezgi Çiçek cff85799de [litho] MethodCalls comparison shouldn't take receiver into account
5 years ago
Sungkeun Cho 5f77a3c1a5 [litho] Check and report on all nodes where return calls
5 years ago
Nikos Gorogiannis 9df0c678de [starvation][whole-program] more models
5 years ago
Ezgi Çiçek 9c1bef41e7 [litho] Make MethodCall comparison oblivious to prop suffixes
5 years ago
Sungkeun Cho 668969a3c2 [frontend] Do not die when selector is unknown in objc boxed expr
5 years ago
Ezgi Çiçek 07cef38d1f [litho] Track Typ.name of create methods
5 years ago
Sungkeun Cho 47790ed496 [litho] Add prop check in the new domain
5 years ago
Sungkeun Cho 5514238f45 [litho] Add domain for a model called
5 years ago
Sungkeun Cho 060a0914ba [litho] Add a domain for created locations
5 years ago
Sungkeun Cho f16534f390 [litho] Add dummy memory type
5 years ago
Jules Villard bf0d1d8861 [uninit] do not spam spurious error
5 years ago
Jules Villard 85659d8852 [ocaml] 4.08.1
5 years ago
Nikos Gorogiannis 9941a16e98 [starvation] model Thread.join as blocking
5 years ago
Nikos Gorogiannis 34899d3b8b [starvation] fix FPs due to mishandling wait
5 years ago
Dulma Churchill d00d8b3597 [AL] Allow to match typedefs and pointers.
5 years ago
Martin Trojer fbe1c92c17 clang9
5 years ago
Dulma Churchill f73671a5dd [test determinator] Matching on mangled C and C++ names
5 years ago
Nikos Gorogiannis 1c0e42bf3f [starvation][whole-program] static initializer attributes
5 years ago
Ezgi Çiçek 23b2dcf753 [required-props] Add more tests
5 years ago
Mitya Lyubarskiy 8582a782d9 [nullsafe] Support comments and empty lines in third party repo .sig files
5 years ago
Dulma Churchill f69d0992bc [self-in-block] Add new issue type MULTIPLE_WEAKSELF
5 years ago
Dulma Churchill 431a9beaf0 [self-in-block] Improving the error message for strong_self_not_checked
5 years ago
Josh Berdine 3c6e2469de [ocamlformat] Enable parsing and reformatting docstrings
5 years ago
Nikos Gorogiannis 0319dac803 [starvation][whole-program] fix buggy model
5 years ago
Sungkeun Cho aef3797837 [inferbo] Add arrayBlk.mli
5 years ago
Sungkeun Cho e7f4bb2453 [inferbo] Add missing mli: absLoc.mli
5 years ago
Nikos Gorogiannis ea645cceab [racerd] behave more angelically when dealing with certain methods without summary
5 years ago
Sungkeun Cho ab7c61b836 [inferbo] Extend bound domain to express multiplication of bounds
5 years ago
Sungkeun Cho 82db1c1350 [pulse] Share subst function of itv
5 years ago
Nikos Gorogiannis 7a538c5004 [starvation][whole-program] thread class
5 years ago
Nikos Gorogiannis aef34d8384 [starvation][whole-program] analyze constructors for initial attribute state
5 years ago
Nikos Gorogiannis 82a9f1ac65 [starvation][whole-program] Looper and Handler models and semantics
5 years ago
Artem Pianykh 6564dc9e2f [nullsafe] Add androidx.core.util.Preconditions.checkNotNull models
5 years ago
Jules Villard 9610ceb4b8 [pulse] substitute inferbo attributes in callee summaries
5 years ago
Dulma Churchill c9c4adebc2 [AL] Improve the predicate for checking visibility attribute and example rule for checking macro for category implementation
5 years ago
Dulma Churchill 48da570aa0 [AL] Introduce a way of binding the two witnesses of an AND formula
5 years ago
Jules Villard df49f318f6 [pulse] havoc formals passed by reference to unknown procedures
5 years ago
Jules Villard 32f60f3d3c [pulse] model the fact `free(0)` is a no-op
5 years ago
Jules Villard 3fbefbad34 [pulse] model some of `std::atomic`
5 years ago
Sungkeun Cho da849cc320 [pulse] Add binop arithmetic for BoItv
5 years ago
Sungkeun Cho 61ae040077 [pulse] Add bo_itv to pulse attributes
5 years ago
Mitya Lyubarskiy b41593acb7 [nullsafe] Specify "InferredNonnull" type origin even if it was already Nonnull
5 years ago
Dulma Churchill 75794301dc [AL] Refactor CTL formulas and debugger into separate modules
5 years ago
Dulma Churchill c3e16dbdbc [AL] Remove unused tableaux evaluation
5 years ago
Sungkeun Cho 81667f25ae [cost] Update issues.exp
5 years ago
Josh Berdine 2303cadb73 [ocamlformat] unbreak
5 years ago
Sungkeun Cho 8fa098474e [cost] Fix the model of substring
5 years ago
Ezgi Çiçek fb56f42716 [infer] Rename value to arg_payload in ProcnameDispatcher.Call.FuncArg
5 years ago
Ezgi Çiçek eb8c8af117 [pulse] Move models to ProcnameDispatcher style
5 years ago
Dulma Churchill 766fc2c072 [AL] Adding a new transition to siblings
5 years ago
Sungkeun Cho b15395ad60 [infer] Remove marker from procname dispatcher
5 years ago
Ezgi Çiçek 3d181bd831 [infer] Polymorphic value type for `FuncArg`
5 years ago
Ezgi Çiçek 3792b9b17a [infer] Record the value of function arguments in ProcnameDispatcher calls
5 years ago
Mitya Lyubarskiy b2910c1336 [nullsafe] More specific error messaging for Null nullability
5 years ago
Mitya Lyubarskiy 29ae8086ec [nullsafe] Introduce Null nullability type
5 years ago
Mitya Lyubarskiy 7d1959a5aa [nullsafe][bug fix] Introduce a param guiding optimistic treatment of third party params and fix a bug in the current behavior.
5 years ago
Mitya Lyubarskiy 473147eb40 [nullsafe] Respect third party repo when identifying whether to hide bad param calls
5 years ago
Mitya Lyubarskiy bd426954a3 [nullsafe][easy][bug fix] Swap over reporting for undeclared and already declared third party
5 years ago
Nikos Gorogiannis 624d7d7930 [starvation][whole-program] more models
5 years ago
Nikos Gorogiannis 404caf3bb4 [starvation][whole-program] track runnables as attributes
5 years ago
Nikos Gorogiannis 20a7e9d75b [starvation][whole-program] add a bit of typestate/dataflow
5 years ago
Josh Berdine 61c0a92682 [ocamlformat] Add link to .ocamlformat from c_stubs
5 years ago
Sungkeun Cho 6885fb4256 [infer] Distinguish dummy struct types from normal ones when merging tenv
5 years ago
Nikos Gorogiannis ff819da3c6 [starvation-whole-program] more modeled executors
5 years ago
Sungkeun Cho f958c74231 [inferbo] Refactoring: rename "is_" to "get_" for optional returns
5 years ago
Jules Villard b3d0461317 [IR] kill PredSymb.func_attribute by moving sentinel attrs to its own ProcAttribute field
5 years ago
Jules Villard a9df6a917f [IR] kill never-true "no_return" flag of Tfun type desc
5 years ago
Jules Villard 997948914f [IR] remove dead no_return CallFlag
5 years ago
Jules Villard f778134088 [pdesc] do not add noreturn to generated assume statement
5 years ago
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