214 Commits (0d430efb42fffda741b59bf6399da55e1399ad0e)

Author SHA1 Message Date
Daiva Naudziuniene 3d74f39102 [pulse] Improve trace for Optional Empty Access
4 years ago
Daiva Naudziuniene b17861b1c8 [pulse] More precise model for constructing folly::Optional<Value> from Value
4 years ago
Daiva Naudziuniene 059c0f24a2 [pulse] Model Optional value_or
4 years ago
Jules Villard 7fdb33b710 [pulse] report errors only when the PRUNE nodes along the path are true
4 years ago
Daiva Naudziuniene 22d317c940 [pulse] Move pulse model flags to .inferconfig for pulse tests
4 years ago
Daiva Naudziuniene 91a33f6edc [frontend] Captured struct variables in cpp lambdas
4 years ago
Daiva Naudziuniene 857daf63c9 [frontend] Capture reference variables
4 years ago
Daiva Naudziuniene 42abe5b277 [frontend] Fix type of captured vars in lambda's body
4 years ago
Daiva Naudziuniene d0cb245303 [frontend] Fix capture init for cpp lambdas
4 years ago
Jules Villard 03bc3f31c8 [pulse] add option to skip functions/classes
4 years ago
Daiva Naudziuniene 4401701578 [pulse] Model for std::function copy constructor
4 years ago
Daiva Naudziuniene 0a4af7754d [pulse] Fix std::function::operator()
4 years ago
Daiva Naudziuniene 29fd9e13d1 [pulse] Understand captured variables in cpp lambdas
4 years ago
Jules Villard 5278cb7374 [pulse] `delete nullptr` is a no-op
4 years ago
Daiva Naudziuniene 69e0dce0ed [pulse] fix end() iterator false positive
4 years ago
Jules Villard 97fcc3b0ad [pulse] apply equality relation to terms to be added to the equality relation
4 years ago
Jules Villard 5a39c158c5 [pulse] arithmetic domain: take 4!
4 years ago
Daiva Naudziuniene 221d0b62ab [pulse] Model builtin __new as returning non-null
4 years ago
Jules Villard 9690dba871 [pulse] a slow example for pudge
4 years ago
Jules Villard ae57f217d2 [pulse] don't always mistake equality for aliasing
4 years ago
Daiva Naudziuniene 35011757dc [pulse] Add a flag to pass functions that we want to model as returning non-null
4 years ago
Daiva Naudziuniene 0ab3689f1f [infer] NULLPTR_DEREFERENCE false positive caused by thread_local variable
5 years ago
Daiva Naudziuniene 2c48e61031 [pulse] A new issue type OPTIONAL_EMPTY_ACCESS for trying to access folly::Optional when it is folly::none
5 years ago
Daiva Naudziuniene 412d2777eb [pulse] Add a flag to pass functions that we want to model as abort
5 years ago
Daiva Naudziuniene 98092481d4 [pulse] Special case for std::function:operator=( nullptr )
5 years ago
Daiva Naudziuniene ca2ec281c7 [pulse] Model for iterator operator--
5 years ago
Daiva Naudziuniene eaf95951f5 [pulse] Modeling std::vector::end()
5 years ago
Jules Villard 385b6fa914 [pulse] revamp arithmetic, put everything in the path condition
5 years ago
Jules Villard 2d8debc562 [pulse] invalidate vector backing array correctly
5 years ago
Jules Villard b1e35a728d [biabd] rename test directories from {biabduction,errors,infer} to {biabduction}
5 years ago
Daiva Naudziuniene 247ecb813d [pulse] Fix traces for iterator invalidation errors
5 years ago
Ezgi Çiçek 269cdb80d9 [pulse] Model `StdVector` allocator
5 years ago
Jules Villard 3332dc1a42 [AI] improve disjunctive domain
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
Ezgi Çiçek e1093159b0 [pulse] Distinguish error state at top level
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
Ezgi Çiçek 5a2b285fff [pulse] Distinguish exit state at top level
5 years ago
Jules Villard 3bf771bff4 [pulse] add model for std::vector<>::at()
5 years ago
Ezgi Çiçek 6f64131ae6 [pulse] Do not havoc arguments of unknown functions that are pointers to const
5 years ago
Jules Villard 49fb5b7c85 [pulse] do arithmetic on pointers too
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
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 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
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 96c96a8dc6 [pulse] remember equalities found in branches
5 years ago
Jules Villard 3ac8e27062 [pulse] use constant equality to prune unfeasible paths
5 years ago
Jules Villard 362e9cc622 [pulse] do not print `()` after functions
5 years ago
Ezgi Çiçek 127902222d [pulse] Filter AddressOfStackVariable from read only heuristic check
5 years ago
Ezgi Çiçek 09ab685c7e [pulse] Handle stack refs escaping their scope via 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 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 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 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 c3d55817b1 [pulse] another test for temporaries
6 years ago
Josh Berdine cfc1c8be36 [copyright] Remove years
6 years ago
Peter O'Hearn 9b8a908ad3 [Pulse] model folly delayed destruction
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
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