399 Commits (6273b1f445e4f22b70212d4d6f017606950b45a4)

Author SHA1 Message Date
Loc Le 12c582a698 [pulse] explicit isl error specs for free/delete
4 years ago
Loc Le 92341d8ffc isl summary for memory store
4 years ago
Loc Le 6eb79feaaf [Pulse] explicit Ok/Error summaries: bi-abduction for memory read
4 years ago
Daiva Naudziuniene 47954fc428 [pulse] Do not drop astates in ExitScope instruction
4 years ago
Daiva Naudziuniene 0c6eedc835 [pulse] Model std::__optional_storage_base::has_value
4 years ago
Sungkeun Cho b4b75c4ffb [config] Use not-reversed list types for `Config` variables
4 years ago
Sungkeun Cho 153005c3cb [config] Add RevList for explicit reversed list in Config
4 years ago
Loc Le b1d371e54d Pulse with explicit Ok/Error summaries
4 years ago
Jules Villard b5bd85c967 [pulse] quantifier elimination using var_eqs
4 years ago
Jules Villard 8b2b797136 [pulse] minor rename: eq -> lin_eq
4 years ago
Sungkeun Cho 3685cc6fdd [pulse] Revise trace of uninitialized value check
4 years ago
Jules Villard 0980bbe2b3 [pulse] also visit values involved in array accesses
4 years ago
Jules Villard 7d11a26d66 [pulse] canonicalise attributes too
4 years ago
Jules Villard 27150cb7d3 [pulse] not-completely-broken interprocedural arrays
4 years ago
Jules Villard b57f6527b7 [pulse][minor] remove unused argument
4 years ago
Jules Villard 66365c2d54 [pulse] add comment for [subst_find_or_new]
4 years ago
Sungkeun Cho 1bf82d9f86 [pulse] Give semantics of dispatch_sync in ObjC
4 years ago
Sungkeun Cho fa29098376 [pulse] Inter-procedural uninit analysis
4 years ago
Daiva Naudziuniene b5df1be318 [pulse] Model std::vector:empty()
4 years ago
Sungkeun Cho 67417e5fb7 [pulse] Refactoring: reuse proc_name_of_call result
4 years ago
Sungkeun Cho 69371bb2c5 [pulse] Change to ExitProgram state when calling noreturn function
4 years ago
Sungkeun Cho 0cbe2f9b08 [pulse] Uninitialized value check in pulse
4 years ago
Jules Villard e526cf157a [pulse] filter out unsat states earlier
4 years ago
Sungkeun Cho 2d8f404a5f Revert "[Refactoring] Use pvar instead of mangled in CapturedVar"
4 years ago
Jules Villard ab2813e355 [pulse] canonicalize wrt equality relation
4 years ago
Jules Villard 5423bb1699 [pulse] make sure we checked satisfiability on summaries
4 years ago
Jules Villard 98b562c844 [pulse][refactor] extract and reuse a `SatUnsat` module
4 years ago
Jules Villard 581487ec61 [pulse] record aliasing information in the arithmetic
4 years ago
Sungkeun Cho 49bfd206a0 [Refactoring] Use pvar instead of mangled in CapturedVar
4 years ago
Sungkeun Cho 6972d9cb91 [Refactoring] Use inline record for captured variable type
4 years ago
Radu Grigore 6a61a85964 [topl] Refactor: Put constraint code in PulseTopl.Constraint.
4 years ago
Radu Grigore f8aa139b88 [topl] Be more precise in extracting summaries.
4 years ago
Radu Grigore 3478a8828f [topl] Added limits, to avoid high runtimes in corner-cases.
4 years ago
Daiva Naudziuniene 0343f5c7d9 [pulse] Remove duplicate `by` from a trace
4 years ago
Daiva Naudziuniene 4e658903ae [pulse] Check the validity of the addresses captured by lambda only for captures by reference
4 years ago
Radu Grigore e00dbe46b1 [topl] Got rid of quadratic runtime for long methods.
4 years ago
Radu Grigore d652e22a0a [topl] Don't bubble up errors.
4 years ago
Radu Grigore d3ff423bb1 [topl] Don't put trivial large steps in trace.
4 years ago
Radu Grigore c829db4964 [topl] Fixed an eggregious performance issue (repeated summaries).
4 years ago
Radu Grigore 59daa1f022 [topl] Added the ArrayWrite event type.
4 years ago
Radu Grigore 33071b82b5 [topl] Interprocedural analysis (in Pulse)
4 years ago
Radu Grigore 206686718f [topl] Report error traces
4 years ago
Radu Grigore 9c57668714 [topl] Extract summaries from posts
4 years ago
Radu Grigore 009f3b651c [topl] Small steps in Pulse
4 years ago
Radu Grigore 2ce0c680a7 [topl] Added a hook for large steps in Pulse.
4 years ago
Radu Grigore 72a5a1e7ec [topl] Small step hook inside Pulse
4 years ago
Daiva Naudziuniene 019adf7e78 [pulse] Model for folly::Optional::get_pointer
4 years ago
Jules Villard f411c7d131 [pulse] do not stop at the first error in function calls
4 years ago
Jules Villard 578583f2ab [pulse] check that new arithmetic facts are consistent with the heap
4 years ago
Jules Villard 47e9f8ffec [pulse][easy] code factorisation
4 years ago
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