188 Commits (44f41d2929da8a7ef5be4266b20f5fbbb8e9cf70)

Author SHA1 Message Date
Benno Stein 7ec2830d92 [sledge] Only merge worklist states that share a calling context
6 years ago
Benno Stein e44827b892 [sledge] Add option to apply used-globals as pre-analysis
6 years ago
Benno Stein 6592eb609f [sledge] Add option to skip recursive calls at depth bound
6 years ago
Benno Stein 00a5d3dd64 [sledge] Account for callees in used-globals analysis
6 years ago
Benno Stein 47f314c00e [sledge] Add used-globals abstract domain and transfer functions
6 years ago
Benno Stein 3dc0c5938f [sledge] Extract relational logic from Sh_domain, create "domain" module
6 years ago
Benno Stein 2acb1c3dee [sledge] Functorize worklist, separate out domain-specific logic
6 years ago
Josh Berdine 3f8d5ace6e [sledge] Eliminate SSA
6 years ago
Josh Berdine b6eab89504 [sledge] Remove dead from_call.actuals_to_formals field
6 years ago
Josh Berdine 8d9b8962c7 [sledge] Add Move instruction
6 years ago
Josh Berdine 0790a64763 [sledge] Change symbolic execution of instructions to not rely on SSA
6 years ago
Josh Berdine 7efc9285cb [sledge] Fix type of Exp.rename
6 years ago
Timotej Kapus 6c9e4e52c6 [sledge][summaries] Fix unsoundes due to missing frame
6 years ago
Josh Berdine 7f423f7fa1 [sledge] Model `folly::usingJEMalloc()`
6 years ago
Josh Berdine 4bbe05698e [sledge] Remove `.<int>` suffix when looking up modeled function names
6 years ago
Josh Berdine 9865bc0f74 [sledge] [solver] Strengthen handling of existential subtrahends
6 years ago
Timotej Kapus ba6e6bf369 [sledge] Actually use function summaries
6 years ago
Timotej Kapus c0c6d65d45 [sledge] Generate and apply summaries
6 years ago
Timotej Kapus 8173eedf1f [sledge] Fix solver crash
6 years ago
Timotej Kapus b5b8259ea7 [sledge] Add printing of some variables in bold
6 years ago
Timotej Kapus c5f261e977 [sledge] [summaries] Fix variable naming bugs
6 years ago
Timotej Kapus b25f735c6e [sledge] Fix Exp.map and garbage_collect
6 years ago
Timotej Kapus 38e66d6f91 [sledge] [summaries] Fix issues with multiple calls
6 years ago
Josh Berdine b8065e9b62 [sledge] Model __cxa_allocate_exception as unreachable with -skip-throw
6 years ago
Josh Berdine bcc6e1ecc9 [sledge] Support intrinsics which do not return
6 years ago
Josh Berdine 8be5dbec0b [sledge] Revise Report printing
6 years ago
Timotej Kapus fc6aee2d06 [sledge] Function summarisation: maybe summaries
6 years ago
Timotej Kapus 0ab1223d3d [sledge] Function summarization: solver can show pre
6 years ago
Josh Berdine b14580d88b [sledge] Move locals from blocks to functions
6 years ago
Josh Berdine 330b266d28 [sledge] Rework function return value passing
6 years ago
Timotej Kapus 01e6c5c558 [sledge] [solver] add handling of trivial equality
6 years ago
Timotej Kapus 551a03c4c9 [sledge] Simplify the printed symbolic heaps
6 years ago
Josh Berdine cfc1c8be36 [copyright] Remove years
6 years ago
Timotej Kapus 5a92171b26 [sledge] Print pre/post on function return
6 years ago
Josh Berdine 12bab4b16b [sledge] Add formal parameters to functions for return values
6 years ago
Josh Berdine 4ea2cf9814 [sledge] Improve uncaught exceptions
6 years ago
Josh Berdine 00c5e1b9fe [sledge] Fix size in translation of global variables
6 years ago
Josh Berdine a3e7107969 [sledge] Optimize variable renaming in symbolic heaps
6 years ago
Josh Berdine e391a8a9b2 [sledge] Simplify Equality.map_exps
6 years ago
Josh Berdine 889b874f63 [sledge] Optimize equality solver treatment of atomic exps
6 years ago
Josh Berdine 0cbcb878f9 [sledge] Classify fully-interpreted and simplified exps differently
6 years ago
Josh Berdine 4ece75ace9 [sledge] Add abort instruction and use it for abort and llvm.trap
6 years ago
Josh Berdine ff9d3aca5a [sledge] Add rough models for mallctl functions
6 years ago
Josh Berdine 077b4d3da7 [sledge] Add Solver tests demonstrating incompleteness
6 years ago
Josh Berdine 455ea495fb [sledge] Strengthen Sh re null cannot be allocated
6 years ago
Josh Berdine 7567432afb [sledge] Revise Sh.dnf to handle nested existentials
6 years ago
Josh Berdine 15300403a5 [sledge] Improve debug tracing
6 years ago
Josh Berdine 0bef279ed1 [sledge] Fix bug in quantifier handling during Sh.or simplification
6 years ago
Josh Berdine 6e1ab66945 [sledge] Add intrinsics to model jemalloc.h functions
6 years ago
Josh Berdine 6e41cab422 [sledge] Change strlen from an instruction to an intrinsic
6 years ago
Josh Berdine 1c2ce2344f [sledge] Skeleton for symbolic execution of unsafe intrinsics
6 years ago
Josh Berdine 94fedd9cf0 [sledge] Minor simplification of Exec implementation
6 years ago
Josh Berdine a7367a7cbd [sledge] Improve fresh variable handling in spec construction
6 years ago
Josh Berdine 2376fd3e51 [sledge] Refactor to clean up instruction ordering
6 years ago
Josh Berdine 95b9702d40 [sledge] Remove unused Domain.bottom
6 years ago
Josh Berdine 0af0d3b210 [sledge] Revise Equality carrier-closure invariant
6 years ago
Josh Berdine 591d60e20a [sledge] Prefer simple exps over applications as class reps
6 years ago
Josh Berdine 0578064a7f [sledge] Revise solver existential instantiation
6 years ago
Josh Berdine 29f7f30b1a [sledge] Add simple frame inference solver tests
6 years ago
Josh Berdine 41fff4fbf7 [sledge] Remove previous Congruence implementation
6 years ago
Josh Berdine 34e7e1a83b [sledge] Strengthen solver with implied sizes of concatenated byte arrays
6 years ago
Josh Berdine d7f5611b32 [sledge] Use ppx_compare to define equal functions
6 years ago
Josh Berdine cd63204dba [sledge] Initial Shostak-style treatment of UIF+LIA
6 years ago
Josh Berdine 8fa2f86b7e [sledge] Fix order of Exp.fold args
6 years ago
Josh Berdine 55540d3500 [sledge] Remove Trace.report in favor of Trace.fail
6 years ago
Josh Berdine 0ecee6a848 [sledge] Change polynomial coefficients and powers to rationals
6 years ago
Josh Berdine d01de4b0dd [sledge] Simplify representation of Add and Mul exps
6 years ago
Josh Berdine 22578089c3 [sledge] Reimplement arithmetic and congruence closure
6 years ago
Josh Berdine f8fda2e378 [sledge] Trace using symmetric differences between congruence relations
6 years ago
Josh Berdine 875a6a6f8e [sledge] Strengthen treatment of existentials in pure constraints
6 years ago
Josh Berdine 270b6003de [sledge] Revise excision of segments to witness existential size
6 years ago
Josh Berdine 610a641b45 [sledge] Sort congruence classes when printing
6 years ago
Josh Berdine 7f630097f9 [sledge] Improve debug tracing
6 years ago
Josh Berdine 48e947883d [sledge] Normalize arithmetic exps to polynomials
6 years ago
Josh Berdine 718aa27c8d [sledge] Add typ of Add and Mul expressions
6 years ago
Josh Berdine 2876ab5034 [sledge] Add result type to Exp.{add,sub,mul}
6 years ago
Josh Berdine 11bf7d9a39 [sledge] Build system support inline tests in all libraries
6 years ago
Josh Berdine 172b804838 [sledge] Update tests
6 years ago
Mehdi Bouaziz ecedb27d77 Add missing FB copyrights
6 years ago
Josh Berdine 1500745b03 [sledge] Add typ of integer constants
6 years ago
Josh Berdine 080c843856 [sledge] Add maybe-alloc instruction that may fail
6 years ago
Josh Berdine 1b11a0df0e [sledge] Improve debug tracing
6 years ago
Josh Berdine 0a09581431 [sledge] Add abstract domain interface
6 years ago
Josh Berdine 4633419b1c [sledge] Add symbolic execution
6 years ago
Josh Berdine e397a43f80 [sledge] Add frame inference solver over symbolic heaps
6 years ago
Josh Berdine 83eff4c734 [sledge] Add symbolic heap formulas
6 years ago
Josh Berdine a32890a1e3 [sledge] Add congruence closure with integer offsets
6 years ago
Josh Berdine f6ba0c8137 [sledge] Update build system, etc.
6 years ago