2555 Commits (cc83c1018bc60376773e42e70d6ab56b8de2a880)

Author SHA1 Message Date
Martin Trojer 0fe30d13c5 add flag for (undefined) functions that should be modelled as mallocs
5 years ago
Phoebe Nichols e7af794abb Add incremental analysis test for changing a file
5 years ago
Phoebe Nichols e3668daaa5 Add test incremental_analysis_remove_file to the toplevel makefile
5 years ago
Ezgi Çiçek b8d25d1301 [inferbo] Fix the model of Collections.emptySet
5 years ago
Sungkeun Cho a3229fc43a [inferbo] Suppress intended integer underflow of unsigned integer
5 years ago
Sungkeun Cho 80f4b64915 [inferbo] Prune linear bound by minmax
5 years ago
Sungkeun Cho b3f52284ed [inferbo] Ignore the top of latest prune of callees
5 years ago
Ezgi Çiçek 127902222d [pulse] Filter AddressOfStackVariable from read only heuristic check
5 years ago
Sungkeun Cho 84a6561dc9 [inferbo] Precise mod semantics on unsigned integer
5 years ago
Sungkeun Cho 26a4f83e8b [inferbo] Avoid pruning on array elements
5 years ago
Jules Villard a857fec1f3 [increr] test incremental analysis
5 years ago
Sungkeun Cho f3311dfd98 [inferbo] Weak update on array contents
5 years ago
Ezgi Çiçek 09ab685c7e [pulse] Handle stack refs escaping their scope via pointer
5 years ago
Phoebe Nichols 70474ec2de Fix test buck_flavours_diff
5 years ago
Sungkeun Cho 124ab9fed7 [inferbo] Downgrade issues of void pointer
5 years ago
Ezgi Çiçek 0682ccc1e9 [cost][inferbo] Add models for indexOf
5 years ago
Nikos Gorogiannis af12e55344 [buck/java2] rely on (and modify) PATH to find infer binary to improve caching
5 years ago
Ezgi Çiçek 998e7c8fe3 [inefficientKeysetIterator] Turn on by default and fix msg
5 years ago
Jules Villard 937e971849 [objc] fix test so that it looks like it could compile
5 years ago
Jules Villard 15246ec2a2 [tests] attempt at fewer race conditions
5 years ago
Jules Villard a504a67ec2 [pulse] model some of `std::basic_string`
5 years ago
Jules Villard 14b9975cf3 [pulse] support modelling destructors
5 years ago
Jules Villard d9aadf5df2 [pulse] allow models in invalidation traces
5 years ago
Nikos Gorogiannis 4f46567fa7 [annotreach] kill custom path sensitivity
5 years ago
Nikos Gorogiannis 5b191c53ae [annotreach] clean up tests
5 years ago
Nikos Gorogiannis ffdc9193dc [annot-reach] complete the set of android thread annotations
5 years ago
Martin Trojer 124036ea0b New faster version of Diff/Test-Determinator
5 years ago
Jules Villard ef26e8bb28 [clang] NamespaceAliasDecl is just a no-op
5 years ago
Ezgi Çiçek 4114f7fbdf [inefficientKeysetIterator] Chase predecessors 4 more nodes to check the pattern
5 years ago
Ezgi Çiçek 102018734f [inefficientKeysetIterator] Add missing type checks
5 years ago
Jules Villard c89a8d3e63 delete ownership checker
5 years ago
Jules Villard e803a30c2d [clang] fix translation of `initListExpr` again
5 years ago
Jules Villard 14ce445f81 [pulse] run tests against C++17
5 years ago
Jules Villard 86decb83f6 [pulse] record attributes of address not edge-reachable in the post
6 years ago
Jules Villard 58b1df6bb9 [clang] fix destructor placement for temporaries in conditionals
6 years ago
Jules Villard 3a3c93140e [pulse] translate initListExpr in more cases
6 years ago
Jules Villard d96ab2458d [pulse] model lambda destructor
6 years ago
Jules Villard 91a2e2986b [pulse] model lambda capture by value
6 years ago
Jules Villard 433c144840 [pulse] calling known lambdas calls the corresponding proc name
6 years ago
Jules Villard 2bf6852b95 [pulse] model `std::function::operator=`
6 years ago
Jules Villard ae3089c2b2 [uninit] look at complex HIL expressions too
6 years ago
Jules Villard f15d9915a0 [pulse] better types to avoid `_fun_` prefix to proc names in bug traces
6 years ago
Jules Villard a3311fb751 [pulse] C++ temporaries bound to globals do not "escape"
6 years ago
Jules Villard 7f12ced394 [pulse] move to SIL proper
6 years ago
Nikos Gorogiannis 97c41120ae [buck/java2] eliminate project root config flag
6 years ago
Dino Distefano 571ae7774a Extended check on n-th parameter to cpp method calls
6 years ago
Radu Grigore 10d87eec4e [topl] Simple error reporting.
6 years ago
Ezgi Çiçek 2db1a3b8e3 [cost,inferBo] Add models for Collections.unmodifiable* getters
6 years ago
Jules Villard f43544598b [oops] unbreak unit tests
6 years ago
Jules Villard 04233ee49b [clang] destroy C++ temporaries
6 years ago
Jules Villard 0592bac25e [pulse] explain SIL logical variables in terms of program access paths
6 years ago
Jules Villard c9f4768be7 [pulse] move to SIL
6 years ago
Ezgi Çiçek 0f43930f40 [cost] Refactor cost issue types and enable detecting allocation complexity increase on cold start
6 years ago
Jules Villard 6f5cb512db [pulse] add example of FN in const-ref-bound temporary
6 years ago
Jules Villard e14809baa8 [pulse] fix temporaries test code
6 years ago
Jules Villard 21f66dd197 [pulse] do not model `operator=` as assignment
6 years ago
Jules Villard db800f138b [clang] rewrite scope computations
6 years ago
Jules Villard eaa5c32432 [clang] some more debug info
6 years ago
Jules Villard c3d55817b1 [pulse] another test for temporaries
6 years ago
Dino Distefano 472f155a7a Improved rule on block capturing CXX Reference
6 years ago
Josh Berdine cfc1c8be36 [copyright] Remove years
6 years ago
Ezgi Çiçek d2eb3c8cc6 [inefficient-keyset-iterator] New checker for finding inefficient keySet iterator
6 years ago
Nikos Gorogiannis 733a29e44b [buckjava2] Move genrule capture integration logic from shell to OCaml
6 years ago
Radu Grigore d86e2f0d1c [topl] Generate monitor.
6 years ago
Radu Grigore 047c64c528 [topl] Instrument SIL.
6 years ago
Ezgi Çiçek 99bc7363bf [cost] Suppress reports on Java access methods
6 years ago
Nikos Gorogiannis d3cf79a095 [buckjava2] integration
6 years ago
Nikos Gorogiannis 768e2b0332 [tests] stop sharing the root buck repo in java tests
6 years ago
Ezgi Çiçek 19b445e00c [cost] Add PERFORMANCE_VARIATION FP test for Java access methods
6 years ago
Ezgi Çiçek 19eac53f0e [cost] Add models for Collections.max/min
6 years ago
Jules Villard a3d8b9c4a4 [clang][oops] restore previous functionality
6 years ago
Ezgi Çiçek 0ef038332d [purity] More models for Java Map
6 years ago
Ezgi Çiçek bb9f44dee2 [cost] Fix and refactor cost models
6 years ago
Ezgi Çiçek 99eda7e3a8 [inferbo,cost] Fix java arrays
6 years ago
Ezgi Çiçek 5b2a36409c [inferbo] Add models for org.json.JSONArray
6 years ago
Ezgi Çiçek 98ecc13a5e [inferbo,cost] Add models for java.util.Arrays and java.util.List
6 years ago
Dino Distefano 24728dc093 New ObjC checker for calls to @optional methods
6 years ago
Nikos Gorogiannis 88d31a7a21 [infer][tests] avoid races in less hacky way
6 years ago
Peter O'Hearn 9b8a908ad3 [Pulse] model folly delayed destruction
6 years ago
Jules Villard 1a19cd5e2d [clang] change `offsetof()` test
6 years ago
Jules Villard 1395d5581d [clang] upgrade to 8.0.0
6 years ago
Jules Villard 4697b22fb4 [clang] make ndk-build integration compatible with clang 8
6 years ago
Ezgi Çiçek c14b917e7f [purity] Rename tests
6 years ago
Ezgi Çiçek a01a4a3658 [purity] Enhance purity models with invalidated arguments
6 years ago
Jules Villard d4e4ed55bc [objc] make quandary test run
6 years ago
Ezgi Çiçek a092c4f3f9 [cost] Generalize Java's sort model
6 years ago
Ezgi Çiçek bc082da199 [cost] Make unmodeled functions pure by default
6 years ago
Ezgi Çiçek 75cfdf23ea [clang] Fix arc lint
6 years ago
Dino Distefano 2f3b376996 Added is_optional_objc_method predicate
6 years ago
Ezgi Çiçek b455baae5d [loop-invariance] Invalidate args to T function calls
6 years ago
Ezgi Çiçek 639c91c29f [loop-invariance] Add FPs for modified global and static invalidation
6 years ago
Jeremy Dubreil b06bb42a02 [infer] more nullable tests
6 years ago
Jeremy Dubreil c96e72b990 [eradicate] record example of false positive with invariants between variables
6 years ago
Jeremy Dubreil 79b0b8172d [eradicate] add a model for java.nio.file.Path.getParent()
6 years ago
Mehdi Bouaziz 64dea4dc0f [inferbo] No need to canonicalize paths in on-demand
6 years ago
Jules Villard d586630edf [pules] do not print templated part of function names
6 years ago
Jules Villard 5de9bc29d2 [pulse] better error messages
6 years ago
Jules Villard b700af9ffb [hil] do not put parens around trivial expressions
6 years ago
Mehdi Bouaziz 9db3a3a0b6 [Inferbo] Abstract repeated fields in paths
6 years ago
Ezgi Çiçek d033e72196 [purity] Add tests for locality
6 years ago
Nikos Gorogiannis 4bdc6efd2e [scheduler] bottom-up callgraph scheduling
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
Martin Trojer e7ad99eed0 Using DB to store modified functions
6 years ago
Nikos Gorogiannis 7106de35a3 [issuelogs] less imperative
6 years ago
Nikos Gorogiannis 1d846ba631 [racerd] kill original paths from summary
6 years ago
Jules Villard a53d139466 [tests] record ant test
6 years ago
Dino Distefano 144847219e Making the name and error message for performance variation in cold start stronger
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
Martin Trojer 52fd4c50de Clang Diff Determinator
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 #678.
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
Dino Distefano b500b5ffa0 Reporting Performance Variation on Cold Start
6 years ago
Ezgi Çiçek ba42e3fa46 [inferbo] Add models for CF
6 years ago
Nikos Gorogiannis 7be696a0ed [racerd] kill dead tests
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
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