Commit Graph

2394 Commits (de52574caf67b1dfbb63bfc94bf278d7236192c9)

Author SHA1 Message Date
Mehdi Bouaziz 9db3a3a0b6 [Inferbo] Abstract repeated fields in paths 6 years ago
Ezgi Çiçek d033e72196 [purity] Add tests for locality 6 years ago
Andrew Adams-Moran 0ad15356c2 Add @Cleanup annotation 6 years ago
Jules Villard 6364199b94 [pulse] traces record how values were constructed 6 years ago
Jeremy Dubreil 8d36c33d20 [eradicate] record false positive when testing the return on an assignment 6 years ago
Jeremy Dubreil 80ecc959a4 [eradicate] recording false positive example with nullability information stored into a boolean 6 years ago
Jeremy Dubreil adbf6861e9 [eradicate] record false positive when incorrectly looking up overriden methods 6 years ago
Jeremy Dubreil 4725c97fc9 [eradicate] record false positive with nullability information lost after assignment 6 years ago
Dino Distefano 10ca0c3269 Fix detection of return type for instancetype when using NS_ASSUME_NONNUL 6 years ago
Mehdi Bouaziz b27c02ad35 [clang] Correct value for offsetof 6 years ago
Nikos Gorogiannis 1d846ba631 [racerd] kill original paths from summary 6 years ago
Jeremy Dubreil b47e2d13f3 [eradicate] simplify the analysis traces 6 years ago
Dino Distefano 4f982e9f63 Add predicate for Unavailable attr 6 years ago
Dino Distefano df438016f2 Adding SourceExp transition to AL 6 years ago
Ezgi Çiçek da13e52b27 [inferbo] Generalize String.length to CharSequence.length 6 years ago
David Lively e0ce8c4392 Add --annotation-reachability-cxx-sources override option 6 years ago
Ezgi Çiçek c85563d606 [inferbo,cost] Add cost models for java.util.Collections 6 years ago
Nikos Gorogiannis 941b63a426 [classloads] remove possible race 6 years ago
Jeremy Dubreil 07d6ab2dd6 [infer][racerd] report the thread safety violations as warnings instead of errors 6 years ago
Lee Howes 183e9ed9fa Add call_cxx_method predicate 6 years ago
Ezgi Çiçek c114a4b9f2 [control,cost] Add test for dangling global enum 6 years ago
Ezgi Çiçek f4cdc23543 [hoisting] Turn on hoisting of expensive functions by default 6 years ago
Ezgi Çiçek 7e16aafdba [loop-hoisting] Incorporate cost trace into EXPENSIVE_LOOP_INVARIANT_CALL issues 6 years ago
Ezgi Çiçek 6d25b0990d [cost,purity] Model java's Map as Collections 6 years ago
Ezgi Çiçek 105e50d432 [inferbo,cost] Add models for SparseArray 6 years ago
Ezgi Çiçek 4eec73c2f2 [loop-hoisting] Add complexity to EXPENSIVE_LOOP_INVARIANT_CALL issue message 6 years ago
Ezgi Çiçek a2140c3ae4 [hoisting] Rename LOOP_INVARIANT_CALL to EXPENSIVE_LOOP_INVARIANT_CALL and remove VariantForHoisting 6 years ago
Jules Villard b5589661ce [pulse] improve error messages and traces 6 years ago
Jules Villard 9dbbd68472 [pulse] apply summaries to globals too 6 years ago
Jules Villard 3ba05b8cee [pulse] be more careful about what to consider as a variable going out of scope 6 years ago
Jules Villard 31c2a39e81 [pulse] tighten up summaries 6 years ago
Jules Villard 7c90480758 [pulse] do not create `&` back-edges eagerly 6 years ago
Jules Villard ada032ee2c [pulse] improve error messages and traces 6 years ago
Jules Villard db4e1ea433 [pulse] reallocate variables on initialisation 6 years ago
Jules Villard 3ce095a288 [pulse] more efficient representation of attributes 6 years ago
Jules Villard d57ed5086e [pulse] better treatment of variables going out of scope 6 years ago
Jules Villard 53b1577b4c [pulse][interproc 3/3] interproc call 6 years ago
Radu Grigore 344889775b [infer][PR] Don't join postconditions. Fixes . 6 years ago
Jules Villard 686231ec6e [SIL] change `variable_initialization()` builtin to a new auxiliary instruction 6 years ago
Jules Villard 2151be9c25 [issues] do not dedup issues when `Config.filtering` is unset 6 years ago
Ezgi Çiçek b802620bc8 [cost] Add cost models for loop invariant functions 6 years ago
David Lively 996f7c4f02 Allow Cxx annotation-reachability src/sink/override w/paths AND symbols 6 years ago
Jules Villard ebe5028ca1 [SIL] add `Skip` metadata instruction 6 years ago
Jules Villard b665e1c575 [SIL][HIL] distinguish auxiliary instructions as `Metadata` 6 years ago
David Lively f12bbacbdd [annotation-reachability] stop merging sanitized nodes' callees 6 years ago
David Lively 87391f6f2f [annotation-reachability] make CxxAnnotationSpecs.report more user-friendly 6 years ago
David Lively 5d4a27ea54 RFC: stop using _ to separate ObjC/C++ class name from method in Typ.Procname.to_string 6 years ago
Nikos Gorogiannis 3e94fc7e16 [racerd] consider interfaces extending android.os.IInterface as automatically threadsafe 6 years ago
Nikos Gorogiannis cf6ced0580 [racerd] on-annotations 6 years ago
Dino Distefano 1172e6de50 Translate SynchronizedStmt 6 years ago
Ezgi Çiçek ba42e3fa46 [inferbo] Add models for CF 6 years ago
David Lively 20b21698f6 [checkers] enable config-driven annotation reachability for Cxx 6 years ago
Sungkeun Cho e5381a90d5 [inferbo] Propagate LatestPrune on function calls 6 years ago
Sungkeun Cho 4c0aa1f69d [inferbo] Revise substitution of array block 6 years ago
Nikos Gorogiannis fdcd4cf591 [racerd] modulo loc 6 years ago
Sungkeun Cho 5762c47ef2 [inferbo] Accumulate LatestPrune in sequential prunings 6 years ago
Jeremy Dubreil 261f1ba171 [infer] update the Pulse tests expected output 6 years ago
Jules Villard 605bc5e01a [pulse] fix some tests and add interproc tests 6 years ago
Jules Villard 4cdb65c237 [pulse] |- is now true only of isomorphic graphs 6 years ago
Jules Villard 4988523104 [AI] make join and widen use the same argument order 6 years ago
Sungkeun Cho 3b5ef0b31b [inferbo] Translate re-declared globals to point to original ones 6 years ago
Sungkeun Cho a46130655e [inferbo] Address __return_param on function calls 6 years ago
Ezgi Çiçek 857c59e022 [inferbo] Add model for Java's cast 6 years ago
Ezgi Çiçek ce0ccc10ec [inferbo,cost] Add models for Java Strings 6 years ago
Nikos Gorogiannis f78dfbaeda [racerd] guardeby checks on uithread 6 years ago
Mehdi Bouaziz 6df295060c [inferbo] Added FN test 6 years ago
Nikos Gorogiannis 98e796b006 [racerd] gate GuardedBy 6 years ago
Nikos Gorogiannis 4a75df2a83 [racerd] report only writes for GuardedBy 6 years ago
Sungkeun Cho c92d56e4ad [inferbo] Substitute symbolic value of unknown function call to top 6 years ago
Nikos Gorogiannis f32db5382f [racerd] restrict guarded by to one field/same or superclass 6 years ago
Radu Grigore 8bf65086e3 [topl] Parser for temporal properties 6 years ago
Ezgi Çiçek 713c308fc7 [inferbo] Generalize models for Java iterators 6 years ago
Ezgi Çiçek fb8faaf38a [objc] Fix performance Makefile to allow jackalope runs 6 years ago
Nikos Gorogiannis 59a10d00d4 [racerd] guardedby 6 years ago
Ezgi Çiçek 1884994cc0 [cost] Allow program variables to occur in control variables 6 years ago
Ezgi Çiçek b537685fc2 [purity] Enable Clang in purity analysis 6 years ago
Dino Distefano 67b42bf021 Added new issue types for Allocation and IO 6 years ago
David Lively 692a844e0c [AL] use found_decl_ref in recently added predicates/placeholders 6 years ago
Ezgi Çiçek ce190547a5 [java] Add support for openjdk11 6 years ago
Radu Grigore e226cf8ec4 Fresh footprint variables in added frame. 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
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
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 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
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
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 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
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
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
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
Jules Villard f3411a2203 [HIL] Add `ExitScope` instruction 6 years ago
Jules Villard 0b2dcbf406 [pulse] add non-passing tests about join 6 years ago
Jules Villard 55586b581b [preanalysis] do not delay killing variables taken by reference 6 years ago
Sungkeun Cho 15b77ee8c8 [inferbo] Give semantics for unsigned int casting of minus one 6 years ago
Sungkeun Cho 5f925869b6 [infer] Translate more casts (unsigned int) 6 years ago
Sungkeun Cho 442fecc030 [inferbo] Fix performance of issue deduplication 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
Nikos Gorogiannis bbd26769c9 [starvation] c++/Obj C deadlocks 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
Daiva Naudziuniene b640d69021 [pulse] An example of false positive caused by an allocation in a branch 6 years ago
Mehdi Bouaziz d6423cf598 [inferbo] Preparing for trace rewrite 6 years ago
Martino Luca 664978d654 Revert D12819709 to patch OOM events 6 years ago
Ezgi Çiçek 613c4a2848 [purity] Fix wrong invalidation of all params 6 years ago
Sungkeun Cho b4683d965d [inferbo] Resize array on casting 6 years ago
Sungkeun Cho 1486a5f105 [infer] Translate casting expressions of integer pointers 6 years ago
Jules Villard 646aa30797 [cfg] print dotty *after* pre-analysis 6 years ago
Ezgi Çiçek 5fa89e2563 [purity] Disable clang 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
Sungkeun Cho 0d2b0e1ab7 [inferbo] Fix check function for is_collection_add 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
Sungkeun Cho 1503f63c27 [inferbo] Fix evaluation of multi-dimensional arrays 6 years ago
Sungkeun Cho 07f8855185 [inferbo] Fix condition check of multi-dimensional array 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
Mehdi Bouaziz 42b16d45fa [inferbo] New tests 6 years ago
Martino Luca 0547878898 Update InferBO tests 6 years ago
Mehdi Bouaziz a7921536da [quandaryBO] New test 6 years ago
Daiva Naudziuniene 2c06254800 [pulse] False positive caused by multiple variables captured by value in lambda 6 years ago
Ezgi Çiçek 2f06fd768f [purity, hoisting] Keep track of modified args 6 years ago
Sungkeun Cho 1cbcbe6fb3 [inferbo] Improve division on constant 6 years ago
Sungkeun Cho 01a83e694b [inferbo] Improve semantics of binary and 6 years ago
Dino Distefano d10f6855f2 Making error message more explicit in CXX Reference rule 6 years ago
Jules Villard 67ff14b4ed [pulse] record attributes inside memory cells instead of separately 6 years ago
Jules Villard 6f9028a77f [pulse] use WTO scheduler 6 years ago
Sungkeun Cho b3bfa8100b [inferbo] Add test 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 72ce05c039 [inferbo] Fix width of bool 6 years ago
Daiva Naudziuniene 86f52e52ed [pulse] Operator= copy assignment 6 years ago
Jules Villard f30e97f072 [pulse] add model for `std::vector::reserve` using additional memory attribute 6 years ago
Jules Villard 1c8143898e [pulse] generalise "invalid" addresses as sets of attributes 6 years ago
Jules Villard 637018a330 [pulse] model some early exit functions 6 years ago
Jules Villard 9aa5582caa [clang] leave markers of variable initialization for pulse 6 years ago
Jules Villard 165cb1cf73 [pulse] back to sounder joins 6 years ago
Jules Villard f400d4c5c5 [pulse] always register havoc'd variables 6 years ago
Sungkeun Cho 2401f6f6eb [inferbo] Give a widening threshold of zero 6 years ago
Sungkeun Cho 00081274cb [inferbo] Preciser pruning: (x != 0) 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
Sungkeun Cho fed56fd0d8 [inferbo] Revise deduplication 6 years ago
Dino Distefano 5d533bba5c New Infer rule for dispatch_once_t 6 years ago
Sungkeun Cho 9e9deb93be [inferbo] Use set instead of list on get_symbols 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
Daiva Naudziuniene 4954d3da4b [pulse] Model operator= 6 years ago
Daiva Naudziuniene 881bcb8fce [pulse] Clean up placement new model 6 years ago
Sungkeun Cho a2312462eb [inferbo] Use values of global constant variables in C 6 years ago
Sungkeun Cho e5ee023aa3 [infer] Add integral constant expression info 6 years ago
Jules Villard 0a2cb44667 [pulse] introduce the more precise `VECTOR_INVALIDATION` issue type 6 years ago
Jules Villard f627812541 [pulse] new issue type `USE_AFTER_DESTRUCTOR` 6 years ago
Jules Villard c6b2126c3f [pulse] forget about addresses that are invalid on only one side of a join 6 years ago
Daiva Naudziuniene 8b54879b07 [pulse] Constructors 6 years ago
Sungkeun Cho 87dd2047ec [infer] Use big int in IntLit 6 years ago
Sungkeun Cho 120c8785eb [inferbo] Update pp of buffer overflow condition 6 years ago
Daiva Naudziuniene 1094a8224c [pulse] Invalidate object rather than address in destructor call 6 years ago
Sungkeun Cho 423b732cb4 [inferbo] Fix condition of narrowing termination 6 years ago
Mehdi Bouaziz 10804588b2 New function pointer preanalysis without recursion 6 years ago
Sungkeun Cho a40a7984c7 [inferbo] Try division on minmax value conservatively 6 years ago
Sungkeun Cho 3f71cf327b [inferbo] Separate offset and index in condition 6 years ago
Sungkeun Cho 0ce0ec03d9 [inferbo] Support global constant 6 years ago
Dino Distefano 6fe3edc44e Extending type matching to BlockExpr 6 years ago
Jules Villard 6cce767d19 [pulse] copy tests from ownership 6 years ago
Jules Villard cf66ea0afb [pulse] havoc vector array on push_back 6 years ago
Jules Villard 6d6ac1d368 [pulse] do not use access paths as they forget about &/* 6 years ago
Jules Villard f5786c444b [pulse] use after free 6 years ago
Jules Villard 38ced865f3 [pulse] more issue types and add details about why locations get invalidated 6 years ago
Mehdi Bouaziz 3ee96263a7 [inferbo] Simplify and improve Itv.prune_comp 6 years ago
Mehdi Bouaziz 2824056af5 [inferbo] Normalize intervals after substitution 6 years ago
Nikos Gorogiannis 342bfb418a [racerd] fix NSObject.init treatment of ownership 6 years ago
Nikos Gorogiannis b0b8459c3a [racerd] detect ObjC "private" methods 6 years ago
Nikos Gorogiannis 105b772cff [racerd] iOS first steps 6 years ago
Mehdi Bouaziz 148664a7d4 Fix objc tests 6 years ago
Mehdi Bouaziz ce34dcb695 Format everything 6 years ago
Mehdi Bouaziz ecedb27d77 Add missing FB copyrights 6 years ago
Sungkeun Cho fd3f298156 [inferbo] Add narrowing 6 years ago
Daiva Naudziuniene 5dab665fc2 [pulse] Model placement new 6 years ago
Daiva Naudziuniene 50da07e922 [pulse] Invalidate addresses for destructors 6 years ago
Sungkeun Cho 85ef451701 [infer] Use integer widths on constructing Sizeof exp 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
Jules Villard 497720386e [pulse] join of memory graphs 6 years ago
Mehdi Bouaziz e72cd6c00f [inferbo] More precise min/max 6 years ago
Sungkeun Cho 38ab5fda4e [inferbo] Add some tests of imprecise pruning on unsigned int 6 years ago
Mehdi Bouaziz 592efbf5fa [inferbo] Refine <= for MinMax 6 years ago
Sungkeun Cho 3f969414fe [inferbo] Check integer overflow when really need 6 years ago
Sungkeun Cho 5d9f11c68e [inferbo] Do not raise integer overflow when multiplying 1 6 years ago
Sungkeun Cho cd1981a567 [inferbo] Change pp of BinaryOperationCondition 6 years ago
Jules Villard 47867a8fdc [pulse] rename `Location` -> `Address` and better reporting 6 years ago
Jules Villard dd220a0fb4 [pulse] vector models 6 years ago
Jules Villard ad98ffa22b [pulse] more aggressive join 6 years ago
Mehdi Bouaziz 6d9943f2aa Uninit: fix test 6 years ago
Martin Trojer 0d4b88ae29 [objc] fixing false positive for weak pointers inside c++ structs 6 years ago
Sungkeun Cho fb4086c6f6 [inferbo] Add integer overflow issue type 6 years ago
Mehdi Bouaziz 81f31068e2 [Uninit][9/13] Check rhs using prestate 6 years ago
Dino Distefano 3d07754275 Giving cost 1 to procedure with empty body 6 years ago
Jules Villard 3821be4b7f [pulse] fix compilation error in test 6 years ago
Jules Villard d28d0528d1 [pulse] initial commit 6 years ago
Sungkeun Cho fd660f42f5 [inferbo] Suppress exception on placement new 6 years ago
Dino Distefano 2e64566a6c Finding stateless CKComponents 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
Dino Distefano 08a26d4ba1 First approximation of stateless 6 years ago
Mehdi Bouaziz c3f2fbc8c6 [inferbo] Do not alias values representing multiple values (Java, C partially) 6 years ago
Mehdi Bouaziz eca0b491d6 Weak Topological Order and Abstract Interpreter using it 6 years ago