1320 Commits (3593e41de1d0ee4753e1e6ee7b4b14ae5ef89bcb)

Author SHA1 Message Date
Nikos Gorogiannis 76f80f114c [racerd] equip interface call records with address
5 years ago
Ezgi Çiçek d97e1c8fdb [pulse][impurity] Add model for System.exit()
5 years ago
Sungkeun Cho a1a3c55186 [inferbo] Fix a bug in interval prune
5 years ago
Mitya Lyubarskiy 5df3801426 [nullsafe] Recommend a safe alternative for `View.findViewById()`
5 years ago
Ezgi Çiçek f7baf845fd [pulse] Fix printing order in contradiction for CItv and add tests
5 years ago
Sungkeun Cho 88474fd307 [inferbo] Add FN test due to invalid pruning of array list length
5 years ago
Ezgi Çiçek b64ed0bbf2 [impurity] Consider functions with empty pulse summary as impure
5 years ago
Mitya Lyubarskiy a3d5b4c700 [nullsafe][easy] Fix test
5 years ago
Artem Pianykh d8b0c99fa1 [nullsafe] Repro for wrong nullability of $bcvarN in try-with-resource
5 years ago
Mitya Lyubarskiy 8dae30a6bf [nullsafe] Refine definition of meta issues
5 years ago
Ezgi Çiçek cf50a387e5 [cost] add a mode to compute exclusive cost
5 years ago
Mitya Lyubarskiy c7d2f281f7 [nullsafe] Don't ever issue violation when dereferencing params.
5 years ago
Ezgi Çiçek cdb9281f1f [java][tests] Fix/suppress unchecked warnings
5 years ago
Ezgi Çiçek 7ca2fcc948 [pulse][purity] Add more naive models for Java
5 years ago
Mitya Lyubarskiy 2af561c593 [nullsafe] Decouple nullsafe mode from issue calculation, Inheritance Rule
5 years ago
Mitya Lyubarskiy 371eed9309 [nullsafe] Decouple nullsafe mode from issue calculation, DereferenceRule
5 years ago
Mitya Lyubarskiy 0bf5298c21 [nullsafe] Decouple nullsafe mode from issue calculation, AssignmentRule
5 years ago
Ezgi Çiçek cc815f5d20 [pulse] Only propagate existing WrittenTo attributes at function calls
5 years ago
Nikos Gorogiannis 86ab2d7d10 [topl] disable skip tests
5 years ago
Ezgi Çiçek b372befee4 [pulse] Add more naive Java models
5 years ago
Mitya Lyubarskiy f291f93248 [nullsafe] Implement class-level analysis and calculate meta-issues.
5 years ago
Sungkeun Cho b14333485c [cost] Update cost results
5 years ago
Sungkeun Cho be1e72cd1a [cost] Update test results
5 years ago
Ezgi Çiçek 04543938ab [impurity][hoisting] Add more tests
5 years ago
Nikos Gorogiannis d1e0375f4a [racerd] stop reporting on locals
5 years ago
Ezgi Çiçek 2bd39abefc [purity] Add model for Object.clone()
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
Sungkeun Cho 545e6c8802 [inferbo] Add models of String.lastIndexOf and String.replace
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
Sungkeun Cho e35b26ae8e [inferbo] Get static final array values from class initializer
5 years ago
Jules Villard 339ebe74ec [config] sensible default for --from-json-report
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
Sungkeun Cho 020cd199b5 [cost] Use type of Provider.get
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
Ezgi Çiçek 5f8e6233bb [pulse] Take into account skipped calls for state comparison
5 years ago
Mitya Lyubarskiy bd83813b3e [tech debt] Remove experimental nullability checkers
5 years ago
Ezgi Çiçek bb5cdf9b97 [pulse] Add FN tests to impurity
5 years ago
Radu Grigore 0fc2769a65 [topl] A test for comparing arguments.
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
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
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
Ezgi Çiçek 43350f7c6b [cost] Add Java tests for ZERO_EXECUTION_TIME
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
Sungkeun Cho 7a0be26596 [inferbo] Revise semantics of `values` function of Java enum class
5 years ago
Sungkeun Cho ef74f3f18d [cost] Revise message of Provider.get.modeled
5 years ago
Artem Pianykh 3859f178fa [nullsafe] Properly handle method calls on trusted classes under NullsafeLocal mode
5 years ago
Mitya Lyubarskiy f57dc78679 [nullsafe] Error reporting: recommend non-nullable alternarives for known nullable methods
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
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
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
Nikos Gorogiannis ace23a1670 [java] use plain strings instead of mangled for JavaClassName
5 years ago
Radu Grigore f8511c2358 [topl] Added another small test, for BAOS.
5 years ago
David Pichardie 2cccf8adce Invokedynamic removing by class file rewriting
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 a55179ba80 [nullsafe][refactoring] Simplify call to condition_redundant checks.
5 years ago
Ezgi Çiçek b5562f124a [cost] Disable reporting of allocation costs
5 years ago
Ezgi Çiçek 239a5302f6 [pulse] Add more models for Java
5 years ago
Mitya Lyubarskiy 43e857ccb3 [nullsafe][easy] Break CustomAnnotations.java into two subtests
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 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
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 237aac4cd0 [nullsafe] Introduce @Nullsafe annotation
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
Mitya Lyubarskiy 19bc35d836 [nullsafe] Make condition redundant slightly less aggressive
5 years ago
Nikos Gorogiannis 5a1641d319 [racerd] kill non-deterministic test
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
Mitya Lyubarskiy cf26c024bf [nullsafe] Specific error message for overriding Object.equals()
5 years ago
Mitya Lyubarskiy d641c9ac9a [nullsafe] Better error message for inheritance rule, part 2
5 years ago
Nikos Gorogiannis 4e45a62d3c [starvation] fix inner class tests
5 years ago
Ezgi Çiçek dd59a141f0 [impurity] Rely on set of skipped functions to determine impurity
5 years ago
Mitya Lyubarskiy eddf2ef180 [nullsafe] Better error message for inheritance rule
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
Radu Grigore bfdb379fe3 [topl] Added a test, for intraprocedural reasoning.
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
Artem Pianykh 592c746e6b [java] Make override resolution consider parameter types
5 years ago
Sungkeun Cho 9b1001eda2 [litho] Make analysis null return aware
5 years ago
Ezgi Çiçek 6637557781 [inferbo] Add models for Preconditions.checkNotNull and Preconditions.checkState
5 years ago
Mitya Lyubarskiy f77c90a1f1 [nullsafe] Add a test for `switch` case
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
Artem Pianykh 59c6967e64 [nullsafe] Redo InconsistentSubclassAnnotation tests
5 years ago
Ezgi Çiçek 598a4d5a55 [pulse] Ignore Exceptional CF
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
Radu Grigore 3554101ece [topl] Generate simpler monitor for deterministic states.
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 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 91ebfe9c20 [topl] Support side conditions for transitions.
5 years ago
Ezgi Çiçek be1fda72a8 [inferbo] Add model for `Collection.toArray`
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
Ezgi Çiçek ada1d6f3c7 [litho] Add create method to the trace and simplify trace printing
5 years ago
Ezgi Çiçek 38421e2735 [litho] Remove old domain
5 years ago
Sungkeun Cho 6fb2a94f57 [litho] Not ignore location
5 years ago
Ezgi Çiçek c2b59f0f5f [litho] Add tests
5 years ago
Sungkeun Cho 1f64acf3de [litho] Moved is_build_called and added is_return_called
5 years ago
Ezgi Çiçek 47c89611a5 [litho] Remove GraphQL ShouldUpdate analysis
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 2835468df9 [litho] Add substitution at function calls
5 years ago
Nikos Gorogiannis b012bb9435 [racerd] ownership of contained objects should be that of container
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
Ezgi Çiçek 61f5a2f157 [litho] Add a FN test
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 47790ed496 [litho] Add prop check in the new domain
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
Nikos Gorogiannis 1c0e42bf3f [starvation][whole-program] static initializer attributes
5 years ago
Ezgi Çiçek 23b2dcf753 [required-props] Add more tests
5 years ago
Nikos Gorogiannis 0319dac803 [starvation][whole-program] fix buggy model
5 years ago
Sungkeun Cho ab7c61b836 [inferbo] Extend bound domain to express multiplication of bounds
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
Jules Villard df49f318f6 [pulse] havoc formals passed by reference to unknown procedures
5 years ago
Sungkeun Cho 81667f25ae [cost] Update issues.exp
5 years ago
Sungkeun Cho 8fa098474e [cost] Fix the model of substring
5 years ago
Mitya Lyubarskiy b2910c1336 [nullsafe] More specific error messaging for Null nullability
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
Nikos Gorogiannis ff819da3c6 [starvation-whole-program] more modeled executors
5 years ago
Nikos Gorogiannis 374c09c6c7 [starvation][whole-program] allow scheduled work on unknown threads
5 years ago
Sungkeun Cho 8b959be727 [inferbo] Add size alias when array size is one
5 years ago
Nikos Gorogiannis 883044763e [starvation-whole-program] more executor models
5 years ago
Nikos Gorogiannis 0d175daddc [starvation] enable some tests
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 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
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
Ezgi Çiçek 655096e87c [required-props] Add more tests for casting
5 years ago
Sungkeun Cho c3186578d6 [cost] Keep excluding unqualified variables by ItvUpdatedBy
5 years ago
Sungkeun Cho 50252d3152 [cost] Exclude bin-op-generated integers from control variables
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
Nikos Gorogiannis 243835aca2 [starvation] extend models of scheduled work
5 years ago
Ezgi Çiçek a356ef19d7 [litho] Fix test naming convention and add another FP test
5 years ago
Ezgi Çiçek 9e5307b339 [pulse][impurity] Add Pulse Java models for get and cast
5 years ago
Sungkeun Cho ecc5c80a9b [inferbo] Fix a bug in SafeInvertedMap.join
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 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
Sungkeun Cho b50e1cba51 [inferbo] Extend bound to express Min/Max(bound, bound)
5 years ago
Nikos Gorogiannis 5ea35133af [starvation] record scheduling parallel works via executors
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