900 Commits (63a5ffb4dcb4080c3761d4b13db17096990ef726)

Author SHA1 Message Date
Mehdi Bouaziz b48884bce7 [Cost] Traces for Top values
6 years ago
Mehdi Bouaziz f20e0737fd [inferbo] Extract abstract domain functor for 'set represented by its smallest element'
6 years ago
Ezgi Çiçek 340ac9d1c9 [purity] Fix global modification via argument passing
6 years ago
Jeremy Dubreil 82c4b716bf [eradicate] rename the warning raised when dereferencing nullable types
6 years ago
Sungkeun Cho a56902dc9b [inferbo] Widening threshold by comparison
6 years ago
Sungkeun Cho 8ea92c51e0 [inferbo] Suppress ALLOC_IS_ZERO for C++'s array object
6 years ago
Ezgi Çiçek cab28a9461 [inferbo] Check collection constructor size
6 years ago
Ezgi Çiçek 11af20ef86 [inferbo] Model list constructors with arguments
6 years ago
Ezgi Çiçek cd20abfc88 [cost] Add trace to symbols in polynomial bounds
6 years ago
Jeremy Dubreil 02e39c8b30 [infer] map issues that only differ by the index of the parameter to the same bug hash
6 years ago
Jeremy Dubreil a3ecfdb8ad [infer][nullsafe] add a NULLSAFE_ prefix to the internal name of the Nullsafe errors
6 years ago
Sungkeun Cho 82590756d9 [inferbo] Fix array member access in Java
6 years ago
Boris Valkov ea530390d3 [nullsafe][android] warn when passing null to ImmutableList, ImmutableSet, and ImmutableMap
6 years ago
Mehdi Bouaziz 17fc4ca5cf [cost] Simplify & optimize exit cost + threshold
6 years ago
Jules Villard c79f966279 [java] model `Double` like `Integer`
6 years ago
Jeremy Dubreil 50eae0739d [nullsafe] add an example using Guava Verify.verifyNotNull(...)
6 years ago
Jules Villard 1aa413a65d [classloads] add `replace` target to tests
6 years ago
Jeremy Dubreil adfd5a6418 [nullsafe] consistent models for the scrict containers
6 years ago
Ezgi Çiçek ea486c59d8 [purity] Always show PURE_FUNCTION issues
6 years ago
Ezgi Çiçek 6e0682b463 [purity] Mark unmodeled functions as modifying global state
6 years ago
Jeremy Dubreil d08cabe7ed [eradicate] match the different re-definitions of Preconditions.checkState
6 years ago
Nikos Gorogiannis 374538a02f [crashcontext] die
6 years ago
Mehdi Bouaziz 1b8927badd [inferbo/cost] Do not produce inferbo issues on Cost and Purity analysis
6 years ago
Mehdi Bouaziz 8a3592c34e [inferbo] Uncouple numerical analysis and numerical checks
6 years ago
Nikos Gorogiannis 2ee8ab2990 [class-loads] catch expressions
6 years ago
Nikos Gorogiannis b4a22a5bdd [classloads] prune and multidimensional arrays
6 years ago
Nikos Gorogiannis 3e55f8eb60 [classloads] class object expressions
6 years ago
Nikos Gorogiannis 3f9eb37246 [classloads] casts and instanceof
6 years ago
Nikos Gorogiannis c1a00b2358 [classloads] restrict loads via fields
6 years ago
Nikos Gorogiannis f171d0496b [classloads] array expressions
6 years ago
Nikos Gorogiannis 3fc4ccbc14 [classloads] load super classes recursively
6 years ago
Nikos Gorogiannis 89e396571d [classloads] treat loads and stores wrt to field derefs
6 years ago
Nikos Gorogiannis 5686d67072 [classloads] fix treatment of static initializers
6 years ago
Nikos Gorogiannis 00df708f98 [classloads] record at most one load for each class
6 years ago
Nikos Gorogiannis 39b11619b8 [classloads] overhaul test infra & fix treatment of self-class loading in method calls
6 years ago
Jeremy Dubreil 87a8ddc8fa [nullsafe] merge the option names
6 years ago
Jeremy Dubreil 910def4262 [nullsafe] rename the method for unsafe access to lists and maps
6 years ago
Jules Villard 16c0c03050 resource leaks tutorial
6 years ago
Ezgi Çiçek f7deed7593 [cost] Add examples that we can't handle currently
6 years ago
Sungkeun Cho 6a8f389c35 [inferbo] Prune (p=null)
6 years ago
Mehdi Bouaziz 5616940ec0 [inferbo] Symbols for one value
6 years ago
Mehdi Bouaziz 5d1a213f52 [Hil] Fix failure in exception node
6 years ago
Mehdi Bouaziz 85bab87d16 [cost] The first cost model is a log
6 years ago
Nikos Gorogiannis 002e470137 [racerd] fix bug in ownership transitivity
6 years ago
Mehdi Bouaziz 33aa07357f [inferbo] Model Java collections using arrays
6 years ago
Nikos Gorogiannis b50f56de16 [racerd] properly recognize all non-source variables
6 years ago
Ezgi Çiçek b46f55d0bc [purity] Mark functions with empty modified params as pure
6 years ago
Nikos Gorogiannis 24bd229ada [infer][eradicate] example of error messages involving the temporary variables used to translate logical operations and conditional assignment
6 years ago
Mehdi Bouaziz 8f060939d6 [inferbo] Java pointers, arrays and collections
6 years ago
Mehdi Bouaziz f6c2bd3f61 [quandary] Insecure Intent Handling
6 years ago
Mehdi Bouaziz 809100d612 [inferbo] Prettier field name for Java in traces
6 years ago
Mehdi Bouaziz dfd725d46c [quandary] Also use summary for direct sources
6 years ago
Jeremy Dubreil 61d75d9991 [infer][nullsafe] use the same human readable error message for Eradicate and the new Nullsafe backend
6 years ago
Nikos Gorogiannis 9d6a9f52ec [starvation] improve 2-way deadlock reports
6 years ago
Nikos Gorogiannis 8d855bdcdb [access paths] do not print class name of Java fields
6 years ago
Ezgi Çiçek 89b73e554e [purity] Mark functions that write to global static vars as impure
6 years ago
Mehdi Bouaziz af6e4ff9d1 Fix quandary tests output
6 years ago
Mehdi Bouaziz 87b3907628 [quandary] Allow several kinds for external sources/sinks
6 years ago
Nikos Gorogiannis 101283f9d0 [starvation] fix trace description strings for taking locks
6 years ago
Ezgi Çiçek 61b51b09db [hoisting] Rename hoisting message
6 years ago
Ezgi Çiçek 88850d5119 [cost] Show simplified procname for Callsite paths
6 years ago
Nikos Gorogiannis f8fc40cea9 [starvation] improve debugging output
6 years ago
Jeremy Dubreil 1baf723e3e [infer][nullsafe] make the error message more explicit about the typing nature of the analysis
6 years ago
Ezgi Çiçek dde9723926 [inferbo] Add tests for Java collections
6 years ago
Sungkeun Cho f9161b164f [inferbo] On-demand heap symbol using path
6 years ago
Jeremy Dubreil 69af58506d [infer][nullsafe] rename the option to run the Nullsafe checker
6 years ago
Ezgi Çiçek 80de133482 [inferbo,cost] Add symbols for unknown function calls
6 years ago
Sungkeun Cho 4b2c65f2e2 Revert "[inferbo] Instantiate symbolic locations in function parameters"
6 years ago
Sungkeun Cho 62d45f9c01 [inferbo] Copy callee's values that are reachable from parameters
6 years ago
Ezgi Çiçek 305b2a74b8 [hoisting] Add new issue type for only invariant-modeled calls
6 years ago
Mehdi Bouaziz e505fd2dba [inferbo] Pointer comparison
6 years ago
Mehdi Bouaziz 5f60ffaa8f [inferbo] Trace refactoring
6 years ago
Nikos Gorogiannis 2c6a705116 [racerd] kill stability
6 years ago
Sungkeun Cho edc090544a [inferbo] Improve pp of Inferbo in traceview
6 years ago
Ezgi Çiçek 613c4a2848 [purity] Fix wrong invalidation of all params
6 years ago
Mehdi Bouaziz 8fcbfcb741 [inferbo] Pretty-print more abstract locations
6 years ago
Sungkeun Cho aa3fa55f05 [inferbo] Fix check of access condition
6 years ago
Sungkeun Cho e912bf2aa5 [inferbo] Prune more for "(x + e1) < e2" cases
6 years ago
Sungkeun Cho e190325b82 [inferbo] Distinguish collection add against array access in pp
6 years ago
Nikos Gorogiannis 68a08a8a09 [starvation] stop reporting on AccountManager.setUserData
6 years ago
Mehdi Bouaziz fac9932168 [inferbo] Add traces to Conditions always true/false and Unreachable code
6 years ago
Ezgi Çiçek 6683c71f8b [purity, hoisting] Add more purity models for fblite and instagram
6 years ago
Nikos Gorogiannis f3194e00c9 [starvation] silence some strict mode models
6 years ago
Nikos Gorogiannis a3df8f9f99 [starvation] simplify report format
6 years ago
Mehdi Bouaziz 0ba4c2c892 [cost] Pretty-printing exponents
6 years ago
Mehdi Bouaziz 5ed59b1655 [Inferbo/cost] Improve pretty-printing
6 years ago
Ezgi Çiçek dde0067eec [purity] Don't report pure functions if hoisting mode is turned-on
6 years ago
Ezgi Çiçek f3d82a0230 [hoisting] Don't report functions modeled as VariantForHoisting but consider them invariant
6 years ago
Ezgi Çiçek 2f06fd768f [purity, hoisting] Keep track of modified args
6 years ago
Ezgi Çiçek d5a2198010 [hoisting] Make invalidation stop at already explored (var,node) pairs
6 years ago
Ezgi Çiçek ff722f975d [hoisting] Stop invalidation at loop head
6 years ago
Ezgi Çiçek 3fb1053b75 [hoisting] Invalidate arguments of type structs
6 years ago
Mehdi Bouaziz 9a4416f7d4 [quandary] String concatenation sanitizes class loading
6 years ago
Mehdi Bouaziz 174bdcd22b [quandary] Add class-loading sinks
6 years ago
Sungkeun Cho 2401f6f6eb [inferbo] Give a widening threshold of zero
6 years ago
Sungkeun Cho b2189c1c17 [inferbo] Loosen similar bounds condition
6 years ago
Sungkeun Cho bf29bd9772 [inferbo] Fix xcompare of Itv
6 years ago
Ezgi Çiçek 39335bb095 [hoisting] Invalidate all dependencies of invalidated parameters
6 years ago
Ezgi Çiçek 8a51a70162 [Hoisting] Add FP test for indirect modification in loop
6 years ago
Ezgi Çiçek affe3d1d60 [hoisting] Invalidate args of impure function calls
6 years ago
Sungkeun Cho 120c8785eb [inferbo] Update pp of buffer overflow condition
6 years ago
Sungkeun Cho 3f71cf327b [inferbo] Separate offset and index in condition
6 years ago
Mehdi Bouaziz 3ee96263a7 [inferbo] Simplify and improve Itv.prune_comp
6 years ago
Mehdi Bouaziz ce34dcb695 Format everything
6 years ago
Sungkeun Cho fd3f298156 [inferbo] Add narrowing
6 years ago
Mehdi Bouaziz 3dd97cc40f [inferbo] Use WTO abstract interpreter
6 years ago
Nikos Gorogiannis ea7b185b6b [classloads] add option for specifying root methods and add tests
6 years ago
Sungkeun Cho 3f969414fe [inferbo] Check integer overflow when really need
6 years ago
Sungkeun Cho cd1981a567 [inferbo] Change pp of BinaryOperationCondition
6 years ago
Sungkeun Cho fb4086c6f6 [inferbo] Add integer overflow issue type
6 years ago
Dino Distefano 3d07754275 Giving cost 1 to procedure with empty body
6 years ago
Ezgi Çiçek 78a865b14e [hosting] Disable purity and cost callbacks temporarily
6 years ago
Ezgi Çiçek 99c2a6da8d [hoisting] Hoist only expensive pure functions
6 years ago
Nikos Gorogiannis 9eecd1bb9b [racerd] reconcile java and clang report corellation code
6 years ago
Mehdi Bouaziz c3f2fbc8c6 [inferbo] Do not alias values representing multiple values (Java, C partially)
6 years ago
Jeremy Dubreil 56709b4ccb [infer] the bug hash should also consider the anonymous classes in the qualifier
6 years ago
Jeremy Dubreil fd29aff3a7 [infer] remove the special case to always create summaries for the Java methods
6 years ago
Nikos Gorogiannis 1644e99499 [starvation] add issue type STRICT_MODE and make distinct reports on it
6 years ago
Ezgi Çiçek b54307f5d0 [Hoisting] Add test for FP due to no purity check
6 years ago
Ezgi Çiçek aca0b8e130 [Hoisting] Fix hoisting of void functions
6 years ago
Jeremy Dubreil 2f7e4563c6 [eradicate] also lookup the procedure attributes in the super class
6 years ago
Mehdi Bouaziz e11ec33289 arc: add Java formatter
6 years ago
Jeremy Dubreil ae1861ca42 [eradicate] match the number of parameters when iterating over the list of overridden methods
6 years ago
Mehdi Bouaziz 7c89d92851 [RFC] Format all java files
6 years ago
Jeremy Dubreil 1989ef7e28 [eradicate] add example false positive caused by not finding the attributes
6 years ago
Ezgi Çiçek 43b3f80de5 Add simple purity analysis
6 years ago
Jules Villard bb037c39ee [kill -a][4/4] kill `Config.analyzer`, deprecate `--analyzer`
6 years ago
Jules Villard a29e769b61 [kill -a][1/4] stop using `-a foo` in the infer repo
6 years ago
Jeremy Dubreil 878add3fad [eradicate] no longer report Field Not Nullable warnings on the Fragment onDestroy method
6 years ago
Nikos Gorogiannis 631959ced0 [starvation] refactor method matching ; kill dev-android-strict-mode option
6 years ago
Nikos Gorogiannis 0c7a8556dc [concurrency] treat @MainThread annotation
6 years ago
Nikos Gorogiannis 66392db8d5 [starvation] allow specifying method patterns for skipping analysis via cmdline and inferconfig
6 years ago
Jeremy Dubreil 48f03f06f4 [eradicate] skip the analysis of the method in external methods
6 years ago
Jeremy Dubreil ff851040fc [eradicate] read the procedure attributes directly
6 years ago
Jeremy Dubreil 3442ce1999 [eradicate] no longer report Inconsistent Subclass Return Annotation when overriding external methods
6 years ago
Nikos Gorogiannis 52eef069b2 [concurrency] fix UI thread models
6 years ago
Jeremy Dubreil c38163a83a [eradicate] the Java map put method does not accept nullable parameters
6 years ago
Martino Luca aea1b4095e [Perf][CI] Disable threshold based cost reports
6 years ago
Nikos Gorogiannis 888a169dce [starvation] make a trace out of our explanation as to why a method runs on the UI thread
6 years ago
Nikos Gorogiannis a6e5ab7fdb [starvation][strict mode] disable strict mode violation reporting and analysis by default
6 years ago
Nikos Gorogiannis 96e698a458 [starvation] strict mode meta-analyzer for Android
6 years ago
Ezgi Çiçek 15bdcca119 [Loop-hoisting] Add a new model for Javax's Provider.get() and make it invariant only
6 years ago
Mehdi Bouaziz 46cd49df8d PrintfArgs is not an Eradicate checker
6 years ago
Mehdi Bouaziz 39a146a56a Reporting cleanup 14: log error using state
6 years ago
Ezgi Çiçek b2e7a785ba [Loop-hoisting] Add more models for invariant analysis
6 years ago
Ezgi Çiçek 49e582fa49 [Loop-hoisting] Add a new checker for hoisting invariant function calls
6 years ago
Nikos Gorogiannis 14556f52b4 [starvation] whitelist @WorkerThread methods
6 years ago
Nikos Gorogiannis af14da6a13 [starvation] stop considering View.get... as blocking.
6 years ago
Ezgi Çiçek 527fb90bbe [Cost] Add a Java model for functions to be considered invariant
6 years ago
Ezgi Çiçek cc18f9883d [Cost] Fix invariant variable analysis to be based on all reaching defns
6 years ago