2369 Commits (d96ab2458d6eccedec33617bd9b9a1b5b687adc5)

Author SHA1 Message Date
Nikos Gorogiannis 05f14391a6 [racerd] replace quandary traces with explicit ones
6 years ago
Ezgi Çiçek 9790eb5a78 [cpp][linters] Hotfix: linter error
6 years ago
Dino Distefano 52b72f4bbe Added more allocation primitives
6 years ago
Lee Howes 5c2ef731ff Add support for qualified functions and a call_qualified_function predicate
6 years ago
David Lively 5aedc7e71c [AL] expose source loc of decl referenced by decl_ref
6 years ago
Wenzhe Lu ead4c44f9d Adding Long.parseLong model to nullsafe/modelTables.ml
6 years ago
David Lively f00950a3c8 [AL] fix ast_node_cxx_fully_qualified_name for constructor exprs
6 years ago
David Lively 96beec5e53 [AL] fix ast_node_cxx_fully_qualified_name w/non-global vars
6 years ago
Mehdi Bouaziz 564d0113b4 [Cost] More precise traces for Top
6 years ago
Radu Grigore 86861498a5 Slightly more precise pi_partial_meet
6 years ago
Ezgi Çiçek 88a1dedb90 [cost] Ignore counting dummy loads
6 years ago
Jules Villard c3cadace86 [SIL][3/3] add CallFlag for synthetised destructor calls
6 years ago
Jules Villard a36db66940 [SIL][2/3] print all the CallFlags
6 years ago
Jules Villard 363d69430d [ai][pulse] use subgraph-based implication between states
6 years ago
Mehdi Bouaziz defaccf032 [Cost] Avoid Top to Top performance variations
6 years ago
Sungkeun Cho 22aea43f76 [inferbo] Assign unknown value for unknown functions
6 years ago
Dino Distefano 3b8782a6c1 added allocation
6 years ago
Sungkeun Cho 4ca8a32102 [inferbo] Do not add Unknown location to alias
6 years ago
Jeremy Dubreil 130a729674 [infer] report the Fragment Retains View issues as warnings instead of errors
6 years ago
Jules Villard a19db6605c [AI][pulse] lists of disjuncts instead of sets
6 years ago
Jules Villard 44007f054c [pulse] collect garbage (unreachable) heap parts from time to time
6 years ago
Mehdi Bouaziz 264a97794d [inferbo] Exact result for (c1 - max(d, x)) + (c2 + x)
6 years ago
Sungkeun Cho 4a013f5bf6 [inferbo] Add FN test of using global constant
6 years ago
Sungkeun Cho b55996d01a [inferbo] Symbolic value for global variable
6 years ago
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
Ezgi Çiçek 274570f499 [objc] Fix test results for linters
6 years ago
Dino Distefano aae5192b79 fix vardecl const
6 years ago
Sungkeun Cho cc1e18e124 [inferbo] Differentiate proof obligations by allocsites
6 years ago
Sungkeun Cho bae98c607f [infer] Translate VAArgExpr to the builtin function
6 years ago
Jeremy Dubreil 82c4b716bf [eradicate] rename the warning raised when dereferencing nullable types
6 years ago
Ezgi Çiçek 14f8c3566f [cost] Add highest degree trace of the current cost to differential
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
Sungkeun Cho c91d0a777d [inferbo] Avoid precision-losing pruning
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
Jeremy Dubreil bef0a5638f [infer][biabduction] make sure the abort() is treated like exit()
6 years ago
Sungkeun Cho 78d786da41 [inferbo] Add a test showing limitation of min/max domain
6 years ago
Ezgi Çiçek cd20abfc88 [cost] Add trace to symbols in polynomial bounds
6 years ago
Sungkeun Cho ad08184d3b [inferbo] Keep alias of simple plus/minus arithmetic
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
Nikos Gorogiannis b243fae86c [starvation] template filters
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 4c4bb84e2c [liveness] blacklist of dangerous classes
6 years ago
Jules Villard adb74f7c31 update ant tests that should have been done in D14005228
6 years ago
Jules Villard c79f966279 [java] model `Double` like `Integer`
6 years ago
Jules Villard 41abbe363d [clang] do not add extra dereferences
6 years ago
Jules Villard 4d46f8631e [objc] unbreak frontend test
6 years ago
Jeremy Dubreil 50eae0739d [nullsafe] add an example using Guava Verify.verifyNotNull(...)
6 years ago
Jules Villard f8338d8faf [clang] ignore `__attribute__((unused))` variable initialisations
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
Calascibetta Romain 137e070ece [infer][PR] Move to base64.3.0.0
6 years ago
Sungkeun Cho bd136ac24e [inferbo] Prune string length at "if(fgets(s, ...))"
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
David Lively c5890238f0 [Config] support arbitrary named symbol lists
6 years ago
Jules Villard e572bbe2b6 [make] do not call external build systems to clean
6 years ago
Sungkeun Cho caf61461ac [inferbo] Update reachability conditions at function call
6 years ago
Sungkeun Cho 5a5f83a492 [inferbo] Add strcat model
6 years ago
Sungkeun Cho f250ca7e06 [inferbo] Evaluation of abstract location of literal string
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
Daiva Naudziuniene 6d562fc7b0 [dead store] Dead store false positive caused by forgetting expression inside decltype
6 years ago
Sungkeun Cho 0447c5b8d5 [inferbo] Give a widening threshold for array offset
6 years ago
Sungkeun Cho 7b7e6990e4 [inferbo] Add models for basic array iterator
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
Sungkeun Cho 7a4862b994 [inferbo] Revise std::array::at model
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
David Lively a8c946f1d9 new predicate is_in_source_file and placeholders %source_file% and %kind%
6 years ago
Sungkeun Cho ca463d17c1 [inferbo] Add strcpy model
6 years ago
Sungkeun Cho 9bb5738675 [inferbo] Add test for contents of std::array
6 years ago
Sungkeun Cho 6226722c22 [inferbo] Add a test of comparison operator as function
6 years ago
Sungkeun Cho 371dc2060f [inferbo] Add strndup model
6 years ago
Nikos Gorogiannis f171d0496b [classloads] array expressions
6 years ago
Sungkeun Cho 7fda4f1cc2 [inferbo] Revise strncpy model
6 years ago
Sungkeun Cho 1bcdc6e761 [inferbo] Extend conditional proof obligation for inequalities
6 years ago
Nikos Gorogiannis 3fc4ccbc14 [classloads] load super classes recursively
6 years ago
Sungkeun Cho 0d07a240ea [inferbo] Literal string on stack location
6 years ago
Nikos Gorogiannis 89e396571d [classloads] treat loads and stores wrt to field derefs
6 years ago
David Lively d390a6f08a [CType_decl] Add missing case to `get_record_typename`
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
Sungkeun Cho 6e04a9469b [inferbo] Revise memcpy model
6 years ago
Sungkeun Cho 09a5671ef4 [inferbo] Add a test for conditional inequality
6 years ago
Nikos Gorogiannis 39b11619b8 [classloads] overhaul test infra & fix treatment of self-class loading in method calls
6 years ago
Sungkeun Cho 9bd1191669 [inferbo] Add fgets model
6 years ago
Sungkeun Cho 58cdefc118 [inferbo] Add strlen model
6 years ago
Sungkeun Cho 5aa26dc32e [inferbo] Add an allocsite type for literal strings
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
Sungkeun Cho db441ffc8a [inferbo] Prevent deduplication of issues when different conditions
6 years ago
Nikos Gorogiannis 7bbb7fc869 [clang][objcpp] register exported methods and treat them as private in RacerD
6 years ago
Sungkeun Cho 98cd2e59da [inferbo] Add tests: values representing multiple values
6 years ago
Sungkeun Cho 10f4ad06ba [inferbo] Add traces on cast
6 years ago
Mehdi Bouaziz 405dee5ceb [inferbo] Consider `this` to never be a pointer inside an array
6 years ago
Ezgi Çiçek f7deed7593 [cost] Add examples that we can't handle currently
6 years ago
Sungkeun Cho 05ec029e50 [inferbo] Suppress intended integer overflow
6 years ago
Fabio Milano 499e6398b1 [CK][Linter Rule] Add CKRenderLayoutWithChildren component to Component Kit Conventional Superclass
6 years ago
Fabio Milano 28c3ed50de [CK][Linter Rule] Add CKRenderLayout component to Component Kit Conventional Superclass
6 years ago
David Lively 322066d248 Rename {has_,}cxx_full_name to {has_,}cxx_fully_qualified_name.
6 years ago
Sungkeun Cho d5faf2de52 [inferbo] Ignore encoding error in the snprintf model
6 years ago
Sungkeun Cho 05ceaebb7d [inferbo] Add model of String::operator==
6 years ago
Sungkeun Cho 5c1b862bbd [infer] Fix test script (build_utf8_in_pwd_test)
6 years ago
Sungkeun Cho 7f70251eff [infer] Fix filename to relative
6 years ago
Sungkeun Cho 0e5a902ac6 [inferbo] Add model of String::length
6 years ago
Jules Villard 4c1ee2a485 [pulse] add traces to the domain
6 years ago
Sungkeun Cho b84c519070 [inferbo] Add model of String::empty
6 years ago
Sungkeun Cho 196a602c25 [inferbo] Add model of basic_string
6 years ago
Sungkeun Cho 0f8444e235 [inferbo] Substitute conditions of proof obligations strictly
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 5ce86a1501 [inferbo] Do not compare deref_kind
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
Sungkeun Cho a48421aa0a [inferbo] XML escape in L.d_printfln
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
Mehdi Bouaziz 1827b42f68 [inferbo] Improve traces of binary operators when nothing changes
6 years ago
Daiva Naudziuniene b19ad38dae [pulse] Example of use after destructor for temporaries
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 de3c7bac45 [inferbo][easy] Shift right zero
6 years ago
Jules Villard 8d3363f677 [pulse] record simple double free test
6 years ago
Mehdi Bouaziz 8f060939d6 [inferbo] Java pointers, arrays and collections
6 years ago
Mehdi Bouaziz 4343f9c8b2 [cost] Adds Log elements to polynomials
6 years ago
Sungkeun Cho fc26f79b92 [inferbo] Weaken canonical path in on-demand value generation
6 years ago
David Lively 1f2b0d4152 Add new predicate has_cxx_qual_name and macro %cxx_full_name%
6 years ago
Martino Luca 3acf5bf2ad [Cost] Do not flag variations to/from zero-costing functions
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
Jules Villard 9868f7f763 [pulse] warn on returning address of C++ temporary
6 years ago
Jules Villard db1814b1d1 [pulse] detect stack variable address escape
6 years ago
Jules Villard c77f22310a [pulse] rewrite test to avoid stack variable address escape
6 years ago
Jules Villard 1b79f13a18 [ownership] make heuristic for reporting on lambdas more shareable
6 years ago
Jules Villard 2bb9e5ad85 [pulse] rename function that was never a pulse FP
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
Sungkeun Cho 6920532e12 [inferbo] Forget only updated locations from latest prune at Store
6 years ago
Sungkeun Cho e52b1e077e [inferbo] Conditional proof obligation
6 years ago
Sungkeun Cho 4ad5d38b69 [inferbo] Revise join of LatestPrune
6 years ago
Sungkeun Cho 2531c75cea [inferbo] Add literal string assignment
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 fd8b4795b8 [inferbo] Symbolic length for no-size flexible arrays
6 years ago
Mehdi Bouaziz af6e4ff9d1 Fix quandary tests output
6 years ago
Daiva Naudziuniene e2b5a6f941 [pulse] Allow taking address of a field of an invalid object
6 years ago
Mehdi Bouaziz 87b3907628 [quandary] Allow several kinds for external sources/sinks
6 years ago
Mehdi Bouaziz 5c4de212fb [inferbo] New test + more debug
6 years ago
Fabio Milano 72f6540893 [CK][Linter Rule] Fix Component Kit Unconventional Superclass tests
6 years ago
Daiva Naudziuniene 220d29766d [pulse] Model stack as a map from addresses of variables
6 years ago
Nikos Gorogiannis 101283f9d0 [starvation] fix trace description strings for taking locks
6 years ago
Jules Villard 65d031af66 [pulse] model lambda captures
6 years ago
Fabio Milano afed12ad52 [CK][Linter Rule] Added CKRenderWithChildrenComponent as conventional component kit superclass
6 years ago
David Lively 5a531ac755 Make is_cxx_method_overriding predicate take regex matching class/name
6 years ago
Ezgi Çiçek 61b51b09db [hoisting] Rename hoisting message
6 years ago
Daiva Naudziuniene fcfb6cc361 [pulse] Model more std::vector functions that can invalid references to elements
6 years ago
Jules Villard 95fab102bf [pulse] do not destroy `this` even if asked to
6 years ago
Sungkeun Cho f409450d8b [inferbo] Add tests for conditional proof obligations
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
Nikos Gorogiannis 2701073b3e [starvation] C++ deadlock FPs due to recursive and unknown mutexes
6 years ago
Nikos Gorogiannis 9c240ed978 [starvation] skip analysis option should be used at top level too
6 years ago
Sungkeun Cho a8dbaf082d [inferbo] Weak update for array contents
6 years ago
Sungkeun Cho f9161b164f [inferbo] On-demand heap symbol using path
6 years ago
Jeremy Dubreil 1c4630d370 [infer][nullable] remove report de-duplication between the bi-abduction analysis and Eradicate
6 years ago
Nikos Gorogiannis 27d8a65906 [starvation][concurrency] split guard lock treatment and add support for non-recursive locks (per language)
6 years ago
Jeremy Dubreil 69af58506d [infer][nullsafe] rename the option to run the Nullsafe checker
6 years ago
Sungkeun Cho 98d05044fb [inferbo] Visit every nodes at narrowing
6 years ago
Mehdi Bouaziz a689301c53 [inferbo] eval_locs
6 years ago
Daiva Naudziuniene 332b150be9 [pulse] Model std::vector::reserve to invalidate references to elements
6 years ago
Ted Reed 28b346a903 quandary: Detect flows to EnvironmentChange that includes putenv only
6 years ago
Ezgi Çiçek 80de133482 [inferbo,cost] Add symbols for unknown function calls
6 years ago
Ezgi Çiçek 6017c2ec54 [cost] Fix control variables to pick up global vars in prune instructions
6 years ago
Sungkeun Cho 4b2c65f2e2 Revert "[inferbo] Instantiate symbolic locations in function parameters"
6 years ago
Sungkeun Cho 9013e38594 [inferbo] Add/remove _FP in repro1.cpp test
6 years ago
Sungkeun Cho 760fabe825 [inferbo] Ignore __variable_initialization
6 years ago
Sungkeun Cho 2a94e907e2 [inferbo] Revise pp of Symb.partial
6 years ago
Daiva Naudziuniene 485b9c7bf5 [pulse] Abstract Location Set
6 years ago
Sungkeun Cho 62d45f9c01 [inferbo] Copy callee's values that are reachable from parameters
6 years ago
Sungkeun Cho 4e166f3375 [inferbo] Instantiate symbolic locations in function parameters
6 years ago
David Lively 33eabe6bfd New is_cxx_method_overriding predicate
6 years ago
Daiva Naudziuniene e59d9632b1 [Pulse] Improve example to illustrate FP caused by an allocation in a branch
6 years ago
Jules Villard 9510549cf6 [ios] kill flaky linter test
6 years ago
Jules Villard 1c668c4d41 [SIL][preanalysis] add call flag for functions treating first formal as return
6 years ago