Commit Graph

1167 Commits (85eb72f7cda8d084cc1b8e8ae528880675ee7c1d)

Author SHA1 Message Date
Josh Berdine ecb1bce470 [sledge] Adapt NSMap to Comparer interface 4 years ago
Josh Berdine 5ea2f20cad [sledge] Optimize by inlining functors 4 years ago
Josh Berdine 32c89e6b68 [sledge] Change ocaml/{set,map} to use Comparer interface 4 years ago
Josh Berdine 7cf6e17403 [sledge] Add Comparer: type-indexed compare functions 4 years ago
Josh Berdine 5d54631d09 [sledge] Fix `make debug` 4 years ago
Josh Berdine 02ab2f18c9 [sledge] Add missing label 4 years ago
Josh Berdine 7f60aa006a [sledge] Reorder set and map definitions 4 years ago
Josh Berdine 2df2b4cb7c [sledge] Implement {Map,Set} using Stdlib.{Map,Set} 4 years ago
Josh Berdine de8d583f82 [sledge] Rename nonstdlib/{map,set} to nonstdlib/{NSMap,NSSet} 4 years ago
Josh Berdine 9ca7ba3619 [sledge] Add Map and Set from Stdlib 4 years ago
Josh Berdine 3593e41de1 [sledge] Change confusing order of Multiset args 4 years ago
Josh Berdine ae787bbde1 [sledge] Simplify Propositional interface 4 years ago
Josh Berdine e284b06e5b [sledge] Refactor Var0 into Trm.Var and Subst 4 years ago
Josh Berdine daaff7ad01 [sledge] Reorder Trm definitions 4 years ago
Josh Berdine 0bcdc59086 [sledge] Avoid using Var.ppx in Trm.ppx 4 years ago
Josh Berdine 6ecdb72fcc [sledge] Do not define Trm.Var recursively with Trm.Trm 4 years ago
Josh Berdine 781280faf1 [sledge] Rename Arithmetic.INDETERMINATE.trm to t 4 years ago
Josh Berdine 768e0b324d [sledge] Remove unneeded Trm.T 4 years ago
Josh Berdine b45b190d05 [sledge] Compare Vars by id 4 years ago
Josh Berdine eef9019442 [sledge] Use (negated) register ids instead of 0 for program vars 4 years ago
Josh Berdine 0534623a63 [sledge] Add unique int ids to Llair registers 4 years ago
Josh Berdine 6010ec45b2 [sledge] Do not consume names for non-call void instructions 4 years ago
Josh Berdine 19a237c730 [sledge] Name trampoline blocks using source block instead of instr 4 years ago
Josh Berdine aaf0921d86 [sledge] Do not regenerate symbol name when updating loc in Frontend 4 years ago
Josh Berdine 5c07232ea3 [sledge] Fix handling of existentials in Sh.and_ 4 years ago
Josh Berdine 05e1e52f0a [sledge] Improve tracing, comments, assertions for function call 4 years ago
Josh Berdine 0587da1c51 [sledge] Fix coverage stats being too low due to clashes 4 years ago
Josh Berdine 3afd679c42 [sledge] Simplify handling of Var.strength 4 years ago
Josh Berdine e625780d73 [sledge] Change build system to ensure report exe is built for testing 4 years ago
Josh Berdine 4761e60c5b [sledge] Suppress Context debug wrappers 4 years ago
Josh Berdine 6701194262 [sledge] Minor cleanup in Context 4 years ago
Josh Berdine 8baec586f0 [sledge] Optimize Context.dnf by iterating disjuncts lazily 4 years ago
Josh Berdine 67ce2de306 [sledge] Add some smtlib tests 4 years ago
Josh Berdine c1c83e4da0 [sledge] Test infra improvements 4 years ago
Josh Berdine ee9aa931c4 [sledge] Reimplement equality solver based on "use" superterm index 4 years ago
Josh Berdine ecfb5a1116 [sledge] Improve Context tracing 4 years ago
Josh Berdine 2c46e2b8d4 [sledge] Prepare Context.extend for addition of use lists 4 years ago
Josh Berdine e61278cb9a [sledge] Add Trm.fold_map 4 years ago
Josh Berdine 33731c1a10 [sledge] Improve Context.Subst naming 4 years ago
Josh Berdine cd116fcf41 [sledge] Improve Context.invariant with Theory.classify 4 years ago
Josh Berdine e91fc9d1a3 [sledge] Improve Context.extend with Theory.classify 4 years ago
Josh Berdine 7806a446f6 [sledge] Tighten test for uninterp terms in Context.solve_uninterp_eqs 4 years ago
Josh Berdine 570f2bd8e5 [sledge] Improve test in Context.propagate1 4 years ago
Josh Berdine 745369b83c [sledge] Implement Context.norm in terms of Theory.map_solvables 4 years ago
Josh Berdine 5346f79100 [sledge] Simplify and (minor) strengthen Context.is_valid_eq 4 years ago
Josh Berdine 4a027b6682 [sledge] Use Theory.solvables in Context.solve_poly_eq 4 years ago
Josh Berdine 724c1acc22 [sledge] Add Theory.solvables 4 years ago
Josh Berdine dbfa63feaa [sledge] Refine Theory.classify to distinguish (un)interpreted atoms 4 years ago
Josh Berdine 548adedc37 [sledge] Add Arith.is_uninterpreted 4 years ago
Josh Berdine a4f8ecfb2b [sledge] Fix Arith.map on noninterpreted polynomials 4 years ago
Josh Berdine af58e744a2 [sledge] Fix Arith.trms to include proper subterms of uninterpreted terms 4 years ago
Josh Berdine 80af949e89 [sledge] Fix the constant 1 from being considered a subterm 4 years ago
Josh Berdine b6ffeb179f [sledge] Cleanup and tracing in Trm and Arith 4 years ago
Josh Berdine 9945cc9495 [sledge] Fix type of List.iter 4 years ago
Josh Berdine f5e051f58a [sledge] Add replay debugging for Context.dnf 4 years ago
Josh Berdine 34d1eeb5dc [sledge] Uniformly include representatives in equality classes 4 years ago
Josh Berdine 2f0c4af2dd [sledge] Reorder Context definitions 4 years ago
Josh Berdine 1ddb5fb249 [sledge] Represent equality classes explicitly 4 years ago
Josh Berdine 999710fbb7 [sledge] Change Map.to_list to return bindings in order 4 years ago
Josh Berdine 1c43a7fe3d [sledge] Simplify Context.Subst.compose1 4 years ago
Josh Berdine aeba96a3c7 [sledge] Refactor theory solver into separate module 4 years ago
Josh Berdine 757e44ca50 [sledge] Simplify Context as wrt is unneeded when no_fresh is true 4 years ago
Josh Berdine caae7515e8 [sledge] Rework first-order solver to use a list of pending equations 4 years ago
Josh Berdine 01c8024a50 [sledge] Simplify use of solve_extract in Context.solve_for_vars 4 years ago
Josh Berdine 440aed0f09 [sledge] Strengthen Context.invariant 4 years ago
Josh Berdine 1a9737dbe5 [sledge] Factor out representation of equality classes into Context.Cls 4 years ago
Josh Berdine 9b4059b07c [sledge] Do not normalize class members 4 years ago
Josh Berdine 81f77cf7bd [sledge] Strengthen Context.solve_for_vars on uninterpreted functions 4 years ago
Josh Berdine 5c5a1cc581 [sledge] Add support for dumping and replaying solver queries 4 years ago
Josh Berdine 11c8ba21be [sledge] Allow more flexibility in Trace.trace breaking 4 years ago
Josh Berdine 93abf301c9 [sledge] Fix type of List.filter 4 years ago
Josh Berdine 2d67fd0fa4 [sledge] Add Trm.Set.pp 4 years ago
Josh Berdine 0ebc74ae8c [sledge] Add Set.Provide_pp 4 years ago
Josh Berdine 8943e0eb6d [sledge] Simplify Sh.pp_us 4 years ago
Josh Berdine e154e38439 [sledge] Factor out common code around calls of Dom.exec_assume 4 years ago
Josh Berdine dc3d67d5cc [sledge] Update tests 4 years ago
Josh Berdine af980bafa0 [sledge] Add number of solver steps to reported statistics 4 years ago
Josh Berdine 13f3933927 [sledge] Test infra fixes and improvements 4 years ago
Josh Berdine c25f5feafb [sledge] Compile debug mode with optimization enabled 4 years ago
Josh Berdine a4abda70e9 [sledge] Strengthen Sh.is_unsat 4 years ago
Josh Berdine 8ff88bf22f [sledge] Check is_unsat of stem in Sh.simplify 4 years ago
Josh Berdine cecd3db59f [sledge] Fix bug in Sh.simplify 4 years ago
Josh Berdine c10ccafd43 [sledge] Add fast path to Context.partition_valid for empty existentials 4 years ago
Josh Berdine d6c8f6aafd [sledge] Add fast path to Context.Subst.compose for empty 4 years ago
Josh Berdine 63a8f22eef [sledge] Optimize Context.Subst.compose1 4 years ago
Josh Berdine 9e373fb68c [sledge] Generalize Context.Subst.compose to support shadowed bindings 4 years ago
Josh Berdine 5f8989fc39 [sledge] Revise quantifier elimination of disjunctive formulas 4 years ago
Josh Berdine 8f40a85cd8 [sledge] Refactor QE in Sh.simplify to simplify Context interface 4 years ago
Josh Berdine d574b14dc7 [sledge] Improve Sh.simplify using stronger Context.elim 4 years ago
Josh Berdine 1c37a0f146 [sledge] Generalize Context.elim and make it more robust 4 years ago
Josh Berdine 7f835bf80a [sledge] Fix Context.fold_uses_of 4 years ago
Josh Berdine ee177a980d [sledge] Fix type of Context.fold_uses_of 4 years ago
Josh Berdine d72d83bfb4 [sledge] Freshen nested existentials also wrt ancestor universals 4 years ago
Josh Berdine e9fd3b603d [sledge] Add fast path to Sh.simplify for unsat formulas 4 years ago
Josh Berdine d8d8f947d7 [sledge] Delay unsat check in exec_assume until after simplify 4 years ago
Josh Berdine df37767a93 [sledge] Detect unsat symbolic heaps earlier during simplification 4 years ago
Josh Berdine 69a979612b [sledge] Use unsat context and ff pure constraints in unsat symbolic heaps 4 years ago
Josh Berdine c065e6f384 [sledge] Additional tracing 4 years ago
Josh Berdine a18165c553 [sledge] Improve tracing 4 years ago
Josh Berdine 0879afe950 [sledge] Remove dead Domain.is_false 4 years ago
Josh Berdine edb60837b3 [sledge] Rename Sh.is_false to is_unsat 4 years ago
Josh Berdine a7b547ccdf [sledge] Fix Context.apply_subst to preserve rest of representation 4 years ago
Josh Berdine e0312f1274 [sledge] Add fast path for applying an empty substitution 4 years ago
Josh Berdine 3800a050f1 [sledge] Eliminate jumps to jumps 4 years ago
Josh Berdine 1e4e650dec [sledge] Change execution options from a record to a module 4 years ago
Josh Berdine 453068fa53 [sledge] Revise Control flow exploration algorithm 4 years ago
Josh Berdine bb52f96ded [sledge] Fix a fresh name clash when solving extract equations 4 years ago
Josh Berdine 77c630b7f4 [sledge] Normalize pure constraints when conjoining to a symbolic heap 4 years ago
Josh Berdine 481774c115 [sledge] Model operator new[](unsigned long) 4 years ago
Josh Berdine 10087c6281 [sledge] Strengthen spec of mallctl 4 years ago
Josh Berdine e7e1020e36 [sledge] Fix scope on return in case actual return clashes with formals 4 years ago
Josh Berdine 16a9b9f7d2 [sledge] Fix translation of alloca 4 years ago
Josh Berdine d33cecfa33 [sledge] Fix in Sh.simplify 4 years ago
Josh Berdine 86d129847c [sledge] Strengthen Arithmetic.solve_zero_eq 4 years ago
Josh Berdine 2726079a63 [sledge] Handle whether to follow exceptional control flow at model compilation 4 years ago
Josh Berdine c9185ae607 [sledge] Add __llair_unreachable intrinsic for use in model code 4 years ago
Josh Berdine 4605f505ce [sledge] Strengthen dynamic resolution of indirect calls 4 years ago
Josh Berdine 5c5126474e [sledge] Statically resolve known function calls 4 years ago
Josh Berdine 9e3ca541e8 [sledge] Revise name generation for return blocks of void-returning functions 4 years ago
Josh Berdine c346c5ec7f [sledge] Convert memset, memcpy, and memmov to intrinsics 4 years ago
Josh Berdine 6e5e127380 [sledge] Enable translation of intrinsic instructions for llvm intrinsics 4 years ago
Josh Berdine 31744dcfbf [sledge] Remove support for intrinsic functions 4 years ago
Josh Berdine 87ee0df07d [sledge] Convert intrinsic functions to instructions 4 years ago
Josh Berdine 1fddf1a5d0 [sledge] Add Exec.intrinsic for intrinsic instructions 4 years ago
Josh Berdine 4bae1ec07e [sledge] Rename exec_intrinsic to exec_intrinsic_func 4 years ago
Josh Berdine 9a07d6a778 [sledge] Reuse the translation of instruction intrinsics for Invoke 4 years ago
Josh Berdine f7894a3378 [sledge] Factor out computation of number of actuals for Call and Invoke 4 years ago
Josh Berdine 0603a7616b [sledge] Factor our Frontend normalization of callees 4 years ago
Josh Berdine 0fba102370 [sledge] Generate Intrinsic instructions in the frontend 4 years ago
Josh Berdine e9aff56bbc [sledge] Factor out Frontend translation of "instruction" intrinsics 4 years ago
Josh Berdine 074f668c00 [sledge] Add Intrinsic instruction 4 years ago
Josh Berdine c063a91c7c [sledge] Add Option.flat_map 4 years ago
Josh Berdine 2b89fa531a [sledge] Add CCBijection to Nonstdlib 4 years ago
Josh Berdine bb4c1e1133 [sledge] Represent function formal parameters and actual arguments in order 4 years ago
Josh Berdine b9bb3ca220 [sledge] Add Iter.fold_map and folding_map 4 years ago
Josh Berdine f835e46308 [sledge] Fix form of failure in interval analysis 4 years ago
Josh Berdine 78eb85bcf4 [sledge] Fix scope when entering scope of a local shadowed by a callee 4 years ago
Josh Berdine 02625ac1ce [sledge] Add coverage statistics to test report 4 years ago
Josh Berdine 558921e494 [sledge] Allow -bound flag to be overridden in test Makefile 4 years ago
Josh Berdine 0b1760af24 [sledge] Add compare, equal, and hash to core Llair types 4 years ago
Josh Berdine 8fc7e5ef58 [sledge] Move handling of realpath to the frontend and cli 4 years ago
Josh Berdine f4c2c8be7c [sledge] Translate __llair_choice intrinsic to nondet 4 years ago
Josh Berdine d34dd02ee1 [sledge] Fix over-aggressive normalization in Trm._Extract 4 years ago
Josh Berdine b46baac684 [sledge] Auto-scale numbers in test report 4 years ago
Josh Berdine b0e37f3cbb [sledge] Fix trace spec parsing of functions starting with underscore 4 years ago
Josh Berdine de2ea63d40 [sledge] Fix vocabulary handling of symbolic execution of multi-spec insts 4 years ago
Josh Berdine fe93dd754e [sledge] Improve the option and file naming of binary vs text llair output 4 years ago
Josh Berdine f02952c003 [sledge] Rename Sh.seg.seq to cnt 4 years ago
Josh Berdine f284425cb7 [sledge] Rename some unary predicates with is_-prefixes 4 years ago
Josh Berdine 6970741f27 [sledge] Add arg labels on Trm constructors to avoid confusion 4 years ago