997 Commits (8e9bc54c4a0271cd22cadc2668929ecc1a483e31)

Author SHA1 Message Date
Ezgi Çiçek b0da1c6837 [frontend][clang] Remove call to skip when translating CXXStdInitializerListExpr
5 years ago
Jules Villard 3220804ddb [pulse] add a cache of constants to equate them
5 years ago
Daiva Naudziuniene dae7f36339 [pulse] Vector iterator model
5 years ago
Jules Villard 7a888170e7 [pudge] it's alive!
5 years ago
Sungkeun Cho 30ca51366d [inferbo] Do not append field to the unknown location
5 years ago
Ezgi Çiçek e1093159b0 [pulse] Distinguish error state at top level
5 years ago
Ezgi Çiçek 8d44265ca1 [impurity] Consider exited functions as impure
5 years ago
Dulma Churchill b29d1a2f5f [pulse] Adding new value history for allocations
5 years ago
Ezgi Çiçek 6105a6ab42 [pulse] Add tests for constant abstract locations
5 years ago
Sungkeun Cho f0f91b21c6 [inferbo] Distinguish array declaration and size-setting in trace
5 years ago
Ezgi Çiçek 5a2b285fff [pulse] Distinguish exit state at top level
5 years ago
Jules Villard 66ed16fd27 [clang] skip initialisation of large compound values
5 years ago
Ezgi Çiçek cec8cbeff2 [pre-analysis] Add models for `no_return` and handle throw-catch better
5 years ago
Daiva Naudziuniene 526af36061 [uninit] Use type information from locals if argument has type void* in function signature
5 years ago
Ezgi Çiçek d97e1c8fdb [pulse][impurity] Add model for System.exit()
5 years ago
Jules Villard c73feb82b4 [CLI] kill --pmd-xml option
5 years ago
Ezgi Çiçek b64ed0bbf2 [impurity] Consider functions with empty pulse summary as impure
5 years ago
Ezgi Çiçek cc815f5d20 [pulse] Only propagate existing WrittenTo attributes at function calls
5 years ago
Nikos Gorogiannis d1e0375f4a [racerd] stop reporting on locals
5 years ago
Ezgi Çiçek a4c3925d9a [impurity] Track unique accesses
5 years ago
Ezgi Çiçek e3c89b1f10 [impurity] Fix include_value_history
5 years ago
Jules Villard e5b50d7d46 [quandaryBO] delete :(
5 years ago
Ezgi Çiçek b90d7c42d3 [impurity] Do not add value history in impurity traces
5 years ago
Mitya Lyubarskiy bd83813b3e [tech debt] Remove experimental nullability checkers
5 years ago
Sungkeun Cho 175af05b8b [inferbo] Add model of vector resize
5 years ago
Sungkeun Cho 9562ab4d68 [inferbo] Suppress integer overflow in hash functions
5 years ago
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
5 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