399 Commits (6273b1f445e4f22b70212d4d6f017606950b45a4)

Author SHA1 Message Date
Daiva Naudziuniene 58f1fd8b32 [pulse] Optional Empty Access for std::optional
4 years ago
Daiva Naudziuniene eb4684f6d5 [pulse] Less precise model for constructing optional from value
4 years ago
Daiva Naudziuniene a4241eeb43 [pulse] Refactor Optional models
4 years ago
Daiva Naudziuniene 3d74f39102 [pulse] Improve trace for Optional Empty Access
4 years ago
Nikos Gorogiannis 8c40ed53d7 [typ] move type constants to own module
4 years ago
Daiva Naudziuniene b17861b1c8 [pulse] More precise model for constructing folly::Optional<Value> from Value
4 years ago
Jules Villard e1cadb12b0 [pulse] emit formula of path conditions in json output
4 years ago
Daiva Naudziuniene 059c0f24a2 [pulse] Model Optional value_or
4 years ago
Jules Villard 46838a45a4 [pulse] define PulseSummary.yojson_of_t
4 years ago
Jules Villard 4442c52f7f [pulse][minor] inline a module definition
4 years ago
Jules Villard 2bdc6b892b [pulse] apply Abort specs too
4 years ago
Jules Villard 0b7e2fb7c7 [pulse] more type-safety around summary and latent issues creation
4 years ago
Jules Villard 7fdb33b710 [pulse] report errors only when the PRUNE nodes along the path are true
4 years ago
Daiva Naudziuniene d0cb245303 [frontend] Fix capture init for cpp lambdas
5 years ago
Sungkeun Cho d13ae13a71 [pulse] Fix linting issue
5 years ago
Jules Villard 931cf2d72b [pulse][minor] resolve mysterious 'a in .mli
5 years ago
Jules Villard 03bc3f31c8 [pulse] add option to skip functions/classes
5 years ago
Jules Villard b62c3f55b9 [pulse] fix fuel debug message
5 years ago
Nikos Gorogiannis 30fcdc7d29 [attributes] request attributes only when procdesc isn't required
5 years ago
Daiva Naudziuniene 4401701578 [pulse] Model for std::function copy constructor
5 years ago
Daiva Naudziuniene 0a4af7754d [pulse] Fix std::function::operator()
5 years ago
Daiva Naudziuniene 29fd9e13d1 [pulse] Understand captured variables in cpp lambdas
5 years ago
Radu Grigore 9591276541 [topl] Cheap port to Pulse.
5 years ago
Jules Villard 5cceead7ae [pulse] normalize again when we discover new linear eqs
5 years ago
Jules Villard 50b94dbbd6 [pulse] cleanup arithmetic
5 years ago
Jules Villard 8b23fee8f8 [pulse] refactor Atom.eval_atom
5 years ago
Jules Villard ecdb153579 [pulse] streamline atom normalization
5 years ago
Jules Villard 7df30b0c4e [pulse] preserve physical equality on var subst in LinArith
5 years ago
Jules Villard eb37d2ced5 [pulse] substitute entire linear expressions
5 years ago
Jules Villard 36af901d79 [pulse] normalize any linear atom
5 years ago
Jules Villard 69995cebb6 [pulse] add a Linear variant to terms
5 years ago
Jules Villard 45894a7dd9 [pulse] move LinArith before Term
5 years ago
Jules Villard 1d56705cd4 [pulse] evaluate all constant expressions
5 years ago
Jules Villard bcba7c8475 [pulse][minor] moving some arithmetic stuff around
5 years ago
Jules Villard 5278cb7374 [pulse] `delete nullptr` is a no-op
5 years ago
Jules Villard af64d5dafe [pulse] detect when atoms become linear arithmetic
5 years ago
Ezgi Çiçek c449f6e727 [pulse] Tweak error message for Memory Leak
5 years ago
Jules Villard 3e7bf4343b [pulse] make unit tests more robust to adding more tests
5 years ago
Jules Villard 6fae5f641e [pulse] change constants to be rationals
5 years ago
Jules Villard 0433e9592e [pulse] new new arithmetic
5 years ago
Daiva Naudziuniene 69e0dce0ed [pulse] fix end() iterator false positive
5 years ago
Jules Villard 7b743ceb1a [pulse][formula] forget dead facts
5 years ago
Jules Villard bf40a9119e [pulse][formula] print readable variable names in unit tests
5 years ago
Jules Villard 6f5b125aa0 [pulse][formula] improve printing
5 years ago
Jules Villard 934a13a134 [pulse][minor] name ~callee argument for readability
5 years ago
Jules Villard 62e84185b1 [pulse] a few more unit tests
5 years ago
Jules Villard 97fcc3b0ad [pulse] apply equality relation to terms to be added to the equality relation
5 years ago
Jules Villard 2eb6eb3655 [pulse] skeleton for unit testing pulse
5 years ago
Jules Villard 7ccec3fd99 [build] make dune format files when testing
5 years ago
Jules Villard a64f311ea8 [formula] remember results of normalization
5 years ago
Jules Villard cfa81d168d [pulse] check formula unsat more often
5 years ago
Jules Villard f1e9e28f73 [pudge] delete
5 years ago
Jules Villard 5a39c158c5 [pulse] arithmetic domain: take 4!
5 years ago
Jules Villard c7305245c5 [istd][minor] no need to name ~fold in fold_of_pervasives_map_fold
5 years ago
Ezgi Çiçek 577d4679da [absint][pulse] Remove NeverJoin
5 years ago
Ezgi Çiçek feefda3e59 Wrap Java's PatternMatch into its own module
5 years ago
Daiva Naudziuniene 221d0b62ab [pulse] Model builtin __new as returning non-null
5 years ago
Jules Villard 660eceb20f [pulse] log summary creation
5 years ago
Jules Villard 9578ec74c9 [pulse] model operator== and operator!= for iterators
5 years ago
Jules Villard ae57f217d2 [pulse] don't always mistake equality for aliasing
5 years ago
Daiva Naudziuniene 50d659b750 Update type of procdesc and closure expression to contain information about capture variable mode
5 years ago
Josh Berdine 7e77bad4d2 [sledge] Change: Implement Fol using a solver-independent intermediate type
5 years ago
Josh Berdine eca73cf39b [sledge] Build: Move sledge equality solver to separate lib
5 years ago
Daiva Naudziuniene 35011757dc [pulse] Add a flag to pass functions that we want to model as returning non-null
5 years ago
Jules Villard a89d3db364 [pulse] change recency maps to be backed by lists
5 years ago
Daiva Naudziuniene 0ab3689f1f [infer] NULLPTR_DEREFERENCE false positive caused by thread_local variable
5 years ago
Dulma Churchill 85ee958bf9 [pulse] Add model for NSObject.init
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
Dulma Churchill 2d4b3c9acd [builtins] Change the name of __free_cf to the more appropriate _objc_bridge_transfer and delete the biabduction implementation
5 years ago
Daiva Naudziuniene 412d2777eb [pulse] Add a flag to pass functions that we want to model as abort
5 years ago
Ezgi Çiçek c23e0044fc [infer] Remove ppx_compare workaround for nonrec types (2)
5 years ago
Josh Berdine 9c8f2e4a5c [sledge] Build: Move Timer to Nonstdlib
5 years ago
Jules Villard 8a1c10f8a1 remove dynamic severity: Reporting.log_{error,warning} -> log_issue
5 years ago
Dulma Churchill aa6fe7963c [pulse] Add dealloc calls for ObjC objects that are about to become unreachable
5 years ago
Dulma Churchill f638e741ae [pulse] Add DynamicType attribute and use it in the model of ObjC alloc
5 years ago
Ezgi Çiçek 964388f56c [pulse] Brush up Collection/List add and remove models
5 years ago
Daiva Naudziuniene 98092481d4 [pulse] Special case for std::function:operator=( nullptr )
5 years ago
Jules Villard eab7e9aeb7 minor readability improvement in IssueType.ml
5 years ago
Sungkeun Cho 719b72cb4f [pulse] Avoid partitioning abstract values
5 years ago
Jules Villard 4e28980c8e [errlog] reporting asserts checker matches issue-type
5 years ago
Josh Berdine 61566caddf [ocamlformat] Set break-sequences = true
5 years ago
Josh Berdine 65f369cf35 [ocamlformat] Reformat repo with new version
5 years ago
Dulma Churchill ef7bc324e3 [pulse] Add a flag to model methods for memory ownership transfer
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
Ezgi Çiçek faceece120 [pulse] Brush up List.set() model
5 years ago
Ezgi Çiçek 5ff6fc93a0 [pulse] Brush up Java iterator models
5 years ago
Jules Villard 041ecc5b43 rename most libraries to be more consistent
5 years ago
Dulma Churchill 40143ab01c [pulse] Model CFRelease as removing the Allocated attribute rather than as free
5 years ago
Jules Villard e06487868b make Reporting take a Procdesc instead of attributes
5 years ago
Sungkeun Cho d373a81b73 [pulse] Keep only one disjunct from blacklisted function
5 years ago
Jules Villard 7e5dba718a pulse/dune
5 years ago
Jules Villard a34e1a8759 bufferoverrun/dune
5 years ago
Jules Villard f41575411c make pulse take an `InterproceduralAnalysis.t`
5 years ago
Jules Villard d14ff99f45 [pudge] try harder to prove false
5 years ago
Jules Villard 2da04b835d [pulse] require ptr>0 in free()
5 years ago
Jules Villard 385b6fa914 [pulse] revamp arithmetic, put everything in the path condition
5 years ago
Jules Villard 5c453393ff [pulse] recency model for memory accesses
5 years ago
Jules Villard c2ec55fe37 [pulse] remove traces from interval domain
5 years ago
Dulma Churchill 6c044ba2d4 [pulse] Model Core Foundation create and copy functions
5 years ago
Jules Villard 2d8debc562 [pulse] invalidate vector backing array correctly
5 years ago
Jules Villard 0859f61695 make AbstractInterpreter agnostic in ProcData
5 years ago
Jules Villard a144c8e4df split reporting.ml for dependencies
5 years ago
Dulma Churchill f28d75c910 [pulse] Add model for malloc_no_fail
5 years ago
Dulma Churchill fa13577695 [pulse] Model __bridge_transfer
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
Dulma Churchill c76d59853b [pulse] Model CFBridgingRelease by removing the Allocated attribute
5 years ago
Jules Villard 3332dc1a42 [AI] improve disjunctive domain
5 years ago
Jules Villard edba795825 [AI] move disjunctive scheduling to AbstractInterpreter
5 years ago
Jules Villard 50feb5481c [pudge] only ask unsat when reporting
5 years ago
Jules Villard 822a78c576 [pudge] lazily compute sledge stuff
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 36f44f030d [pudge] spit out sledge replay tests
5 years ago
Jules Villard 7a888170e7 [pudge] it's alive!
5 years ago
Dulma Churchill 2d168f75a6 [pulse] Add options for modelling alloc models and free models from user-defined regexes.
5 years ago
Jules Villard 6247437296 [pulse] unified API for arithmetic
5 years ago
Jules Villard 0a8ad85596 [pulse][minor] rename AbductiveDomain.Domain -> AbductiveDomain.PostDomain
5 years ago
Jules Villard af2aaf2a14 [pulse][minor] remove skipped_calls getter
5 years ago
Jules Villard bb9726bbd7 [pulse] enforce short forms for PulseDomainInterface
5 years ago
Jules Villard 94e3b06900 [pulse] enforce short forms for PulseBasicInterface
5 years ago
Jules Villard a0d1fee1dc [pulse] move SkippedCalls to its own file
5 years ago
Jules Villard c00de7ad27 [pulse] move interproc call to its own file
5 years ago
Jules Villard 9ed10d435b [pulse][minor] simplify rewriting of callee post attributes
5 years ago
Dulma Churchill 2382e3d613 [pulse] Model Core Graphics Create and Copy just like malloc
5 years ago
Dulma Churchill 59ea968de8 [pulse] Model the correct CFAutorelease
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 5a2b285fff [pulse] Distinguish exit state at top level
5 years ago
Dulma Churchill dba4140a7b [pulse] Adding null case to malloc's model
5 years ago
Dulma Churchill 271946a178 [pulse] Model release functions from Core Graphics and Core Foundation
5 years ago
Dulma Churchill 6f2b52fcc7 [pulse] Model Core Graphics create and copy functions
5 years ago
Jules Villard 6dc0894eef [pulse][models] add the proc name being matched to the context
5 years ago
Dulma Churchill 902514dccd [pulse] Add unreachable point to the trace of memory leaks
5 years ago
Ezgi Çiçek d97e1c8fdb [pulse][impurity] Add model for System.exit()
5 years ago
Ezgi Çiçek f7baf845fd [pulse] Fix printing order in contradiction for CItv and add tests
5 years ago
Dulma Churchill e99295e0e9 [pulse] Memory leak check
5 years ago
Ezgi Çiçek 7ca2fcc948 [pulse][purity] Add more naive models for Java
5 years ago
Ezgi Çiçek 25c058f706 [deadcode] Fix deadcode
5 years ago
Ezgi Çiçek cc815f5d20 [pulse] Only propagate existing WrittenTo attributes at function calls
5 years ago
Ezgi Çiçek b372befee4 [pulse] Add more naive Java models
5 years ago
Ezgi Çiçek a65176de22 [pulse] Print SkippedCalls
5 years ago
Dulma Churchill d1923dcd71 [pulse] Changed the name of BaseDomain signature to avoid a name clash
5 years ago
Jules Villard 3ba91fd596 [pulse] refactor of PrePost.t vs AbductiveDomain.t
5 years ago
Jules Villard 7861752bf3 [pulse] rename "PulseArithmetic" to "PulseCItv"
5 years ago
Ezgi Çiçek e3c89b1f10 [impurity] Fix include_value_history
5 years ago
Dulma Churchill 2f90b05c2a [pulse] Add model for malloc
5 years ago
Ezgi Çiçek b90d7c42d3 [impurity] Do not add value history in impurity traces
5 years ago
Ezgi Çiçek c6237f5f9f [pulse] Add model for Object.clone()
5 years ago