Commit Graph

438 Commits (32639d6ebc5bdf9aa7e5ce80a48fc8fdf59fa1cd)

Author SHA1 Message Date
Josh Berdine fb184a6a1d [sledge] Introduce the notion of types having the same semantics 5 years ago
Josh Berdine 917cc62e28 [sledge] Fix type of functions called using a cast 5 years ago
Josh Berdine ce3252c348 [sledge] Allow global variables as function names 5 years ago
Josh Berdine 785928c77e [sledge] Error reporting improvements 5 years ago
Josh Berdine ffeef16aae [sledge] Add a flag to disable internalization 5 years ago
Josh Berdine 6ca09b14fd [sledge] Add flag to disable linking in the models 5 years ago
Josh Berdine f699c9b9a8 [sledge] Simplify ¬¬e to e 5 years ago
Josh Berdine 06f2863dd8 [sledge] Simplify `e xor e` to `0` 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 162f027249 [sledge] Make type argument of Exp constructors optional where computable 5 years ago
Josh Berdine ad5d5dd89e [sledge] Add Exp.true_ and Exp.false_ 5 years ago
Josh Berdine 37d1904bd3 [sledge] Move check for whether a variable is global from Reg to Var 5 years ago
Josh Berdine 3003a8e646 [sledge] NFC minor cleanups 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 13c06e4dd3 [sledge] Move generation of formal return and throw parameters to frontend 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
Josh Berdine c6b8b4688b [sledge] Move llvm build and install dirs out of llvm source tree 5 years ago
Scott Owens 5b7931e71a [sledge sem] Add a rudimentary theory of SSA 6 years ago
Scott Owens 71aa4816d6 [sledge sem] Fix the semantics and trans. of If 6 years ago
Scott Owens ab7233c5b8 [sledge sem] Refactor the way LLVM sem. does phis 6 years ago
Scott Owens 17b3c7a49f [sledge sem] Add top-level llair semantics 6 years ago
Scott Owens 30c301a3e8 [sledge sem] Add a more llair-like LLVM semantics 6 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 1ab8359bc0 [sledge] fix bug spuriously marking a register as global variable 6 years ago
Benno Stein 637fff5247 [sledge] Check for intrinsic calls in used-globals 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
Josh Berdine c131e2e669 [sledge] Use dune's Build_info for version reporting 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
Scott Owens f298d728c5 [sledge sem] Start sketching translation correctness 6 years ago
Josh Berdine 72946c3be3 [sledge] Update dependencies 6 years ago
Scott Owens d864fb2c89 [sledge semantics] Add a rough draft llair semantics 6 years ago
Scott Owens 32983e129b [sledge semantics] Update expr transl. for cross-block 6 years ago
Scott Owens 9f44bbc264 [sledge semantics] Refactor the memory model 6 years ago
Josh Berdine 13fb57ec62 [sledge] Revise llvm to llair translation to avoid code duplication 6 years ago
Josh Berdine ed4aac4f66 [sledge] Update stale comment 6 years ago
Josh Berdine 0667edf418 [sledge] Remove unused Llair.ignore_result 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 2c9fce0bf2 [sledge] Add Vector.unzip 6 years ago
Josh Berdine 0790a64763 [sledge] Change symbolic execution of instructions to not rely on SSA 6 years ago
Scott Owens 808a61623f Add types to the variable syntax in llair 6 years ago
Scott Owens 85243ada62 Update for improved HOL syntax for Datatypes 6 years ago
Scott Owens 84883127af Add a skeleton of an approach to llvm->llair 6 years ago
Scott Owens 6eab69d0d1 Definie a prelim. AST for llair's semantics 6 years ago
Josh Berdine 7efc9285cb [sledge] Fix type of Exp.rename 6 years ago
Josh Berdine 0895246e4f [sledge] Remove label on ~opts args in Control 6 years ago
Scott Owens 742ab9089d Change a type name 6 years ago
Scott Owens a635aff1bc Finish proving sanity checking property 6 years ago
Scott Owens 89c3da4510 Prove that Ret preserves the invariant 6 years ago
Scott Owens df5f20956f Define a simple initial state that inits the globals 6 years ago
Scott Owens 97eb280cb5 Add initial mini-LLVM semantics written in HOL4 6 years ago
Timotej Kapus afb6a4fd11 [sledge] Fix internalization 6 years ago
Timotej Kapus c8d1da1e0d [sledge] Fix __llair_alloc 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 0126b64d16 [sledge] Explicate output flag of disassemble command 6 years ago
Josh Berdine 9865bc0f74 [sledge] [solver] Strengthen handling of existential subtrahends 6 years ago
Timotej Kapus b5dea36c5e [sledge] Add global merge pass 6 years ago
Timotej Kapus 5882c49d7d [sledge] Disable creating of summaries when summaries disabled 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 1908077aa9 [sledge] Include alarms in debug trace 6 years ago
Josh Berdine e27af1f184 [sledge] Build models without threads support 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 8f765bf742 [sledge] Add -margin flag for debug tracing output 6 years ago
Josh Berdine d42908a5ff [sledge] Add dbg-opt build mode 6 years ago
Josh Berdine ddc1a028c4 [sledge] Manually set exception backtrace recording 6 years ago
Josh Berdine 8be5dbec0b [sledge] Revise Report printing 6 years ago
Josh Berdine 4c6ea0c887 [sledge] Use standard "libFuzzer" name 6 years ago
Timotej Kapus e15a1d36a5 [sledge] Add data structure to hold summaries 6 years ago
Josh Berdine 03e338b2b9 [sledge] Give more specific names to `-output` flags 6 years ago
Josh Berdine 39fe848146 [sledge] Define `sledge buck link` in terms of `sledge buck bitcode` 6 years ago
Josh Berdine 26a34bc33c [sledge] Do not always output list of bitcode inputs 6 years ago
Josh Berdine b8bd639ad8 [sledge] Generate and commit cli help 6 years ago
Timotej Kapus fc6aee2d06 [sledge] Function summarisation: maybe summaries 6 years ago
Timotej Kapus 5df12c7725 [sledge] Add lib-fuzzer to buck analyze 6 years ago
Timotej Kapus 0ab1223d3d [sledge] Function summarization: solver can show pre 6 years ago
Timotej Kapus 4ac252120b [sledge] special case buck-target-patterns 6 years ago
Josh Berdine 0f5ae186b3 [sledge] Add test for use-after-destroy of a temp 6 years ago
Josh Berdine a58bc25aa5 [sledge] Strengthen simplification of convert Exps 6 years ago
Josh Berdine cc1f88a747 [sledge] Fix macos build of models 6 years ago
Timotej Kapus 6949a5ee68 [sledge] Add a todo for calls with inttoptr 6 years ago
Josh Berdine b14580d88b [sledge] Move locals from blocks to functions 6 years ago
Timotej Kapus 86e12cb1a3 [sledge] Add missing llvm passes to frontend.ml 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 a75a50215b [sledge] Add LLVM passes that reduce bitcode size 6 years ago
Timotej Kapus 1614f78f6d [sledge] Add a harness for lionhead fuzzers 6 years ago
Timotej Kapus 46f5667823 [sledge] Relax call instruction arguments 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
Timotej Kapus 0f61a97feb [sledge] Add non-failling alloc intrinsic 6 years ago
Timotej Kapus d2ee43e818 [sledge] Remove --auto-promote from CI builds 6 years ago
Timotej Kapus ad035a4cc7 [sledge] Fix handling of bitcasts in call instr 6 years ago
Timotej Kapus 8e31b136d0 [sledge] CI install script 6 years ago
Josh Berdine 12bab4b16b [sledge] Add formal parameters to functions for return values 6 years ago
Josh Berdine 2440ee69ae [sledge] Preserve sharing of Func.parent 6 years ago
Timotej Kapus 2d69e17d51 [sledge] Add CL option to disable exceptions 6 years ago
Josh Berdine caef28f49e [sledge] Revise test scripts 6 years ago
Josh Berdine f119154a41 [sledge] Add cxa_default_handlers to models 6 years ago
Josh Berdine a0949495c1 [sledge] Translate `invoke abort` to `abort` 6 years ago
Josh Berdine f3bee3f513 [sledge] Print locations of globals in textual LLAIR 6 years ago
Josh Berdine d104f5e518 [sledge] Extend Exp.typ to binary and ternary ops 6 years ago
Timotej Kapus 65f3b10c99 [sledge] Fix crashing frontned 6 years ago