7947 Commits (dcc7ed5f00ec3c2c7e87a6bbd765ae9ef3c904aa)

Author SHA1 Message Date
Jules Villard bc841595d5 [tests] add missing copyright
4 years ago
Jules Villard 7c2c5a406b [tests] follow ".exp" naming convention
4 years ago
Ezgi Çiçek 07b890279d [ConfigImpact] Adjust inter-proc analysis to add leaf calls
4 years ago
Sungkeun Cho 7912877166 [uninit] Revise error message to include access paths
4 years ago
Sungkeun Cho 4d8a5d8afd [ConfigImpact] Inter-procedural analysis
4 years ago
Sungkeun Cho c5cbd3142e [uninit] Fix a bug on nested struct initialization
4 years ago
Sungkeun Cho 02933d81ba [impurity] Suppress internal error with too strong assumption
4 years ago
Sungkeun Cho 7e6654cd25 [ConfigImpact] Add a new checker: ConfigImpactAnalysis
4 years ago
Mitya Lyubarskiy c6a253b875 format
4 years ago
Mitya Lyubarskiy 481068d3da [nullsafe] --no-nullsafe-optimistic-third-party-in-default-mode is optimistic about Inheritance check
4 years ago
Jules Villard 4c357e434b [pulse] apply discovered variable equalities eagerly
4 years ago
Jules Villard 886a47402d [pulse] do not canonicalize preconditions
4 years ago
Jules Villard d22e08cf82 [impurity] sort edges before comparing them
4 years ago
Jules Villard 94930e3b11 [pulse] refactor incorporate_new_eqs
4 years ago
Jules Villard 84d1fd3b52 [pulse] add tests
4 years ago
Adam Ernst bf87088a35 Don't warn about direct ivar access for atomic readonly properties
4 years ago
Jules Villard 4f77f82cba [pulse] some models should "prune" instead of "and"
4 years ago
Jules Villard e7124511dc [pulse] use only known facts for variable substitutions
4 years ago
Jules Villard a1db290c2e [pulse] models for folly::Optional::operator{*,->}()
4 years ago
Martin Trojer 7fcb9446dd [clang] add a new flag --skip-non-capture-clang-commands to makes clangdriver skip compilation on commands that doesn't capture data
4 years ago
Ezgi Çiçek 7af9d02542 [inferbo] Handle global constant array loads in Obj-C
4 years ago
Nikos Gorogiannis 745f04f77d [racerd] races in nullsafe classes
4 years ago
Nikos Gorogiannis 8b32da127e [racerd] separate procedure and file analyses
4 years ago
Gabriela Cunha Sampaio bc49f1deb1 [pulse] Adapting --pulse-model-return-nonnull for Java
4 years ago
Ezgi Çiçek 9a1a759638 Replace uses of Option.value_map ~default:false with Option.exists
4 years ago
Joshua Selbo 1596fc7e85 [nullsafe] Register android.provider.Settings content Uris
4 years ago
Nikos Gorogiannis 39c00d557e [infer] change filter semantics to included or not excluded
4 years ago
Gabriela Cunha Sampaio 54c3dafef8 [pulse] Modeling Java instanceof operator as returning true
4 years ago
Loc Le 5cf86cc0c0 [pulse.isl] init for local variables
4 years ago
Ezgi Çiçek a6a279d845 [inferbo] Handle field access from global struct arrays
4 years ago
Sungkeun Cho 9cdd87b67b [inferbo] Handle when const global assigned to local variable
4 years ago
Sungkeun Cho c5de5ee837 [purity] Print warning when inferbo mem is not found
4 years ago
Nikos Gorogiannis 7f6798999a [starvation] warn on SettableFuture.set under lock
4 years ago
Ezgi Çiçek f6f47cd7c9 [inferbo][cost] Add tests for global constant array of structs initialization
4 years ago
Ezgi Çiçek 17a3bec2ca [cost] Add tests for objc differential cost analysis
4 years ago
Sungkeun Cho b50ff19291 [frontend] Reset id generator before generating ObjC getter/setter
4 years ago
Ezgi Çiçek b57ccc3364 [cost] Remove expensive modeling for Provider.get
4 years ago
Xiaoyu Liu 285ddb4a98 Infer# integration (#1361)
4 years ago
Daiva Naudziuniene e0f0022fa1 [pulse][objcpp][npe] Basic examples
4 years ago
Ezgi Çiçek 802dce02d1 [cost] Model Collection's containsAll
4 years ago
Ezgi Çiçek 0a517db238 [cost] Model Collection's contains
4 years ago
Ezgi Çiçek 90974b92e4 [cost] If the modeled cost is Top, underestimate the cost
4 years ago
Sungkeun Cho 60fe0c96b9 [pulse] Ignore array elements in uninitialized value check
4 years ago
Sungkeun Cho 27ab8bd253 [pulse] Uninitialized check for struct fields
4 years ago
Jules Villard f5936689a4 [pulse] case split in model of free(3)
4 years ago
Jules Villard 1f6b9edacc [pulse] do not short-circuit valid paths because of errors
4 years ago
Jules Villard 5112fd2f32 [pulse] more topl debug
4 years ago
Sungkeun Cho e185233d71 [frontend] Fix incorrect order of statements (paren)
4 years ago
Sungkeun Cho e06f1e401f [frontend] Add is_union field to CppClass
4 years ago
Sungkeun Cho 89c8e25deb [frontend] Add tests of using single field struct
4 years ago
Jules Villard 12bcf119c8 [pulse] fix C test not calling the functions it was supposed to
4 years ago
Gabriela Cunha Sampaio be39e74bd4 [pulse] Modeling checkState and checkArgument
4 years ago
Sungkeun Cho b289d240f5 [frontend] Fix incorrect order of statements (implicit cast)
4 years ago
Jules Villard d375a6c03e [pulse] also compare path conditions when comparing states
4 years ago
Jules Villard abc36fe97f [pulse] add a bunch of equal and compare functions
4 years ago
Jules Villard 77d508328f [pulse][formula] swap order of constant and linear sum
4 years ago
Jules Villard b9747bdc08 [pulse] better AbductiveDomain.leq
4 years ago
Jules Villard 65b5919958 [pulse][minor] update documentation for AbductiveDomain.t
4 years ago
Sungkeun Cho 8ed44df7f6 [frontend] Fix incorrect order of statements (negation)
4 years ago
Martin Trojer faaf0ecf18 Normalize TV paths to avoid render errors
4 years ago
Nikos Gorogiannis 7e4dc9477e [buck][java] remove genrule integration and combined mode
4 years ago
Gabriela Cunha Sampaio e04f0a0ffa [pulse] Modeling checkNotNull function
4 years ago
Sungkeun Cho 051473394b [frontend] Fix incorrect order of statements
4 years ago
Sungkeun Cho f3a29d1c9c [frontend] Add a return param of struct type in ObjC methods
4 years ago
Sungkeun Cho 32846974eb [closure] Subst variables in ClosureSubstSpecializedMethod
4 years ago
Sungkeun Cho 63545b1e64 [liveness] Fix liveness analysis not to kill constructor targets
4 years ago
Nikos Gorogiannis f185b35292 [buck] allow setting the buck java heap size
4 years ago
Nikos Gorogiannis ad84126184 [buck] don't clobber existing BUCK_EXTRA_JAVA_ARGS
4 years ago
Gabriela Cunha Sampaio 549954cb97 [pulse] Suppress Pulse NPE reports on @Nullsafe
4 years ago
Gabriela Cunha Sampaio 27acb0fe4e [pulse] Modeling Java Integer class
4 years ago
Gabriela Cunha Sampaio e6d50837ba Renaming Java tests in Pulse
4 years ago
Gabriela Cunha Sampaio 9362b22317 Copying Java biabduction tests into Pulse
4 years ago
Sungkeun Cho eeb34231fa [pulse] Loosen fieldname comparison in state
4 years ago
Gabriela Cunha Sampaio caa8bd0e39 Renaming biabduction Java tests
4 years ago
Ezgi Çiçek 34eb8ebafb [cost] Model Map.containsValue
4 years ago
Ezgi Çiçek 840a10afaa [pre-analysis] Remove throw/catch handling from preanalysis
4 years ago
Sungkeun Cho 1bce54aaf3 [frontend] Handle struct copy in C
4 years ago
Loc Le e11b1b49b3 [pulse] explicit Ok/Error summaries: bi-abduction for interprocedural analysis
4 years ago
Ezgi Çiçek 7487676f9f [control][cost] Refactor
4 years ago
Ezgi Çiçek d1935941a6 [control][hotfix] Don't fail when not all exit nodes are prune nodes
4 years ago
Nikos Gorogiannis 7b8145b8bc [racerd][C++] do not report on lambdas at top level
4 years ago
Sungkeun Cho 759fddc7e8 [frontend] Fix a bug in translation of empty for-loop
4 years ago
Artem Pianykh 3aaf1de4f7 [java] Support Ultralight synthetic names
4 years ago
Loc Le 12c582a698 [pulse] explicit isl error specs for free/delete
4 years ago
Daiva Naudziuniene 16718384b3 [pulse] Optional Empty Access false positives we want to address
4 years ago
Loc Le 92341d8ffc isl summary for memory store
4 years ago
Kevin Higgs afc9666e15 Fix SIL to HIL conversion for Exp.Var inside Lfield and Lindex (#1372)
4 years ago
Luka Rahne 66d0eaa357 Fix #1366; apply xml escaping on generated xml report (#1367)
4 years ago
Gabriela Cunha Sampaio e065b0b0b2 Change Pulse Checker from experimental for C++ and Java to experimental for Java only
4 years ago
Jules Villard 2ac2f019df [clang] fix some loops with no brackets
4 years ago
Jules Villard ad45bbe28d [clang] fix order of translation for [this]
4 years ago
Loc Le 6eb79feaaf [Pulse] explicit Ok/Error summaries: bi-abduction for memory read
4 years ago
Sungkeun Cho 1166c13cb1 [log] Add a missing line space
4 years ago
Franco Raimondi 366ca37ff9 apache commons lang3 string utils model (#1346)
4 years ago
Jules Villard 60119943a6 [nullsafe] do not crash when java_class_info is empty
4 years ago
Daiva Naudziuniene 47954fc428 [pulse] Do not drop astates in ExitScope instruction
4 years ago
Daiva Naudziuniene 0c6eedc835 [pulse] Model std::__optional_storage_base::has_value
4 years ago
Sungkeun Cho b4b75c4ffb [config] Use not-reversed list types for `Config` variables
4 years ago
Sungkeun Cho 153005c3cb [config] Add RevList for explicit reversed list in Config
4 years ago
Artem Pianykh edc8754727 [nullsafe] Fix behaviour of --no-nullsafe-optimistic-third-party-in-default-mode
4 years ago
Nikos Gorogiannis f779ed8951 [memtrace] allow memory tracing of analysis workers
4 years ago
Nikos Gorogiannis ea321b42a2 [buck] fix no-inline arguments order when doing a query
4 years ago
Martin Trojer 212068f89b Make buck tests more robust
4 years ago
Martin Trojer 4487513a2f [ndkbuild] only make ndkbuild test build for x86
4 years ago
Martin Trojer 1a04fc8f53 Make buck_flavors_deterministic_test more robust
4 years ago
Artem Pianykh 9d2daee569 [nullsafe] Fix checkState model
4 years ago
Loc Le b1d371e54d Pulse with explicit Ok/Error summaries
4 years ago
Ezgi Çiçek d02f0b322e [cost] Record zero operation cost for procedures that simply throw
4 years ago
Nikos Gorogiannis 72a59553d2 [buck] store query args in argument file
4 years ago
Ezgi Çiçek 731b632632 [cost] Procedures with empty body gets 0 cost
4 years ago
Loc Le 9228899f38 ISL tests
4 years ago
Jules Villard b5bd85c967 [pulse] quantifier elimination using var_eqs
4 years ago
Jules Villard 8b2b797136 [pulse] minor rename: eq -> lin_eq
4 years ago
Sungkeun Cho 3685cc6fdd [pulse] Revise trace of uninitialized value check
4 years ago
Jules Villard 0980bbe2b3 [pulse] also visit values involved in array accesses
4 years ago
Jules Villard 7d11a26d66 [pulse] canonicalise attributes too
4 years ago
Jules Villard 27150cb7d3 [pulse] not-completely-broken interprocedural arrays
4 years ago
Jules Villard b57f6527b7 [pulse][minor] remove unused argument
4 years ago
Jules Villard 66365c2d54 [pulse] add comment for [subst_find_or_new]
4 years ago
Nikos Gorogiannis 8c4b212545 [ondemand] kill analyze_proc_desc
4 years ago
Nikos Gorogiannis f4c52851fb [ondemand] remove ref to execution environment
4 years ago
Sungkeun Cho 1bf82d9f86 [pulse] Give semantics of dispatch_sync in ObjC
4 years ago
Sungkeun Cho fa29098376 [pulse] Inter-procedural uninit analysis
4 years ago
Daiva Naudziuniene b5df1be318 [pulse] Model std::vector:empty()
4 years ago
Sungkeun Cho 67417e5fb7 [pulse] Refactoring: reuse proc_name_of_call result
4 years ago
Sungkeun Cho 69371bb2c5 [pulse] Change to ExitProgram state when calling noreturn function
4 years ago
Nikos Gorogiannis 7e79b4826f [proc locker] minor cleanup
4 years ago
Nikos Gorogiannis 75d2674a45 [biabduction] reduce logging noise
4 years ago
Sungkeun Cho 0cbe2f9b08 [pulse] Uninitialized value check in pulse
4 years ago
Ezgi Çiçek 8b6bd61c2c Close forgotten channel
4 years ago
Ezgi Çiçek da950064d2 Add ability to skip translation with negation (source doesn't contain)
4 years ago
Joshua Selbo 559dc82bd6 [nullsafe] Register Android Paint enum values as non-nullable
4 years ago
Nikos Gorogiannis caa7f9a7d7 [process pool] remove file locking protocol
4 years ago
Jules Villard e526cf157a [pulse] filter out unsat states earlier
4 years ago
Nikos Gorogiannis e152ba8f33 [stats] fix analyzed count
4 years ago
Sungkeun Cho e4b3971441 [frontend] Fix capture mode in ObjC
4 years ago
Sungkeun Cho 2d8f404a5f Revert "[Refactoring] Use pvar instead of mangled in CapturedVar"
4 years ago
Jules Villard ab2813e355 [pulse] canonicalize wrt equality relation
4 years ago
Jules Villard 5423bb1699 [pulse] make sure we checked satisfiability on summaries
4 years ago
Jules Villard 98b562c844 [pulse][refactor] extract and reuse a `SatUnsat` module
4 years ago
Jules Villard 581487ec61 [pulse] record aliasing information in the arithmetic
4 years ago
Sungkeun Cho 49bfd206a0 [Refactoring] Use pvar instead of mangled in CapturedVar
4 years ago
Sungkeun Cho 6972d9cb91 [Refactoring] Use inline record for captured variable type
4 years ago
Nikos Gorogiannis 695a3df7be [exe-env] refactor into a two-level hashtable
4 years ago
Nikos Gorogiannis 15943b1ea1 [biabduction] don't specialise models
4 years ago
Radu Grigore 6a61a85964 [topl] Refactor: Put constraint code in PulseTopl.Constraint.
4 years ago
Radu Grigore f8aa139b88 [topl] Be more precise in extracting summaries.
4 years ago
Radu Grigore 3478a8828f [topl] Added limits, to avoid high runtimes in corner-cases.
4 years ago
Ezgi Çiçek 7de9c49a6d [minor] Remove unnecessary exists check over singleton list
4 years ago
Nikos Gorogiannis 3ceac69079 [lru] strengthen tests with key-value pair order
4 years ago
Sungkeun Cho 1209f53952 [cost] Move the comment about trace for cost increase to www
4 years ago
Sungkeun Cho 4d076b2771 [test] Fix class name in test
4 years ago
Daiva Naudziuniene 0343f5c7d9 [pulse] Remove duplicate `by` from a trace
4 years ago
Ezgi Çiçek b46433642c [immutability] Add a new experimental immutability analysis
4 years ago
Ezgi Çiçek 11141cb100 [impurity] Collect all accesses
4 years ago
Nikos Gorogiannis 0105f280a3 [racerd] consider ownership of interface calls
4 years ago
Nikos Gorogiannis 9acdedeef8 [exe_env] abstract type
4 years ago
Daiva Naudziuniene 4e658903ae [pulse] Check the validity of the addresses captured by lambda only for captures by reference
4 years ago
Radu Grigore e00dbe46b1 [topl] Got rid of quadratic runtime for long methods.
4 years ago
Radu Grigore d652e22a0a [topl] Don't bubble up errors.
4 years ago
Radu Grigore d3ff423bb1 [topl] Don't put trivial large steps in trace.
4 years ago
Radu Grigore c829db4964 [topl] Fixed an eggregious performance issue (repeated summaries).
4 years ago
Radu Grigore 59daa1f022 [topl] Added the ArrayWrite event type.
4 years ago
Radu Grigore 33071b82b5 [topl] Interprocedural analysis (in Pulse)
4 years ago
Radu Grigore 206686718f [topl] Report error traces
4 years ago
Radu Grigore 9c57668714 [topl] Extract summaries from posts
4 years ago
Radu Grigore 009f3b651c [topl] Small steps in Pulse
4 years ago
Radu Grigore 2ce0c680a7 [topl] Added a hook for large steps in Pulse.
4 years ago
Radu Grigore 72a5a1e7ec [topl] Small step hook inside Pulse
4 years ago
Ezgi Çiçek 128d13d810 [inferbo][cost] Refactor cost env
4 years ago
Ezgi Çiçek 9e4036cf2f [impurity] Change Var to Pvar
4 years ago
Mitya Lyubarskiy bf6fa3647c [nullsafe] Record info for "Parameter Not Nullable" issues in json
4 years ago
Ezgi Çiçek 0d0b3d2eb4 [impurity] Hoist out formals and procname
4 years ago
Mitya Lyubarskiy 7dcbacf693 [nullsafe] Add an option to warn about unvetted third party in default mode
4 years ago
Mitya Lyubarskiy c6a33c88b7 [nullsafe] Prettier error rendering for untrusted values
4 years ago
David Pichardie b073b55b1a Fixing warning in experimental Java source parser
4 years ago
Joscha Benz 606a3c95d9 Add a config option to whitelist common initializer values for liveness analysis (#1340)
4 years ago
Nikos Gorogiannis bab5aa4b08 [racerd] refactor processing of calls
4 years ago
Sungkeun Cho ce9472f451 [cost] Add trace of closure in autoreleasepool checker
4 years ago
Nikos Gorogiannis 3eed17488a [racerd] improve summary processing on calls
4 years ago
Ezgi Çiçek d3f1aab803 [preanalysis] Handle assigning blocks to locals in closure substitution
4 years ago
Martin Trojer 9fd1a87cd5 Upgrade Infer to clang10
4 years ago
Ezgi Çiçek c80b80d0d7 [preanalysis] Handle closure substitution in conditionals
4 years ago
Jules Villard 2b4c3fcbaa [clang] remove redundant Procdesc.Node prefixes
4 years ago
Jules Villard 73195ca203 [clang] remove named node_name
4 years ago
Jules Villard 29f3941600 [clang] deal with conditionally-destroyed temporaries
4 years ago
Jules Villard 3d588b2751 [clang] get rid of FallbackNode
4 years ago
Jules Villard 2efa22073c [clang] force node creation in switch statements
4 years ago
Ezgi Çiçek f3f77fa0b4 [cost] Silence the log in non-debug mode and refactor
4 years ago
Joshua Selbo 4c85f98c29 [nullsafe] Register View Properties as known non-nullable fields
4 years ago
David Pichardie 2f09b39f56 New java source parser for declaration locations (experimental)
4 years ago
Mitya Lyubarskiy 79d65a83df [nullsafe] Record correct param index in json
4 years ago
Mitya Lyubarskiy cced510cb9 [nullsafe][annotation graph] Don't fail while dealing with synthetic fields
4 years ago
Jules Villard f2e3f67f40 [clang] change the way we wire up return statements
4 years ago
Daiva Naudziuniene 019adf7e78 [pulse] Model for folly::Optional::get_pointer
4 years ago
Jules Villard f411c7d131 [pulse] do not stop at the first error in function calls
4 years ago
Jules Villard 49dc61b9c5 [clang] refactor to expose when creating destructor call will succeed
4 years ago
Jules Villard 578583f2ab [pulse] check that new arithmetic facts are consistent with the heap
4 years ago
Jules Villard 47e9f8ffec [pulse][easy] code factorisation
4 years ago
Jules Villard e32f6ca360 [clang] fix bad interaction between ConditionalOperator and initializers
4 years ago