6892 Commits (7e4673cbeb277807c7fd0ac576958e563f5ec86c)

Author SHA1 Message Date
Dulma Churchill d1923dcd71 [pulse] Changed the name of BaseDomain signature to avoid a name clash
5 years ago
Jules Villard 3ba91fd596 [pulse] refactor of PrePost.t vs AbductiveDomain.t
5 years ago
Jules Villard f726561732 [biabd][minor] `unSome` is just `Option.value_exn`
5 years ago
Jules Villard 7861752bf3 [pulse] rename "PulseArithmetic" to "PulseCItv"
5 years ago
Nikos Gorogiannis 8a99f4b3bb [java] bug fix for type translation
5 years ago
Sungkeun Cho bc0c060bd4 [cost] Add a test (recursive dependency in class initializers)
5 years ago
Mitya Lyubarskiy 769c221826 [JavaClassName] Introduce a function to strip out anonymous class suffix from a class
5 years ago
Sungkeun Cho 545e6c8802 [inferbo] Add models of String.lastIndexOf and String.replace
5 years ago
Nikos Gorogiannis 8ede47649c [java][procname] always return pointer types to objects
5 years ago
Mitya Lyubarskiy 544e4f2e6c [Typ.name] Move a function to JavaClassName
5 years ago
Ezgi Çiçek a4c3925d9a [impurity] Track unique accesses
5 years ago
Ezgi Çiçek e3c89b1f10 [impurity] Fix include_value_history
5 years ago
Jules Villard 5b371384fe [reportdiff] stream reading reports
5 years ago
Jules Villard a84fbecbe6 [typo] fix doc
5 years ago
Martin Trojer 4cee0882be move integration tmpfiles to infer-out/tmp/
5 years ago
Sungkeun Cho e35b26ae8e [inferbo] Get static final array values from class initializer
5 years ago
Artem Pianykh 2c96491e23 [build] Generate sources from atd using dune (but not FCP atds yet)
5 years ago
Artem Pianykh 786a72574f [build] Replace custom make cmds w/ dune promotion and byte_complete
5 years ago
Artem Pianykh 9fc048b503 [build] Use plain dune files instead of make-generated JBuilder/OCaml ones
5 years ago
Artem Pianykh fc5b092779 [lint] Update checkCopyright to handle sexp dune files
5 years ago
Artem Pianykh fcce3c0659 [RFC][build] Use dune environments and profiles instead of contexts
5 years ago
Jules Villard 40e5a3c5c3 [config] smarter handling of completely deprecated boolean options
5 years ago
Jules Villard e5b50d7d46 [quandaryBO] delete :(
5 years ago
Jules Villard 1faf00e58e [InferPrint] rename to JsonReports
5 years ago
Jules Villard 179cc58e17 [InferPrint] simplify a lot
5 years ago
Jules Villard 19e8ae652c [config] split non-json creating stuff out of InferPrint.ml
5 years ago
Jules Villard 339ebe74ec [config] sensible default for --from-json-report
5 years ago
Jules Villard c27e4c72a4 [config] delete --issues-txt option
5 years ago
Jules Villard 96490d1bad [config] delete --summary-stats option
5 years ago
Jules Villard 33626092d4 [config] delete --precondition-stats option
5 years ago
Dulma Churchill 2f90b05c2a [pulse] Add model for malloc
5 years ago
Mitya Lyubarskiy 82fb4e67b9 [nullsafe] Cleanup nullsafe top level execution
5 years ago
Ezgi Çiçek b90d7c42d3 [impurity] Do not add value history in impurity traces
5 years ago
Sungkeun Cho 117ab1164b [cost] Revert "Use type of Provider.get"
5 years ago
Martin Trojer 83062c0499 [buck] always pass --fcp-syntax-only to for buck/clang flavour capture
5 years ago
Sungkeun Cho 020cd199b5 [cost] Use type of Provider.get
5 years ago
Mitya Lyubarskiy 16554689ee [nullsafe][refactor] Don't update typestate twice when typechecking Store instruction
5 years ago
Mitya Lyubarskiy 28db342629 [nullsafe] Evaluate lhs nullability in assignment check based on field declaration
5 years ago
Sungkeun Cho 984c47cefe [inferbo] Remove dead macro definition
5 years ago
Jules Villard 957337bba2 [log] delete PerfStats and EventLogger frameworks
5 years ago
Jules Villard 6e1cca731c [debt] delete Procdesc.is_connected
5 years ago
Jules Villard 8e5ee67fed [config] datatype for checkers
5 years ago
Jules Villard e4602ba0df [clopt] do not generate "--no-" flag for [mk_bool ~long:""]
5 years ago
Ezgi Çiçek c6237f5f9f [pulse] Add model for Object.clone()
5 years ago
Mitya Lyubarskiy 087a5a9787 [nullsafe] A dedicated test for testing field nullability memoization
5 years ago
Nikos Gorogiannis 10afd021a1 [java] fix primitive types
5 years ago
Ezgi Çiçek ddd09b83fd [impurity] Refactor and ignore invalidations to constant dereferences
5 years ago
Mitya Lyubarskiy 83e72b2cbc [nullsafe][logs] More logs
5 years ago
Mitya Lyubarskiy 66c5f1bbe4 [nullsafe][refactor] Don't modify typestate without a need when typechecking call instruction
5 years ago
Mitya Lyubarskiy cb3a657465 [nullsafe][refactor] Don't modify typestate without a need in Cast instruction
5 years ago
Mitya Lyubarskiy e3a5906f7a [nullsafe][refactor] don't do tricky typestate modification inside set_original_pvar_to_nonnull_in_typestate
5 years ago
Mitya Lyubarskiy 692d618783 [nullsafe][refactor] Split a tricky function with side effect into two
5 years ago
Nikos Gorogiannis 711c48aa86 [java] extract java split name from typ module
5 years ago
Nikos Gorogiannis 95807702fc [java] jtranstype cleanups
5 years ago
Nikos Gorogiannis 34315ec438 [java] classpath and frontend fixes
5 years ago
Sungkeun Cho 3653c68c8e [infer] Add summary-lookup option in infer-explore
5 years ago
Alexander Mols 1dae8f4eb6 Cache hostname lookup in event logger module
5 years ago
Mitya Lyubarskiy 59e17f59b8 [logging] Introduce a function to call arbitrary function with subsequent logs written in an indended way.
5 years ago
Mitya Lyubarskiy 16ed8950e9 [nullsafe][BE] Log to html when TypeState is modified
5 years ago
Nikos Gorogiannis 7f992bbaa9 [java] move the class map of models into JModels
5 years ago
Nikos Gorogiannis f888160142 [java] classpath cleanup
5 years ago
Ezgi Çiçek c144761a26 [pulse] Pull skipped calls into AbductiveDomain
5 years ago
Ezgi Çiçek 5f8e6233bb [pulse] Take into account skipped calls for state comparison
5 years ago
Martin Trojer 74e54575fa [ndkbuild] replace python ndkbuild integration with ocaml
5 years ago
Martin Trojer 284c6fdb3b [buck] replace python buck integration with ocaml
5 years ago
Fernando Gasperi Jabalera ca06b7840c [ProcessPool] Saturate cores evenly when possible
5 years ago
Fernando Gasperi Jabalera addd6037ba Add Scuba tagsets
5 years ago
Jules Villard e38f51f969 [debt] kill --procs-csv
5 years ago
Ezgi Çiçek 562a43621c [pulse] Remove NoJoin sig from PulseBaseDomain
5 years ago
Mitya Lyubarskiy bd83813b3e [tech debt] Remove experimental nullability checkers
5 years ago
Nikos Gorogiannis fa4f9ef5f3 [tests] remove genrule test
5 years ago
Sungkeun Cho baf770680b [cost] Add average runtime to message
5 years ago
Ezgi Çiçek bb5cdf9b97 [pulse] Add FN tests to impurity
5 years ago
Sungkeun Cho c0d3a5ebee [inferbo] Suppress noisy internal error messages
5 years ago
Fernando Gasperi Jabalera 98096f7fb2 [ProcessPool] Prevent workers starvation
5 years ago
Mitya Lyubarskiy 1b3baa3d45 [nullsafe] Fix deadcode
5 years ago
Dulma Churchill 0322e17e72 [IR] print only the passed_as_noescape_block_to attribute if it's set
5 years ago
Sungkeun Cho 7a1e901c83 [inferbo] Keep only one invariant map in the cache
5 years ago
Mitya Lyubarskiy 0340a81002 [nullsafe][tech debt] Get rid of TypeOrigin.Undef
5 years ago
Nikos Gorogiannis 0b3031bbdc [java] separate and improve model handling during capture
5 years ago
Mitya Lyubarskiy d71e2f0d84 [nullsafe][refactor] Restructure code around node typechecking
5 years ago
Radu Grigore 0fc2769a65 [topl] A test for comparing arguments.
5 years ago
Sungkeun Cho 9dbc3981cc [infer] Add LRU hash table
5 years ago
Mitya Lyubarskiy db821846d7 [nullsafe] Respect RecentlyNonNull annotation
5 years ago
Nikos Gorogiannis 54c35bc5c6 [java] improve function figuring out package in jclasspath
5 years ago
Dulma Churchill 634a42b619 [SelfInBlock] Take ns_noescape into account when reporting captured strong self.
5 years ago
Artem Pianykh 19093a2fa0 @update-submodule: facebook-clang-plugins Fix handling of non-literal `offsetof` expressions
5 years ago
Fernando Gasperi Jabalera a154c8c328 Make ProcessPool workers each use one pipe to send updates
5 years ago
Fernando Gasperi Jabalera 17c565c2aa [scheduler][restart] Fix timeout failures
5 years ago
Jules Villard 0abc85c352 [java] move "$Lambda$" string to Config.ml
5 years ago
Jules Villard 2047f4c535 [preanal] inlining synthetic methods as a pre-analysis
5 years ago
Nikos Gorogiannis 6c8036e6c0 [buck] fix target quoting regexp
5 years ago
Ezgi Çiçek 7deaae6598 [cost] Rename ZERO_* to *_UNREACHABLE_AT_EXIT
5 years ago
Mitya Lyubarskiy e1f4da320f [nullsafe] Consistent severity for nullsafe issues.
5 years ago
Ezgi Çiçek ebbc0fc7f2 [cost] Add traces for ZERO_* issues
5 years ago
Fernando Gasperi Jabalera 082ae44ec7 Do not send task bar updates when progress bar is off
5 years ago
Mitya Lyubarskiy 335a9efec7 [nullsafe] Trust explicitly annotated third party in all modes
5 years ago
Mitya Lyubarskiy f136bf21b5 [nullsafe][refactor][messaging] Refactor code + more consistent messaging
5 years ago
Mitya Lyubarskiy 2aea7d1304 [nullsafe][refactor] Use ThirdPartyNonnull instead of heuristic in error rendering
5 years ago
Sungkeun Cho 9a38987929 [cost] Do not report `EXPENSIVE_EXECUTION_TIME` when a cost of a node is top
5 years ago
Sungkeun Cho 85812abf71 [cost] Report the biggest cost in function
5 years ago
Nikos Gorogiannis 876abcb283 [annotreach] stop printing trace in report
5 years ago
Ezgi Çiçek 43350f7c6b [cost] Add Java tests for ZERO_EXECUTION_TIME
5 years ago
Fernando Gasperi Jabalera 0397b8248d [scheduler][restart] Add analysis time to BackendStats
5 years ago
Sungkeun Cho 0d046c8e7c [inferbo] Ignore float/double constant
5 years ago
Radu Grigore 5a095ca411 [topl] Switched to low-level syntax.
5 years ago
Radu Grigore 2888a90e2a [topl] Added tests for inefficient iteration
5 years ago
Nikos Gorogiannis 3538caeb1b [starvation] skip getinstance methods
5 years ago
Mitya Lyubarskiy 73e78d9e20 [orchestration][refactoring] Introduce stronger contract for file-level callback
5 years ago
Fernando Gasperi Jabalera c2a53a1334 [scheduler] Add wall time to ExecutionDuration
5 years ago
Nikos Gorogiannis e01311c431 [scheduler][callgraph] load graph directly from DB
5 years ago
Nikos Gorogiannis 3f4458361c [scheduler][callgraph] only load defined procs
5 years ago
Sungkeun Cho 7a0be26596 [inferbo] Revise semantics of `values` function of Java enum class
5 years ago
Ezgi Çiçek cbd506011f [cost] Add tests for ZERO_EXECUTION_COST
5 years ago
Sungkeun Cho ef74f3f18d [cost] Revise message of Provider.get.modeled
5 years ago
Mitya Lyubarskiy d94b365b65 Add documentation and better naming around checker callbacks
5 years ago
Artem Pyanykh d50039b495 [infer][PR] Release infer-annotations 0.17.2
5 years ago
Artem Pianykh 70582f9ede [annotations] Fix annotation comments that cause javadoc target to fail
5 years ago
Artem Pianykh 3859f178fa [nullsafe] Properly handle method calls on trusted classes under NullsafeLocal mode
5 years ago
Sungkeun Cho 7219cb1eff [inferbo] Do not prune when the pruning target is already bottom
5 years ago
Sungkeun Cho da7cd0b45a [inferbo] Ignore error memory status
5 years ago
Artem Pianykh 3e9702edf2 [build] Fix test build failure due to use of polymorphic compare
5 years ago
Mitya Lyubarskiy f57dc78679 [nullsafe] Error reporting: recommend non-nullable alternarives for known nullable methods
5 years ago
Sungkeun Cho 50e5bfd32f [infer] Find dead signature (.mli file)
5 years ago
Fernando Gasperi Jabalera a66f6cd736 [scheduler][restart] Quantify wasted work
5 years ago
Fernando Gasperi Jabalera 5c5609591e [scheduler][restart] Reduce live-locking by using data produced on failure
5 years ago
Fernando Gasperi Jabalera b2a2919ce2 [scheduler][restart] Add Files to the work queue
5 years ago
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