Commit Graph

2221 Commits (ce190547a542889db250b2a009625a461edacb25)

Author SHA1 Message Date
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
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
Martino Luca 6d12d67613 [Perf] Embed filtering for costs reports 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
Jules Villard b42d625606 [tests] fix buck tests 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
Martin Trojer 0d4a0ba35c [objc] add test for strong/weak self references 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 7 years ago
Sungkeun Cho 00081274cb [inferbo] Preciser pruning: (x != 0) 7 years ago
Sungkeun Cho b2189c1c17 [inferbo] Loosen similar bounds condition 7 years ago
Sungkeun Cho bf29bd9772 [inferbo] Fix xcompare of Itv 7 years ago
Ezgi Çiçek 39335bb095 [hoisting] Invalidate all dependencies of invalidated parameters 7 years ago
Sungkeun Cho fed56fd0d8 [inferbo] Revise deduplication 7 years ago
Dino Distefano 5d533bba5c New Infer rule for dispatch_once_t 7 years ago
Sungkeun Cho 9e9deb93be [inferbo] Use set instead of list on get_symbols 7 years ago
Ezgi Çiçek 8a51a70162 [Hoisting] Add FP test for indirect modification in loop 7 years ago
Ezgi Çiçek affe3d1d60 [hoisting] Invalidate args of impure function calls 7 years ago
Daiva Naudziuniene 4954d3da4b [pulse] Model operator= 7 years ago
Daiva Naudziuniene 881bcb8fce [pulse] Clean up placement new model 7 years ago
Sungkeun Cho a2312462eb [inferbo] Use values of global constant variables in C 7 years ago
Sungkeun Cho e5ee023aa3 [infer] Add integral constant expression info 7 years ago
Jules Villard 0a2cb44667 [pulse] introduce the more precise `VECTOR_INVALIDATION` issue type 7 years ago
Jules Villard f627812541 [pulse] new issue type `USE_AFTER_DESTRUCTOR` 7 years ago
Jules Villard c6b2126c3f [pulse] forget about addresses that are invalid on only one side of a join 7 years ago
Daiva Naudziuniene 8b54879b07 [pulse] Constructors 7 years ago
Sungkeun Cho 87dd2047ec [infer] Use big int in IntLit 7 years ago
Sungkeun Cho 120c8785eb [inferbo] Update pp of buffer overflow condition 7 years ago
Daiva Naudziuniene 1094a8224c [pulse] Invalidate object rather than address in destructor call 7 years ago
Sungkeun Cho 423b732cb4 [inferbo] Fix condition of narrowing termination 7 years ago
Mehdi Bouaziz 10804588b2 New function pointer preanalysis without recursion 7 years ago
Mehdi Bouaziz 6131b1fd13 Allow ints for int options in .inferconfig 7 years ago
Sungkeun Cho a40a7984c7 [inferbo] Try division on minmax value conservatively 7 years ago
Sungkeun Cho 3f71cf327b [inferbo] Separate offset and index in condition 7 years ago
Sungkeun Cho 0ce0ec03d9 [inferbo] Support global constant 7 years ago
Dino Distefano 6fe3edc44e Extending type matching to BlockExpr 7 years ago
Jules Villard 6cce767d19 [pulse] copy tests from ownership 7 years ago
Jules Villard cf66ea0afb [pulse] havoc vector array on push_back 7 years ago
Jules Villard 6d6ac1d368 [pulse] do not use access paths as they forget about &/* 7 years ago
Jules Villard f5786c444b [pulse] use after free 7 years ago
Jules Villard 38ced865f3 [pulse] more issue types and add details about why locations get invalidated 7 years ago
Mehdi Bouaziz 3ee96263a7 [inferbo] Simplify and improve Itv.prune_comp 7 years ago
Mehdi Bouaziz 2824056af5 [inferbo] Normalize intervals after substitution 7 years ago
Nikos Gorogiannis 342bfb418a [racerd] fix NSObject.init treatment of ownership 7 years ago
Nikos Gorogiannis b0b8459c3a [racerd] detect ObjC "private" methods 7 years ago
Nikos Gorogiannis 105b772cff [racerd] iOS first steps 7 years ago
Mehdi Bouaziz 148664a7d4 Fix objc tests 7 years ago
Mehdi Bouaziz ce34dcb695 Format everything 7 years ago
Mehdi Bouaziz ecedb27d77 Add missing FB copyrights 7 years ago
Sungkeun Cho fd3f298156 [inferbo] Add narrowing 7 years ago
Daiva Naudziuniene 5dab665fc2 [pulse] Model placement new 7 years ago
Daiva Naudziuniene 50da07e922 [pulse] Invalidate addresses for destructors 7 years ago
Sungkeun Cho 85ef451701 [infer] Use integer widths on constructing Sizeof exp 7 years ago
Mehdi Bouaziz 3dd97cc40f [inferbo] Use WTO abstract interpreter 7 years ago
Sungkeun Cho f28faad627 [inferbo] Filter integer_overflow_l5 and _u5 by default 7 years ago
Nikos Gorogiannis ea7b185b6b [classloads] add option for specifying root methods and add tests 7 years ago
Jules Villard 497720386e [pulse] join of memory graphs 7 years ago
Mehdi Bouaziz e72cd6c00f [inferbo] More precise min/max 7 years ago
Sungkeun Cho 38ab5fda4e [inferbo] Add some tests of imprecise pruning on unsigned int 7 years ago
Mehdi Bouaziz 592efbf5fa [inferbo] Refine <= for MinMax 7 years ago
Sungkeun Cho 3f969414fe [inferbo] Check integer overflow when really need 7 years ago
Sungkeun Cho 5d9f11c68e [inferbo] Do not raise integer overflow when multiplying 1 7 years ago
Sungkeun Cho cd1981a567 [inferbo] Change pp of BinaryOperationCondition 7 years ago
Jules Villard 47867a8fdc [pulse] rename `Location` -> `Address` and better reporting 7 years ago
Jules Villard dd220a0fb4 [pulse] vector models 7 years ago
Jules Villard ad98ffa22b [pulse] more aggressive join 7 years ago
Mehdi Bouaziz 6d9943f2aa Uninit: fix test 7 years ago
Martin Trojer 0d4b88ae29 [objc] fixing false positive for weak pointers inside c++ structs 7 years ago
Sungkeun Cho fb4086c6f6 [inferbo] Add integer overflow issue type 7 years ago
Mehdi Bouaziz 81f31068e2 [Uninit][9/13] Check rhs using prestate 7 years ago
Dino Distefano 3d07754275 Giving cost 1 to procedure with empty body 7 years ago
Jules Villard 3821be4b7f [pulse] fix compilation error in test 7 years ago
Jules Villard d28d0528d1 [pulse] initial commit 7 years ago
Sungkeun Cho fd660f42f5 [inferbo] Suppress exception on placement new 7 years ago
Dino Distefano 2e64566a6c Finding stateless CKComponents 7 years ago
Ezgi Çiçek 78a865b14e [hosting] Disable purity and cost callbacks temporarily 7 years ago
Ezgi Çiçek 99c2a6da8d [hoisting] Hoist only expensive pure functions 7 years ago
Nikos Gorogiannis 9eecd1bb9b [racerd] reconcile java and clang report corellation code 7 years ago
Dino Distefano 08a26d4ba1 First approximation of stateless 7 years ago
Mehdi Bouaziz c3f2fbc8c6 [inferbo] Do not alias values representing multiple values (Java, C partially) 7 years ago
Mehdi Bouaziz eca0b491d6 Weak Topological Order and Abstract Interpreter using it 7 years ago
Mehdi Bouaziz 5679105c15 [Uninit][7/13] Add new tests 7 years ago
Dino Distefano 89700a7d95 Added new predicated for captured values 7 years ago
Mehdi Bouaziz 8cac7df447 [Uninit][1/13] Move interproc tests 7 years ago
Sungkeun Cho 1330475032 [infer] Fix placement_new translation 7 years ago
Sungkeun Cho f4ee2a0234 [inferbo] Revise placement new model 7 years ago
Jeremy Dubreil 56709b4ccb [infer] the bug hash should also consider the anonymous classes in the qualifier 7 years ago
Jules Villard 7615963bf4 [proc-cfg][2/5] fix duplicate symbols detection 7 years ago
Jeremy Dubreil fd29aff3a7 [infer] remove the special case to always create summaries for the Java methods 7 years ago
Sungkeun Cho 96cbdb15c7 [inferbo] Use big_int in interval domain 7 years ago
Nikos Gorogiannis 1644e99499 [starvation] add issue type STRICT_MODE and make distinct reports on it 7 years ago
Jules Villard 116ec5ae55 [clang] changes to accomodate the new version of clang 7 years ago
Ezgi Çiçek b54307f5d0 [Hoisting] Add test for FP due to no purity check 7 years ago