5338 Commits (053d16138eb575a2055859dcc32c776581767b30)

Author SHA1 Message Date
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
Dino Distefano 9028b91ec7 Load data from performance profiler
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 c8a17b9d0e [inferbo] Pass integer type widths to eval for cast
6 years ago
Sungkeun Cho 1486a5f105 [infer] Translate casting expressions of integer pointers
6 years ago
Dino Distefano 0d5a7028ab Removing unnecessary printing
6 years ago
Nikos Gorogiannis 3b5262f185 [racerd] refactor method matching for all languages
6 years ago
Jules Villard 646aa30797 [cfg] print dotty *after* pre-analysis
6 years ago
Mehdi Bouaziz 4a4e8c6e1b concat_traces: always print labels
6 years ago
Mehdi Bouaziz acf740e145 Print Unicode chars only if the locale allows it
6 years ago
Ezgi Çiçek 5fa89e2563 [purity] Disable clang
6 years ago
Martino Luca 77a5fbd7ba [Perf] Emit reports as Advice
6 years ago
Martino Luca b61d21cbff [Perf] Better message for PERF VARIATION type
6 years ago
Mehdi Bouaziz ed25b70ff2 RacerD: use concat_traces
6 years ago
Mehdi Bouaziz efcfea5454 First step for multiple traces
6 years ago
Mehdi Bouaziz 8d990d6470 [inferbo] Move Boolean to their own module
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
Mehdi Bouaziz bc1e048fe3 [compilation database] Disable C++ modules
6 years ago
Martino Luca 6d12d67613 [Perf] Embed filtering for costs reports
6 years ago
Mehdi Bouaziz 29631b7358 [Inferbo] Differentiate array and pointer in SymbolPaths
6 years ago
Mehdi Bouaziz 4671bab088 [inferbo] Preparing for one-value symbols
6 years ago
Mehdi Bouaziz 7c00591747 [inferbo] Type name for eval_sym
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 ab046a4128 memcached intra-build
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 d53c81c65c [concurrency] add model for android.app.Application
6 years ago
Nikos Gorogiannis 276c25b563 [starvation] no starvation warnings on constructors
6 years ago
Martino Luca 28e7063ac4 [Perf] Do not fail when encountering non-ASCII chars in JSON payloads
6 years ago
Dino Distefano c4701f8a04 Fix ERROR RUNNING BACKEND
6 years ago
Mehdi Bouaziz 716caf91bf Add is_singleton_or_more to Set and Map
6 years ago
Nikos Gorogiannis a3df8f9f99 [starvation] simplify report format
6 years ago
Nikos Gorogiannis b5094cda9b [starvation] suppress the number of reports suppressed
6 years ago
Dino Distefano c8c895dbc0 Fix buck
6 years ago
Martino Luca 71d5b2f8ff [Infer][Perf] Enrich messages with Markup syntax
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
Sungkeun Cho 50ebea5faa [inferbo] Fix path of allocsite in declaration
6 years ago
Mehdi Bouaziz 42b16d45fa [inferbo] New tests
6 years ago
Mehdi Bouaziz 2a60a988e7 [buck] Update parameters with arguments list
6 years ago
Martino Luca 0547878898 Update InferBO tests
6 years ago
Mehdi Bouaziz a7921536da [quandaryBO] New test
6 years ago
Martino Luca 32f448a6f0 [Infer][Perf] Emit messages using the asymptotic Bachmann–Landau notation, aka Big O notation
6 years ago
Martino Luca ce5d3e469f [Infer][Perf] pp symbols without bound-end information when not in developer-mode
6 years ago
Martino Luca 210dcef513 [Infer][Perf] do not emit 0 + when pretty-printing polynomials
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