188 Commits (44f41d2929da8a7ef5be4266b20f5fbbb8e9cf70)

Author SHA1 Message Date
Josh Berdine df26b9b1a5 [sledge][NFC] Minor code simplification
5 years ago
Josh Berdine 65e963a162 [sledge] Add Sh.subst implemented ito and and exists
5 years ago
Josh Berdine 1595fb7c60 [sledge] Fix potential name clash in Sh.rename
5 years ago
Jules Villard 42470d8809 [hmm] sexp_{option,list} -> {option,list}
5 years ago
Josh Berdine ec52c05c30 [sledge][NFC] Minor simplification for singleton sets
5 years ago
Josh Berdine 239d906ab6 [sledge] Improve tracing and debugging support
5 years ago
Josh Berdine 3f5adecdcf [sledge] Exec.exec_specs missed vocabulary extension
5 years ago
Josh Berdine 9ac854c970 [sledge] Exec.kill should preserve vocabulary
5 years ago
Josh Berdine b2f90a3994 [sledge] Treat freturn directly in Dom.call
5 years ago
Josh Berdine 69c29ab3d8 [sledge][NFC] Label args of Domain.call
5 years ago
Josh Berdine 6328a6ce40 [sledge] Do not store size of globals separately
5 years ago
Josh Berdine ca95fc098f [sledge] Keep size in both bits and bytes for each type
5 years ago
Josh Berdine d3bad1ce44 [sledge] Add sizes to types
5 years ago
Josh Berdine 785928c77e [sledge] Error reporting improvements
5 years ago
Josh Berdine 6f84787b19 [sledge] Change exec_inst to return an option instead of a result
5 years ago
Josh Berdine 2840eb4781 [sledge] Refactor dispatch on instruction from Exec to Sh_domain
5 years ago
Josh Berdine c6d7886fd8 [sledge] Make type of exec_move consistent with move instruction
5 years ago
Josh Berdine 8ee0c67d1f [sledge] Precompute the Term form of each Exp, and add it to Exp.t
5 years ago
Josh Berdine 9ddfae4e89 [sledge] Change Term.rename to preserve sharing in cyclic records
5 years ago
Josh Berdine 7ecd091ff3 [sledge] Change Struct_rec to a generic n-ary recursive application
5 years ago
Josh Berdine 356b4f0b4e [sledge] Uncurry Record term constructor
5 years ago
Josh Berdine 99b60d191a [sledge] Fix sorting of heap block subformulas when printing
5 years ago
Josh Berdine 1228c8e31b [sledge] Uncurry Update term constructor, and specialize index to int
5 years ago
Josh Berdine 09daac754c [sledge] Uncurry Select term constructor, and specialize index to int
5 years ago
Josh Berdine 5eaae07043 [sledge] Change Concat term contructor to a generic n-ary application
5 years ago
Josh Berdine 6cd82475f1 [sledge] Use generic binary application for Splat and Memory term constructors
5 years ago
Josh Berdine 6805da9557 [sledge] Uncurry ternary term constructors
5 years ago
Josh Berdine 167e489e24 [sledge] Uncurry binary term constructors
5 years ago
Josh Berdine 8b9d4ba066 [sledge] Uncurry unary term constructors
5 years ago
Josh Berdine e87a0533be [sledge] Minor simplification of polynomial representation
5 years ago
Josh Berdine 3bbb05216f [sledge] Remove the redundancy of both < and >= terms
5 years ago
Josh Berdine a3506f995c [sledge] Simplify arithmetic terms due to not needing type
5 years ago
Josh Berdine 471d296266 [sledge] Fix check for range of representable integers
5 years ago
Josh Berdine c440c4fc28 [sledge] Remove unsigned Term operations except Extract
5 years ago
Josh Berdine e84f3fcf0f [sledge] Add Extract term
5 years ago
Josh Berdine 5753f9b26a [sledge] Rename clamp to extract
5 years ago
Josh Berdine d7ef03cf02 [sledge] Revise and fix unsigned conversions
5 years ago
Josh Berdine 7f2165484b [sledge] Do not special case boolean vs bitwise operations
5 years ago
Josh Berdine 8abfcfb504 [sledge] Simplify normalization of shift operations
5 years ago
Josh Berdine e3f0ba8c54 [sledge] Revise program expressions
5 years ago
Josh Berdine 00639e15bb [sledge] Delay normalization of xor to equality
5 years ago
Josh Berdine 0e4110fc5c [sledge] Normalize xor and equality based on type instead of bitwidth
5 years ago
Josh Berdine 0903355a0e [sledge] Remove unused Exp constructors for memory exps
5 years ago
Josh Berdine 3b03022b5e [sledge] Remove redundant Reg.id
5 years ago
Josh Berdine 310d00f380 [sledge] Remove dead code in Exp and Term
5 years ago
Josh Berdine 442c8e92f4 [sledge] Distinguish program expressions and formula terms
5 years ago
Josh Berdine 0c04ecc9aa [sledge] Change Llair representation of functions to a String map
5 years ago
Josh Berdine 6aaeaba104 [sledge] Move ops on signed 1-bit Z integers to import
5 years ago
Josh Berdine ed733f0247 [sledge] Add missing import of trace into symbheap
5 years ago
Josh Berdine 1fdc76d163 [sledge] Rename State_domain back to Sh_domain
5 years ago
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