971 Commits (e065b0b0b23c9e5543a5edf76ac4e68d495b6671)

Author SHA1 Message Date
Sungkeun Cho 4311371d81 [inferbo] Revise split model semantics
5 years ago
Sungkeun Cho 22601846b2 [inferbo] Add model of emplace_back
5 years ago
Sungkeun Cho b9db4fa4b9 [inferbo] Add model for C++ exception throw
5 years ago
Sungkeun Cho 412e8a977c [inferbo] Add model for std::shared_ptr<>::operator->
5 years ago
Sungkeun Cho ca04002f6c [inferbo] Revise finding constructors on std::make_shared
5 years ago
Sungkeun Cho 92e7aeeb3e [infer] Fix clang frontend for switch statment
5 years ago
Nikos Gorogiannis a6da208e9d [starvation] use access expressions instead of access paths
5 years ago
Sungkeun Cho f94990a0c2 [inferbo] Add taint domain
5 years ago
Nikos Gorogiannis 777eb33870 [racerd] use concurrent context for reporting in C++/ObjC
5 years ago
Sungkeun Cho 7f25684491 [inferbo] Check nested global array access
5 years ago
Sungkeun Cho f8ee0a14aa [inferbo] Give semantics of std::make_shared as simple constructor
5 years ago
Nikos Gorogiannis 21cff2d659 [starvation] substitute arguments over parameters in locks
5 years ago
Ezgi Çiçek a0fd5a0e6a [pulse] Refactor attributes into domain
5 years ago
Sungkeun Cho c93c3163d6 [inferbo] Get global constant array values from initializers
5 years ago
Nikos Gorogiannis 279f1c85ce [racerd] abbreviate procnames in report text
5 years ago
Ezgi Çiçek dd59a141f0 [impurity] Rely on set of skipped functions to determine impurity
5 years ago
Jules Villard 3bf771bff4 [pulse] add model for std::vector<>::at()
5 years ago
Sungkeun Cho 1305db390a [infer] Load global array constant
5 years ago
Sungkeun Cho 16f18792f1 [infer] Capture global initializer ondemand
5 years ago
Ezgi Çiçek 6f64131ae6 [pulse] Do not havoc arguments of unknown functions that are pointers to const
5 years ago
Nikos Gorogiannis ca1ba2511b [starvation] tests for a multi-file C++ deadlock
5 years ago
Jules Villard 49fb5b7c85 [pulse] do arithmetic on pointers too
5 years ago
Nikos Gorogiannis ce39017611 [typ][fieldname] make java representation more sharing friendly and typesafe
5 years ago
Jules Villard e06a43a677 [pulsebo] use inferbo more in summaries
5 years ago
Jules Villard a42e15147b [pulse] fix test for by-ref automatic initialisation
5 years ago
Jules Villard eb52b28f91 [pulsebo] use inferbo in prunes
5 years ago
Martin Trojer fbe1c92c17 clang9
5 years ago
Sungkeun Cho ab7c61b836 [inferbo] Extend bound domain to express multiplication of bounds
5 years ago
Jules Villard df49f318f6 [pulse] havoc formals passed by reference to unknown procedures
5 years ago
Jules Villard 32f60f3d3c [pulse] model the fact `free(0)` is a no-op
5 years ago
Jules Villard 3fbefbad34 [pulse] model some of `std::atomic`
5 years ago
Sungkeun Cho 61ae040077 [pulse] Add bo_itv to pulse attributes
5 years ago
Jules Villard d79bd90b81 [pdesc] new pre-analysis to diverge after "noreturn" function calls
5 years ago
Jules Villard 78a33acb77 [cfg] run pre-analysis lazily in ondemand
5 years ago
Jules Villard b03ca78bf3 [pdesc][refactor] ability to set normal and exceptional succs independently
5 years ago
Jules Villard f81c9d56e3 [pulse] arithmetic operations
5 years ago
Jules Villard 6ecf4066e8 [pulse] model std::integral_constant
5 years ago
Jules Villard 6df4fb6a9b [pulse] report dereference of NULL and constants
5 years ago
Jules Villard 2e4fbb7fe5 [pulse] intervals!
5 years ago
Jules Villard b20c22a5ee [pulse] abduce arithmetic facts
5 years ago
Ezgi Çiçek 6781ba36d3 [impurity] Start checking equivalence at materialized addresses in pre
5 years ago
Jules Villard 16c88e282d [pulse] some tests about values
5 years ago
Jules Villard 6a738045fd [pulse] interprocedural histories and traces
5 years ago
Jules Villard 669383d315 [pulse] more details about variable declaration events
5 years ago
Jules Villard 8182514f35 [impurity] clarify string parameter of `ImpurityDomain.add_to_errlog`
5 years ago
Jules Villard 96c96a8dc6 [pulse] remember equalities found in branches
5 years ago
Jules Villard 3ac8e27062 [pulse] use constant equality to prune unfeasible paths
5 years ago
Ezgi Çiçek 557e2bfa3f [impurity] Consider functions with no pulse summary as impure
5 years ago
Nikos Gorogiannis f57bb9be0a [starvation] make deduplication depend on filtering config var
5 years ago
Jules Villard 362e9cc622 [pulse] do not print `()` after functions
5 years ago
Ezgi Çiçek c5ca4db8d0 [pulse][impurity] Use pulse for detecting impurity
5 years ago
Dulma Churchill 27ea5d041b [biabduction] Rename use_after_free to avoid name clash with Pulse
5 years ago
Dulma Churchill d04e098eb1 [AL] Add a is_static predicate
5 years ago
Sungkeun Cho 59f06568cf [inferbo] Use std::vector model for std::string
5 years ago
Jules Villard 9e5115a9e0 [annotreach] support for new `"symbol_regexps"` matcher
5 years ago
Dulma Churchill d0bfb856ed [AL] Add new predicate is_extern
5 years ago
Nikos Gorogiannis 86a1bbf1a7 [racerd] output access expressions language-sensitively
5 years ago
Jules Villard 0af754f3d7 [annot reachability] apply sanitizers in more cases
5 years ago
Jules Villard 00cbc9c1e4 [annot reachability] add debug logging and light refactor
5 years ago
Sungkeun Cho ddd4d98636 [inferbo] Add vector model: data
5 years ago
Sungkeun Cho 58b403c8ff [inferbo] Add vector model: empty
5 years ago
Sungkeun Cho c05062556f [inferbo] Add vector model: push_back
5 years ago
Sungkeun Cho f6b4f75e7c [inferbo] Pruning by vector::size
5 years ago
Sungkeun Cho e9cf5d33b3 [inferbo] Add models of vector constructors
5 years ago
Sungkeun Cho 8c4be65754 [inferbo] Ondemand value generation of vector as function parameter
5 years ago
Sungkeun Cho f066776b17 [inferbo] Add model: vector size
5 years ago
Sungkeun Cho 7a8e7d13e9 [inferbo] Add model: vector constructor
5 years ago
Jules Villard 13d54990bd [models] get rid of include-based C++ models
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
Ezgi Çiçek 09ab685c7e [pulse] Handle stack refs escaping their scope via pointer
5 years ago
Sungkeun Cho 124ab9fed7 [inferbo] Downgrade issues of void pointer
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
Jules Villard ef26e8bb28 [clang] NamespaceAliasDecl is just a no-op
6 years ago
Jules Villard c89a8d3e63 delete ownership checker
6 years ago
Jules Villard e803a30c2d [clang] fix translation of `initListExpr` again
6 years ago
Jules Villard 14ce445f81 [pulse] run tests against C++17
6 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
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
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
Josh Berdine cfc1c8be36 [copyright] Remove years
6 years ago
Radu Grigore d86e2f0d1c [topl] Generate monitor.
6 years ago
Peter O'Hearn 9b8a908ad3 [Pulse] model folly delayed destruction
6 years ago
Jules Villard 1395d5581d [clang] upgrade to 8.0.0
6 years ago
Jeremy Dubreil b06bb42a02 [infer] more nullable tests
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
Jules Villard 6364199b94 [pulse] traces record how values were constructed
6 years ago
Nikos Gorogiannis 1d846ba631 [racerd] kill original paths from summary
6 years ago
David Lively e0ce8c4392 Add --annotation-reachability-cxx-sources override option
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
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
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
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
David Lively 20b21698f6 [checkers] enable config-driven annotation reachability for Cxx
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
David Lively 692a844e0c [AL] use found_decl_ref in recently added predicates/placeholders
6 years ago
Ezgi Çiçek 9790eb5a78 [cpp][linters] Hotfix: linter error
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
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
Radu Grigore 86861498a5 Slightly more precise pi_partial_meet
6 years ago
Jules Villard c3cadace86 [SIL][3/3] add CallFlag for synthetised destructor calls
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