975 Commits (051473394b26fc39c08c90bf10f0a529e7a8b878)

Author SHA1 Message Date
Jules Villard ae57f217d2 [pulse] don't always mistake equality for aliasing
4 years ago
Daiva Naudziuniene 1c5e47d91e [frontend] Record lambda's captured variables in `operator()` procdesc
4 years ago
Daiva Naudziuniene 50d659b750 Update type of procdesc and closure expression to contain information about capture variable mode
4 years ago
Qianyi Shu dc502676ea [cost] add model for NSString.string_with_utf8_string_linear and NSString.length
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
Sungkeun Cho 4ef0a787db [cost] Do not print loop line number in trace message
4 years ago
Sungkeun Cho d2f3f81826 [cost] Add model of `google::StrLen`
4 years ago
Daiva Naudziuniene 0ab3689f1f [infer] NULLPTR_DEREFERENCE false positive caused by thread_local variable
4 years ago
Daiva Naudziuniene 2c48e61031 [pulse] A new issue type OPTIONAL_EMPTY_ACCESS for trying to access folly::Optional when it is folly::none
4 years ago
Sungkeun Cho a49b094e0c [inferbo] Remove unused issue types
5 years ago
Dulma Churchill b6c8e52e8c [biabduction] Delete use after free
5 years ago
Jules Villard bb6b998473 [biabd] remove BIABD_STACK_VARIABLE_ADDRESS_ESCAPE
5 years ago
Daiva Naudziuniene 412d2777eb [pulse] Add a flag to pass functions that we want to model as abort
5 years ago
Dulma Churchill 11c6e3e0ee [pulse] Enable pulse memory leaks and disable biabduction one
5 years ago
Daiva Naudziuniene 98092481d4 [pulse] Special case for std::function:operator=( nullptr )
5 years ago
Jules Villard f616da42f1 [docs] only one checker allowed per issue type
5 years ago
Daiva Naudziuniene b25d3e39ef [uninit] Use type information from locals if argument is a pointer in function signature
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
Nikos Gorogiannis 91e0b4c7a0 [racerd] fix bug in c++ mode
5 years ago
Jules Villard 385b6fa914 [pulse] revamp arithmetic, put everything in the path condition
5 years ago
Nikos Gorogiannis f207b3dfda [racerd] rationalize test suite
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
Ezgi Çiçek eed39540f3 [frontned][clang] Fix the translation of CXXStdInitializerListExpr
5 years ago
Jules Villard 3332dc1a42 [AI] improve disjunctive domain
5 years ago
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