Commit Graph

5399 Commits (b55996d01aa88852bd029ae311dbec2963bfe508)

Author SHA1 Message Date
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
Sungkeun Cho d6494f725b [inferbo] Prepare supressing 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
Jeremy Dubreil be4c5aaa0f [infer] ignore the visibility field when creating the HTML reports 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
Mehdi Bouaziz 7ba4386199 [logging] Simplified and faster debug 6 years ago
Mehdi Bouaziz a726c34940 Logging: Fix delayed prints 6 years ago
Mehdi Bouaziz 5df11674dc Io_infer.with_color 6 years ago
Mehdi Bouaziz 1fa459967b Prune_node_kind: sum type rather than string 6 years ago
Mehdi Bouaziz 39207a644d HTML Printer: simplify start node & other things 6 years ago
Mehdi Bouaziz e53d3b990b Logging: higher-order color wrapper 6 years ago
Mehdi Bouaziz 908e1ab3ed Logging: Simplify d_instrs 6 years ago
Jules Villard 11eca94be7 [pulse] split PulseDomain.ml 6 years ago
Jules Villard 4c1ee2a485 [pulse] add traces to the domain 6 years ago
Jules Villard d9978bb897 [pulse] better pretty-printing of stacks 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
Mehdi Bouaziz 2ebbf554e5 [inferbo] Do not expose unsafe Itv.lb/ub 6 years ago
Nikos Gorogiannis ddc15ad663 [racerd] move models and domain operations to respective source files 6 years ago
Nikos Gorogiannis 11373c8a6b [racerd] strip down domain interface 6 years ago
Daiva Naudziuniene c09068e3bf [HIL] Preserve ExitScope location information in the translation from SIL 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
Jeremy Dubreil 846d6fa23d [nullsafe][android] stop the analysis if there is no source file to analyze 6 years ago
Daiva Naudziuniene 2a139a2220 [pulse] Fix operator= case with temporaries 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
Mehdi Bouaziz a130556869 [quandary] Separate insecure intent handling issue type when call is in an exposed class 6 years ago
Nikos Gorogiannis 2d2d861686 [racerd] reduce size of IssueAuxData 6 years ago
Mehdi Bouaziz 397f4a1973 [inferbo] pp fields 6 years ago
Martino Luca 3acf5bf2ad [Cost] Do not flag variations to/from zero-costing functions 6 years ago
Mehdi Bouaziz 9f333bb433 [quandary] Different source kinds for endpoints 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
Mehdi Bouaziz a6d78db9b5 [quandary] Simplify endpoints config 6 years ago
Nikos Gorogiannis 19faf643dc [racerd] optional arguments and missing actuals 6 years ago
Nikos Gorogiannis a3f4bb01f4 [starvation] fix type bug occurring in class references 6 years ago
Mehdi Bouaziz 930dd2eb03 [quandary] Inline internal analyze_call 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
Mehdi Bouaziz b3c8d1dc67 [HIL] Fix ExitScope 6 years ago
Mehdi Bouaziz 3ad33c979e [quandary] Split exec_instr 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 b8fb4b5abc [inferbo] Separate Java from C arrays 6 years ago
Mehdi Bouaziz 703cec791d [inferbo] Restore type models 6 years ago
Mehdi Bouaziz fd8b4795b8 [inferbo] Symbolic length for no-size flexible arrays 6 years ago
Sungkeun Cho 879f8d6fe8 [inferbo] Remove deadcode 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 bdbf39aaa3 [inferbo] More physical equalities for Bounds 6 years ago
Mehdi Bouaziz 03d3a85f45 Enforce physical equality for Maps 6 years ago
Mehdi Bouaziz 87b3907628 [quandary] Allow several kinds for external sources/sinks 6 years ago
Mehdi Bouaziz 00b052826a [inferbo] Enforce physical equality for bottom lifted mem operations 6 years ago
Mehdi Bouaziz 5c4de212fb [inferbo] New test + more debug 6 years ago
Mehdi Bouaziz 6a59abd234 [inferbo] HTML debug for checking pass 6 years ago
Mehdi Bouaziz e5e7237d9d [inferbo] Move type models to their own file 6 years ago
Mehdi Bouaziz bb1a19b6f9 [inferbo] Move OndemandEnv to its own file 6 years ago
Mehdi Bouaziz 52e09aed13 [inferbo] Move get_formals from Domain to Procdesc 6 years ago
Mehdi Bouaziz 4860ab39a1 Enforce physical equality for BottomLifted, TopLifted, Pair domains 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
Jules Villard 77179d2c5c [pulse] switch back to having a single abstract address per stack variable and heap location 6 years ago
Jules Villard 2a46a54060 [pulse] use the disjunctive domain and make it configurable 6 years ago
Jules Villard 156f5946c2 [HIL][pulse] add disjunctive domain 6 years ago
Jules Villard d9a014f71b [pulse] take array indices into account 6 years ago
Nikos Gorogiannis 101283f9d0 [starvation] fix trace description strings for taking locks 6 years ago
Jules Villard 26d4a2d14f [HIL] simplify some functors around TransferFunctions 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
Nikos Gorogiannis fc80179394 [starvation] use compare ppx 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
Mehdi Bouaziz ed82a0e572 [debug] LowerHIL: print id map 6 years ago
Jeremy Dubreil 1baf723e3e [infer][nullsafe] make the error message more explicit about the typing nature of the analysis 6 years ago
Nikos Gorogiannis a47ec3611f [starvation] tune logging and avoid dieing on non-struct locks 6 years ago
Ezgi Çiçek dde9723926 [inferbo] Add tests for Java collections 6 years ago
Jules Villard 92c06e4f1f [HIL][4/4] array offsets are now HilExp.t 6 years ago
Jules Villard 1ee5877aa2 [HIL][3/4] remove compatibility AccessExpression.ml 6 years ago
Jules Villard d59e6ac1bf [HIL][2/4] move AccessExpression into HilExp 6 years ago
Jules Villard c89f7dc6ae [HIL][1/4] make `Access.t` polymorphic in the array access 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 49e832ed7f [infer] remove the Printf Args checker from the list of analyses run by default 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
Sungkeun Cho a37d85dddc [inferbo] Rename Allocsite.Param to Allocsite.Symbol 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
Jeremy Dubreil 81cfbe893f [infer][nullsafe] move all the Nullsafe related files in the same directory 6 years ago
Nikos Gorogiannis abee2a5cb0 [AI] fix top interface 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
Nikos Gorogiannis 53fc45d39e [concurrency] remove bad lock model 6 years ago
Sungkeun Cho 9013e38594 [inferbo] Add/remove _FP in repro1.cpp test 6 years ago
Sungkeun Cho 8a37d7caf1 [inferbo] Move get_formals 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 c3823671f5 [inferbo] Lift the Init module up 6 years ago
Sungkeun Cho 4e166f3375 [inferbo] Instantiate symbolic locations in function parameters 6 years ago
Nikos Gorogiannis 31653ca6c3 [racerd] more precise trace expansion 6 years ago
Sungkeun Cho f70d6da8f2 [inferbo] Use record type for eval_sym_trace 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
Sungkeun Cho 0086c34364 [inferbo] Add symbolic locations for parameters 6 years ago
Ezgi Çiçek a835a3511d [logging] Log unanalyzed procedures 6 years ago
Jules Villard 9510549cf6 [ios] kill flaky linter test 6 years ago
Jules Villard ecbe8eca76 [pulse] remove nullptr model 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 e3b4a135ae [ai][pulse] fix minor html indentation issues 6 years ago
Jules Villard 55586b581b [preanalysis] do not delay killing variables taken by reference 6 years ago
Nikos Gorogiannis 91f115fcaa [biabduction] Don't raise on timeout without location 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
Mehdi Bouaziz 3b9bccf126 [html debug] Do not escape non-ascii chars 6 years ago
Sungkeun Cho 442fecc030 [inferbo] Fix performance of issue deduplication 6 years ago
Ted Reed 22bebd2cee quandary: Break out deserialization from endpoints into a _risk category 6 years ago
Mehdi Bouaziz b0b96b453b [cost] Do not need to load inferbo summary at calls 6 years ago
Mehdi Bouaziz 52e2fb9f81 [inferbo] Rename is_collection_add -> last_included 6 years ago
Mehdi Bouaziz b92800a716 [inferbo] Do not join traces if Prune changed nothing 6 years ago
Mehdi Bouaziz e091d229f8 [inferbo] Keep traces for iterators 6 years ago
Ezgi Çiçek 305b2a74b8 [hoisting] Add new issue type for only invariant-modeled calls 6 years ago
Mehdi Bouaziz 8abe07ba20 [html debug] Cleanup unused CSS classes + use UTF-8 6 years ago
Nikos Gorogiannis 6aba4b7ca2 [AI] kill astate type 6 years ago
Mehdi Bouaziz 0ec75c587f [inferbo] Minor simplifications 6 years ago
Mehdi Bouaziz e505fd2dba [inferbo] Pointer comparison 6 years ago
Mehdi Bouaziz 8443cd73f6 [quandary] Allow sinks to have multiple taints 6 years ago
Mehdi Bouaziz 8de2b93cab [cost] Abstract type for polynomial degree 6 years ago
Nikos Gorogiannis bbd26769c9 [starvation] c++/Obj C deadlocks 6 years ago
Mehdi Bouaziz 5b3bca5562 [quandary] Allow sources to have multiple taints 6 years ago
Mehdi Bouaziz 8240ca4430 More unicode fun: bottom & top 6 years ago
Mehdi Bouaziz 5f60ffaa8f [inferbo] Trace refactoring 6 years ago
Nikos Gorogiannis 2c6a705116 [racerd] kill stability 6 years ago
Mehdi Bouaziz f4e9975783 [inferbo] Fix deadcode 6 years ago
Jules Villard c00b076a05 [setup] opam 2 6 years ago
Mehdi Bouaziz 94e723bc82 [inferbo] Use Flat in relational domain 6 years ago
Mehdi Bouaziz 8292323307 [inferbo/cost] Move Polynomials out of Itv.ml 6 years ago
Mehdi Bouaziz 3cd57849c4 [inferbo] Remove duplicated module NonNegativeBound 6 years ago
Sungkeun Cho 8010b27cbd [inferbo] Prepare delayed integer overflow reporting 6 years ago
Sungkeun Cho edc090544a [inferbo] Improve pp of Inferbo in traceview 6 years ago
Mehdi Bouaziz 1f96fd03cc [inferbo] SymbolPath: rename Index -> Deref 6 years ago
Mehdi Bouaziz a93e05e9fe [inferbo] AliasRet: use AbstractDomain.Flat 6 years ago
Mehdi Bouaziz 3a5d995369 [inferbo] AliasMap: use AbstractDomain.Map 6 years ago
Nikos Gorogiannis 1121efbe59 [concurrency] refactor C++ models 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
Mehdi Bouaziz 828fa236d4 [Inferbo] represents_multiple_values from path 6 years ago