├── intTests ├── test0055 │ ├── empty │ ├── nonempty │ ├── test.sh │ └── noise ├── test0002 │ ├── .gitignore │ ├── Makefile │ └── test.sh ├── test0057 │ ├── .gitignore │ ├── test.sh │ └── Makefile ├── test2314 │ ├── test0.saw │ ├── test3.saw │ ├── test4.saw │ ├── test6.isaw │ ├── .gitignore │ ├── test7.log.good │ ├── Makefile │ ├── test2.saw │ ├── test5.saw │ ├── test.sh │ ├── test6.log.good │ ├── test7.isaw │ ├── test1.isaw │ ├── test5.log.good │ ├── test2.log.good │ ├── test3.log.good │ ├── test4.log.good │ └── test0.log.good ├── test2494 │ ├── input.txt │ └── test.sh ├── test2756 │ ├── a.saw │ ├── b_dir │ │ └── b.saw │ ├── c_dir1 │ │ └── c_dir2 │ │ │ └── c.saw │ └── test.saw ├── test0004 │ └── test.sh ├── test0006 │ └── test.sh ├── test0007 │ └── test.sh ├── test1977 │ ├── test.sh │ └── Makefile ├── test2828 │ └── test.sh ├── test2846 │ └── test.sh ├── test2854 │ └── test.sh ├── test2857 │ ├── test.sh │ ├── test.saw │ └── inc │ │ └── file.saw ├── test2890 │ └── test.sh ├── test_profiling │ ├── .gitignore │ ├── test.sh │ ├── Makefile │ └── dotprod_struct.bc ├── test_smtlib │ ├── .gitignore │ ├── Makefile │ └── test.sh ├── test_w4 │ └── test.sh ├── test0003 │ ├── test.sh │ └── README ├── test0004_w4 │ └── test.sh ├── test0006_w4 │ └── test.sh ├── test1791 │ ├── .gitignore │ ├── paths05 │ │ ├── .gitignore │ │ └── test.saw │ ├── paths06 │ │ ├── .gitignore │ │ └── test.saw │ ├── paths01 │ │ ├── here.saw │ │ ├── subdir │ │ │ ├── alsothere.saw │ │ │ └── there.saw │ │ └── test.saw │ ├── paths07 │ │ ├── .gitignore │ │ └── test.saw │ ├── paths04 │ │ └── test.saw │ ├── paths02 │ │ ├── test.saw │ │ └── Test.cry │ ├── paths03 │ │ ├── test.saw │ │ └── test.sawcore │ └── paths08 │ │ └── test.sawcore ├── test1998_jvm │ ├── test.sh │ ├── Makefile │ ├── Test.class │ └── Test.java ├── test1998_mir │ ├── test.sh │ └── Makefile ├── test2043 │ ├── test.saw │ ├── test.sh │ └── B.cry ├── test2181 │ ├── test1.saw │ ├── test3.saw │ ├── test2.saw │ └── test.sh ├── test2242_2243 │ ├── present01.stdin │ ├── present02.stdin │ ├── leak01.stdin │ ├── leak04.stdin │ ├── leak05.stdin │ ├── present03.stdin │ ├── leak02.stdin │ ├── .gitignore │ ├── present04.stdin │ ├── leak03.stdin │ ├── present02.log.good │ ├── present01.log.good │ ├── present03.log.good │ ├── present04.log.good │ ├── test.sh │ ├── leak01.log.good │ └── leak02.log.good ├── test2301 │ ├── subdir │ │ ├── testsym.saw │ │ └── test1.saw │ ├── test0.saw │ ├── test.sh │ └── test0.log.good ├── test_issue642 │ ├── test.sh │ ├── Makefile │ └── test.bc ├── test0003_w4 │ ├── test.sh │ └── README ├── test0046_memcpy │ ├── test.sh │ ├── Makefile │ └── test.bc ├── test0061_path_sat │ ├── test.sh │ └── termination.bc ├── test0063_polyarith │ └── test.sh ├── test1894 │ ├── test.saw │ └── test.sh ├── test2674 │ ├── test.sh │ ├── example.bc │ └── example.c ├── test2714 │ ├── test.sh │ ├── example.bc │ └── example.c ├── test_boilerplate │ ├── test.sh │ └── test.bc ├── test_goal_eval │ └── test.sh ├── test_intro_examples │ ├── .gitignore │ ├── ffs.bc │ ├── mask.bc │ ├── add-comm.bc │ ├── max-ptr.bc │ ├── xor-swap.bc │ ├── direct-swap.bc │ ├── max-ptr-xor.bc │ ├── swap-manual.bc │ ├── swap-random.bc │ ├── swap-correct.bc │ ├── xor-swap-bug.bc │ └── mask.c ├── test_jvm_modifies │ ├── test.sh │ ├── Makefile │ └── Test.class ├── test_jvm_unsound │ ├── test.sh │ ├── Makefile │ └── Test.class ├── test_llvm_sizeof │ ├── test.sh │ ├── Makefile │ ├── test1.bc │ └── test2.bc ├── test_llvm_tuple │ ├── test.sh │ ├── Makefile │ └── test.bc ├── test_llvm_union │ ├── test.sh │ ├── Makefile │ └── test.bc ├── test_llvm_union2 │ ├── test.sh │ ├── Makefile │ └── test.bc ├── test_pmult_pmod │ └── test.sh ├── test_rewrite_int │ └── test.sh ├── test_unint_extcore │ ├── .gitignore │ ├── test.sh │ ├── Makefile │ └── unint.cry ├── test_univ_assert │ └── test.sh ├── test_w4_unint_rme │ └── test.sh ├── test_yosys_adder │ └── test.sh ├── test_yosys_basic │ ├── test.sh │ └── test.saw ├── test_yosys_bmux │ └── test.sh ├── test_yosys_verilog │ └── test.sh ├── test0028 │ ├── test.sh │ └── test.bc ├── test0029 │ ├── test.sh │ └── test.bc ├── test1828 │ ├── .gitignore │ ├── Makefile │ └── test.saw ├── test1892 │ ├── I.cry │ ├── J.cry │ ├── M.cry │ ├── test.sh │ ├── A.cry │ ├── test.saw │ └── F.cry ├── test2337 │ ├── test.sh │ └── test.saw ├── test2749 │ └── test.sh ├── test_1870 │ ├── test.sh │ └── A.cry ├── test_dangling_hoist │ └── test.sh ├── test_hoist_ifs_in_goal │ └── test.sh ├── test_jvm_method_names │ ├── test.sh │ ├── Makefile │ └── Test.class ├── test_jvm_setup_errors │ ├── test.sh │ ├── Makefile │ └── Test.class ├── test_jvm_small_types │ ├── test.sh │ ├── Makefile │ └── Test.class ├── test_jvm_static_fields │ ├── test.sh │ ├── A.class │ ├── B.class │ └── C.class ├── test_llvm_alignment │ ├── test.sh │ ├── Makefile │ └── test.bc ├── test_llvm_global_field │ ├── test.sh │ ├── Makefile │ └── test.bc ├── test_llvm_non_fresh │ ├── test.sh │ ├── Makefile │ └── test.bc ├── test_llvm_return_global │ ├── test.sh │ ├── Makefile │ └── test.bc ├── test_llvm_return_null │ ├── test.sh │ ├── Makefile │ └── test.bc ├── test_mir_setup_errors │ ├── test.sh │ └── Makefile ├── test_sawcore_equations │ └── test.sh ├── test_sawscript_builtins │ ├── exit1.saw │ ├── exit2.saw │ ├── include │ │ ├── foo.txt │ │ ├── proof.saw │ │ ├── test.saw │ │ └── circ.saw │ ├── .gitignore │ ├── exit1.log.good │ ├── exit2.log.good │ ├── circ.saw │ ├── exec.saw │ ├── Makefile │ ├── test.sh │ ├── exec.log.good │ ├── undefined2.saw │ └── undefined6.log.good ├── test_stack_traces │ ├── test.c │ ├── .gitignore │ ├── test.sh │ ├── trace001.saw │ └── test.bc ├── test_yosys_namespace │ └── test.sh ├── test_yosys_sequential │ ├── test.sh │ └── test.saw ├── test_yosys_sequential_sally │ ├── .gitignore │ ├── test.sh │ └── Makefile ├── test0000 │ └── test.sh ├── test0023_java_assert_false │ ├── test.sh │ └── Test0023.java ├── test0038_rust │ ├── test.sh │ ├── Makefile │ ├── test.bc │ └── README.md ├── test0039_rust │ ├── test.sh │ ├── Makefile │ └── test.bc ├── test0054 │ └── test.sh ├── test0058 │ └── test.sh ├── test0060 │ ├── test.sh │ └── test.bc ├── test0220 │ ├── test.sh │ ├── Makefile │ ├── test.c │ └── test.bc ├── test1132 │ ├── test.sh │ └── test.bc ├── test1248 │ ├── test.sh │ └── test.saw ├── test1308 │ ├── test.sh │ ├── Makefile │ └── test.bc ├── test1404 │ ├── test.saw │ └── test.sh ├── test1646 │ ├── .gitignore │ ├── test05.log.good │ ├── test.sh │ ├── Makefile │ └── test15.isaw ├── test1684 │ ├── test.sh │ ├── Makefile │ └── test.bc ├── test1691 │ ├── test.sh │ ├── Makefile │ └── test.bc ├── test1703 │ ├── test.sh │ ├── Makefile │ ├── test.bc │ ├── test.c │ └── test.cry ├── test1768 │ ├── test.sh │ └── test.cry ├── test1788 │ ├── test.sh │ ├── Makefile │ ├── test.bc │ └── test.c ├── test1938 │ ├── test.sh │ ├── test.c │ ├── Makefile │ └── test.bc ├── test1945 │ ├── test.sh │ ├── test.c │ ├── Makefile │ └── test.bc ├── test1973 │ ├── test.sh │ ├── Makefile │ └── test.rs ├── test1980 │ ├── test.sh │ ├── Makefile │ └── test.rs ├── test1983 │ ├── test.sh │ └── Makefile ├── test1985 │ └── test.sh ├── test1994 │ ├── test.sh │ └── test.saw ├── test1996 │ ├── test.sh │ ├── M.cry │ ├── test1.saw │ └── test2.saw ├── test2000 │ ├── test.sh │ └── Makefile ├── test2032 │ ├── test.sh │ └── Makefile ├── test2042 │ ├── Test.cry │ ├── test4.saw │ ├── test5.saw │ ├── test6.saw │ ├── test2.saw │ └── test3.saw ├── test2045 │ ├── test.sh │ ├── Makefile │ └── test.rs ├── test2049 │ ├── .gitignore │ ├── Test.cry │ └── test.bc ├── test2064 │ ├── test.sh │ └── Makefile ├── test2148 │ ├── test.sh │ ├── Makefile │ └── test.bc ├── test2257 │ ├── test.sh │ ├── Makefile │ └── test.rs ├── test2304 │ ├── .gitignore │ ├── test02.log.good │ ├── test.sh │ └── Makefile ├── test2312 │ └── test.sh ├── test2363 │ ├── test.sh │ └── Makefile ├── test2398 │ ├── test.sh │ └── Makefile ├── test2556 │ ├── .gitignore │ ├── test2.log.good │ ├── test4.log.good │ ├── test1.log.good │ ├── test5.log.good │ ├── test.sh │ ├── Makefile │ ├── test2.saw │ └── test1.saw ├── test2596 │ ├── test.sh │ └── Makefile ├── test2605 │ ├── test.sh │ ├── Foo.cry │ └── test.saw ├── test2632 │ └── test.sh ├── test2659 │ ├── test.sh │ └── Makefile ├── test2673 │ ├── test.sh │ ├── B.cry │ └── A.cry ├── test2694 │ ├── test.sh │ └── Makefile ├── test2708 │ └── test.sh ├── test2799 │ ├── test.sh │ ├── Makefile │ └── test.rs ├── test2865 │ └── test.sh ├── test2895 │ └── test.sh ├── test2926 │ └── test.sh ├── test_cryptol_enums │ ├── test1.saw │ └── test.sh ├── test_cvc5 │ └── test.sh ├── test_fold_rewrite_proof │ └── test.sh ├── test_ghost │ ├── test.sh │ ├── Makefile │ ├── test.bc │ └── test.c ├── test_llvm_points_to_at_type │ ├── test.sh │ ├── test.c │ ├── Makefile │ └── test.bc ├── test_sawcore_prelude │ └── test.sh ├── test_yosys_compositional │ └── test.sh ├── test_yosys_multiple_modules │ ├── test.sh │ └── test.saw ├── test0030_vectors │ ├── test.sh │ └── vectortest.bc ├── test0031_unit_test │ ├── test.sh │ └── test.bc ├── test0032_clear_void │ ├── test.sh │ └── voidTest.bc ├── test0037_popcount │ ├── test.sh │ ├── README │ └── test.bc ├── test0040_statics │ ├── test.sh │ ├── static.h │ ├── a.c │ ├── b.c │ └── static.bc ├── test0048_alloc_post │ ├── test.sh │ ├── Makefile │ └── test.bc ├── test0067_term_eqs │ ├── test.sh │ ├── test.bc │ └── test.c ├── test0068_zerobv │ └── test.sh ├── test1094_2464 │ └── test.sh ├── test2009 │ └── test.sh ├── test_bitwuzla │ └── test.sh ├── test_congruence │ └── test.sh ├── test_ffi_verify │ ├── test.sh │ ├── Makefile │ └── test.bc ├── test_ghost_types_00 │ ├── test.sh │ ├── Makefile │ └── test.bc ├── test_goal_tags_01 │ ├── test.sh │ ├── Makefile │ ├── test.c │ └── test.bc ├── test_issue108 │ ├── test.sh │ └── RefArray.class ├── test_issue521 │ ├── test.sh │ ├── test.saw │ ├── ptr.bc │ └── ptr.c ├── test_jvm_path_sat │ ├── test.sh │ ├── Makefile │ ├── Test.class │ └── Test.class.FROM ├── test_llvm_refine │ ├── test.sh │ ├── Makefile │ └── test.bc ├── test_llvm_x86_01 │ ├── test.sh │ ├── foo │ └── bar.bc ├── test_llvm_x86_02 │ ├── test.sh │ ├── test.bc │ └── increment ├── test_llvm_x86_03 │ ├── test.sh │ ├── foo │ ├── bar.bc │ └── bar.c ├── test_llvm_x86_04 │ ├── test.sh │ ├── addvar │ └── test.bc ├── test_llvm_x86_05 │ ├── test.sh │ ├── test.bc │ └── returntest ├── test_llvm_x86_08 │ ├── test.sh │ ├── test │ └── test.bc ├── test_mir_extract │ ├── test.sh │ └── Makefile ├── test_mir_ghost │ ├── test.sh │ └── Makefile ├── test_mir_load_module │ ├── test.rs │ ├── test.sh │ ├── Makefile │ └── test.saw ├── test_mir_path_sat │ ├── test.sh │ └── Makefile ├── test_mir_statics │ ├── test.sh │ └── Makefile ├── test_sanitize │ ├── test.sh │ ├── add.c │ ├── add-normal.bc │ └── add-sanitized.bc ├── test_search │ ├── .gitignore │ ├── test.sh │ └── Makefile ├── test_type_errors │ ├── err001.saw │ ├── .gitignore │ ├── err044.log.good │ ├── err005.saw │ ├── unify000.log.good │ ├── unify003.log.good │ ├── test.sh │ ├── err004.saw │ ├── err007.saw │ ├── err024.saw │ ├── Makefile │ ├── err057.saw │ ├── err056.saw │ ├── err062.saw │ ├── err005.log.good │ ├── err045.saw │ ├── err047.saw │ ├── err058.saw │ ├── err059.saw │ ├── err061.log.good │ ├── err022.saw │ ├── err025.saw │ ├── err046.saw │ ├── err055.saw │ ├── err062.log.good │ ├── err003.log.good │ ├── err004.log.good │ ├── err033.saw │ ├── err035.saw │ ├── err048.log.good │ ├── err061.saw │ ├── err020.saw │ ├── err023.log.good │ ├── err026.log.good │ ├── err027.log.good │ └── err031.saw ├── test0022_prove_false │ ├── test.saw │ └── test.sh ├── test0026_bad_pointers │ ├── test.sh │ └── test.bc ├── test0027_crucible_llvm │ ├── test.sh │ ├── test │ └── test.bc ├── test0041_invariant_1 │ ├── test.sh │ └── test.bc ├── test0042_invariant_2 │ ├── test.sh │ └── test.bc ├── test0043_invariant_3 │ ├── test.sh │ └── test.bc ├── test0044_invariant_4 │ ├── test.sh │ └── test.bc ├── test0045_invariant_5 │ ├── test.sh │ └── test.bc ├── test0047_alloc_sized │ ├── test.sh │ ├── test.bc │ └── Makefile ├── test0052_smt_array_1 │ └── test.sh ├── test0059_smt_array_2 │ ├── test.sh │ └── test.bc ├── test0062_resolve_pred │ ├── test.sh │ └── test.bc ├── test0069_unfinished │ └── test.sh ├── test2005_mir_lifetime │ ├── test.sh │ └── Makefile ├── test_FNV_a1_rev │ └── test.sh ├── test_constraint_guards │ ├── test.sh │ └── Instantiated.cry ├── test_ghost_branch_00 │ ├── test.sh │ ├── Makefile │ └── test.bc ├── test_ghost_branch_01 │ ├── test.sh │ ├── Makefile │ └── test.bc ├── test_ghost_branch_02 │ ├── test.sh │ ├── Makefile │ └── test.bc ├── test_ghost_branch_03 │ ├── test.sh │ ├── Makefile │ └── test.bc ├── test_goal_num_ite │ ├── test.sh │ ├── Makefile │ └── test.bc ├── test_import_foreign │ ├── test.sh │ └── test.cry ├── test_llvm_errors │ ├── .gitignore │ ├── test.sh │ ├── foo.bc │ └── foo.c ├── test_mir_points_to │ ├── test.sh │ └── Makefile ├── test_mir_verify_arrays │ ├── test.sh │ └── Makefile ├── test_mir_verify_basic │ ├── test.sh │ └── Makefile ├── test_mir_verify_conds │ ├── test.sh │ ├── Makefile │ └── test.rs ├── test_mir_verify_enums │ ├── test.sh │ └── Makefile ├── test_mir_verify_slices │ ├── test.sh │ ├── Makefile │ └── test.rs ├── test_mir_verify_tuples │ ├── test.sh │ └── Makefile ├── test_mir_verify_unions │ ├── test.sh │ └── Makefile ├── test_parse_errors │ ├── .gitignore │ ├── lexer002.saw │ ├── corelexer002.sawcore │ ├── lexer001.saw │ ├── corelexer001.sawcore │ ├── test.sh │ ├── Makefile │ ├── lexer004.saw │ ├── corelexer001.saw │ ├── corelexer002.saw │ ├── coreparser001.saw │ ├── coreparser001.sawcore │ ├── parser004.saw │ ├── parser001.saw │ ├── lexer002.log.good │ ├── lexer003.saw │ ├── parser002.saw │ ├── lexer001.log.good │ ├── lexer003.log.good │ ├── lexer004.log.good │ ├── parser005.saw │ ├── parser006.saw │ └── lexer005.log.good ├── test_yosys_sequential_known_cycles │ └── test.sh ├── test0005 │ └── test.sh ├── test0065_match_llvm_elem │ ├── test.sh │ └── test.bc ├── test0071_w4_unint_z3_using │ └── test.sh ├── test2028_vacuity_detect │ ├── test.rs │ ├── Test.java │ └── Test.class ├── test2122_typecheck_gap │ ├── .gitignore │ ├── test.c │ ├── test.rs │ ├── test.sh │ ├── test.bc │ ├── Test.class │ └── Test.java ├── test2272 │ ├── test.sh │ └── test1.saw ├── test_directory_reset │ └── err │ │ └── err.saw ├── test_llvm_one_past_end │ ├── test.sh │ ├── Makefile │ └── test.bc ├── test_mir_const_generics │ ├── test.sh │ └── Makefile ├── test_mir_fresh_cryptol_var │ ├── test.sh │ └── Makefile ├── test_mir_unsafe_assume_spec │ ├── test.sh │ └── Makefile ├── test_mir_verify_pop_count │ ├── test.sh │ └── Makefile ├── test_mir_verify_str_slices │ ├── test.sh │ └── Makefile ├── test_mir_verify_structs │ ├── test.sh │ └── Makefile ├── test_simulation_errors │ ├── .gitignore │ ├── err001.saw │ ├── test.sh │ └── Makefile ├── test_unfold_fix_once │ └── test.sh ├── test0016_sawscript_cnf │ └── README ├── test0019_jvm_switch_statement │ ├── test.sh │ ├── FFS.class │ └── Id.class ├── test0020_lss_switch_statement │ └── test.sh ├── test0049_conditional_points_to │ ├── test.sh │ └── test.bc ├── test0050_compositional_extract_1 │ └── test.sh ├── test0051_compositional_extract_2 │ └── test.sh ├── test0053_crucible_symbolic_alloc │ └── test.sh ├── test0056_instantiate_match_term │ ├── test.sh │ └── test.bc ├── test0070_llvm_alloc_sym_init │ ├── test.sh │ └── test.bc ├── test0669 │ └── test.sh ├── test2204 │ ├── test.sh │ └── test2.saw ├── test2415 │ ├── test.sh │ ├── Test.cry │ └── test1.saw ├── test_hash_table │ ├── test.sh │ ├── Makefile │ └── ht_simplified.bc ├── test_llvm_x86_06 │ ├── test.sh │ ├── test.bc │ └── discoverytest ├── test_llvm_x86_07 │ ├── test.sh │ ├── test.bc │ └── precondtest ├── test_mir_fresh_expanded_value │ ├── test.sh │ └── Makefile ├── test_mir_ghost_symbolic_branch │ ├── test.sh │ └── Makefile ├── test_mir_points_to_overrides │ ├── test.sh │ ├── Makefile │ └── test.rs ├── test_saw_submodule_access2 │ ├── .gitignore │ ├── test.sh │ └── Makefile ├── test1533 │ ├── test.sh │ ├── test.bc │ └── test.exe ├── test_bisimulation │ └── test.sh ├── test_llvm_global_fresh_pointer │ ├── test.sh │ ├── Makefile │ ├── test.bc │ └── test.c ├── test_mir_fresh_expanded_value_enum │ ├── test.sh │ └── Makefile ├── test_mir_unsafe_assume_spec_statics │ ├── test.sh │ └── Makefile ├── test_newtype │ └── test.sh ├── test_property_as_rewrite_rule │ └── test.sh ├── test_saw_submodule_access1 │ ├── A.cry │ ├── A2.cry │ ├── B.cry │ ├── C.cry │ ├── test_import_errors.saw │ ├── G.cry │ └── H.cry ├── test0024_llvm_assert_false │ ├── test0024.c │ ├── test.sh │ └── test0024.bc ├── test_resolve_unint_missing │ ├── test.sh │ └── test.saw ├── test0064_detect_vacuity │ ├── test.c │ └── test.bc ├── test1225 │ ├── test1.saw │ ├── test2.saw │ ├── test.sh │ └── test3.saw ├── test_bitfield_basic │ ├── Makefile │ ├── test.sh │ └── test.bc ├── test_bitfield_x86 │ ├── test.sh │ ├── test.bc │ └── test.exe ├── test_crucible_jvm │ ├── Iface.java │ ├── Arr.class │ ├── Dyn.class │ ├── FFS.class │ ├── Foo.class │ ├── Obj.class │ ├── Sub.class │ ├── Iface.class │ ├── Stat.class │ ├── FFS.class.FROM │ ├── TestStr.class │ └── Stat.class.FROM ├── test_beta_reduce_term │ ├── test.sh │ └── Makefile ├── test_bitfield_smt_array │ ├── Makefile │ └── test.bc ├── test_bitfield_wrong_type │ ├── Makefile │ ├── test.sh │ └── test.bc ├── test_sawcore_type_errors │ ├── test.sh │ └── Makefile ├── jars │ ├── galois.jar │ ├── org.sat4j.core.jar │ └── bcprov-jdk16-145.jar ├── test_mir_unsound_global │ └── Makefile ├── support │ └── JavaMD5.aig ├── test_bitfield_duplicate_points_to │ ├── Makefile │ └── test.sh ├── test_ffi_verify_salsa │ ├── test.sh │ └── salsa.bc ├── test0001 │ ├── JavaMD5.class │ └── test.sh ├── test_smt_array_load_concrete_size │ ├── test.sh │ └── Makefile ├── test1132-opaque │ └── test.bc ├── test1901 │ └── test.sh ├── test1999 │ ├── Makefile │ └── pre-test.rs ├── test0015_sawscript_aig │ └── test.sh ├── test0036_global │ ├── test-O1.bc │ ├── test-O2.bc │ └── test-signed.bc ├── .gitignore ├── test0021_llvm_unsound │ ├── side.bc │ ├── test.sh │ └── README ├── test_llvm_unsound_alloc │ └── test.sh └── test_llvm_unsound_global │ └── test.sh ├── saw-python ├── tests │ ├── __init__.py │ ├── saw │ │ ├── __init__.py │ │ └── test-files │ │ │ ├── null.c │ │ │ ├── seven.c │ │ │ ├── basic_mir.rs │ │ │ ├── mir_proclaim.rs │ │ │ ├── llvm_assert_null.c │ │ │ ├── llvm_global.c │ │ │ ├── mir_slices.rs │ │ │ ├── points_to_at_type.c │ │ │ ├── assume.c │ │ │ ├── ghost.c │ │ │ ├── test.c │ │ │ ├── Add.class │ │ │ ├── assume.bc │ │ │ ├── ghost.bc │ │ │ ├── global.bc │ │ │ ├── null.bc │ │ │ ├── seven.bc │ │ │ ├── swap.bc │ │ │ ├── test.bc │ │ │ ├── salsa20.bc │ │ │ ├── llvm_global.bc │ │ │ └── llvm_struct.bc │ └── saw_low_level │ │ └── __init__.py └── saw_client │ └── py.typed ├── exercises ├── .dockerignore ├── .gitignore ├── memory-safety │ └── complete-examples │ │ └── add │ │ └── add.c └── functional-correctness │ └── complete-examples │ └── add │ └── add.c ├── saw-server └── docs │ └── .gitignore ├── cve-reports └── .gitignore ├── examples ├── java │ ├── .gitignore │ ├── SimpleObj.java │ ├── ByteArray.java │ ├── Add.class │ ├── Get.class │ ├── Alloc.class │ ├── Double.class │ ├── Fields.class │ ├── Return.class │ ├── ArrayField.class │ ├── ArrayTest.class │ ├── BranchTest.class │ ├── ByteArray.class │ ├── ClassType.class │ ├── ClassType.java │ ├── JavaTypes.class │ ├── SimpleObj.class │ ├── Double.java │ ├── sfield │ │ └── StaticField.class │ └── javatoaig.saw ├── llvm │ ├── .gitignore │ ├── union │ │ ├── Makefile │ │ └── tmp │ │ │ └── test.bc │ ├── double.c │ ├── iterative_average │ │ ├── Makefile │ │ └── tmp │ │ │ └── test.bc │ ├── assert-null.c │ ├── safety │ │ ├── set.c │ │ └── set.bc │ ├── gcd.bc │ ├── ptr.bc │ ├── assert.bc │ ├── assert.c │ ├── basic.bc │ ├── double.bc │ ├── global.bc │ ├── nested.bc │ ├── struct.bc │ ├── ptrcheck.bc │ ├── assert-null.bc │ └── dotprod_struct.bc ├── multi-override │ ├── imports.cry │ └── source.bc ├── sequential_aigs │ └── tmp │ │ └── .gitignore ├── .gitignore ├── zuc │ ├── zuc14.c │ ├── zuc.bc │ └── zuc14.bc ├── misc │ ├── imports2.saw │ ├── provesbv.saw │ ├── type.saw │ ├── des_dec.sbv │ ├── des_enc.sbv │ ├── imports.saw │ └── p384_safe_product.sbv ├── ecdsa │ ├── cryptol-spec │ │ └── p384_group_field.cry │ └── ecdsa.jar ├── ghost │ └── simple.bc ├── openssl_aes │ └── .gitignore ├── sv-comp │ ├── parity.bc │ ├── byte_add.bc │ └── modulus.bc ├── salsa20 │ ├── salsa20.bc │ └── djb │ │ └── salsa20.bc ├── fresh-post │ └── source.bc ├── partial-spec │ └── source.bc └── global_based_override │ └── source.bc ├── saw-core-aig └── .gitignore ├── crux-mir-comp ├── .gitignore └── test │ └── symb_eval │ ├── comp │ ├── subst_basic.good │ ├── subst_multi.good │ ├── subst_multi_rev.good │ └── munge_struct.good │ └── cryptol │ ├── basic_add.good │ ├── big_array.good │ ├── size_poly.good │ ├── slice_arg.good │ ├── ref_to_array.good │ ├── uninterp.good │ ├── basic_add_bits.good │ ├── basic_array_arg.good │ ├── basic_array_ret.good │ ├── basic_tuple_arg.good │ ├── basic_tuple_ret.good │ ├── basic_xor_generic.good │ └── size_poly_nested.good ├── saw-core-rocq ├── rocq │ └── generated │ │ └── .gitignore └── .gitignore ├── saw-core-what4 └── .gitignore ├── vim-saw └── ftdetect │ └── saw.vim ├── doc ├── .gitignore ├── figures │ └── galois.pdf ├── rust-verification-with-saw │ └── code │ │ ├── first-example.rs │ │ ├── generics-take-1.rs │ │ ├── salsa20 │ │ └── .gitignore │ │ ├── tuples.rs │ │ └── saw-basics.rs ├── pdfs │ ├── saw-user-manual.pdf │ ├── rust-verification-with-saw.pdf │ └── llvm-java-verification-with-saw.pdf ├── saw-user-manual │ └── appendices │ │ ├── command-reference.md │ │ └── glossary.md └── llvm-java-verification-with-saw │ └── code │ └── ffs.bc ├── otherTests └── saw-core-rocq │ ├── .gitignore │ ├── test.sh │ └── test_prelude.saw ├── cabal.project.ci └── cabal.project.ci-hpc /intTests/test0055/empty: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /saw-python/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /exercises/.dockerignore: -------------------------------------------------------------------------------- 1 | bin 2 | -------------------------------------------------------------------------------- /exercises/.gitignore: -------------------------------------------------------------------------------- 1 | *.bc 2 | -------------------------------------------------------------------------------- /saw-python/saw_client/py.typed: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /saw-python/tests/saw/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /intTests/test0002/.gitignore: -------------------------------------------------------------------------------- 1 | *.aig 2 | -------------------------------------------------------------------------------- /intTests/test0057/.gitignore: -------------------------------------------------------------------------------- 1 | *.out 2 | -------------------------------------------------------------------------------- /intTests/test2314/test0.saw: -------------------------------------------------------------------------------- 1 | "\q" 2 | -------------------------------------------------------------------------------- /intTests/test2314/test3.saw: -------------------------------------------------------------------------------- 1 | /* 2 | -------------------------------------------------------------------------------- /intTests/test2494/input.txt: -------------------------------------------------------------------------------- 1 | z3 2 | -------------------------------------------------------------------------------- /intTests/test2756/a.saw: -------------------------------------------------------------------------------- 1 | let a = 1; 2 | -------------------------------------------------------------------------------- /saw-server/docs/.gitignore: -------------------------------------------------------------------------------- 1 | _build/ 2 | -------------------------------------------------------------------------------- /cve-reports/.gitignore: -------------------------------------------------------------------------------- 1 | cabal-audit-src/ 2 | -------------------------------------------------------------------------------- /examples/java/.gitignore: -------------------------------------------------------------------------------- 1 | java_f.aig 2 | -------------------------------------------------------------------------------- /examples/llvm/.gitignore: -------------------------------------------------------------------------------- 1 | llvm_f.aig 2 | -------------------------------------------------------------------------------- /intTests/test0004/test.sh: -------------------------------------------------------------------------------- 1 | $SAW test.saw 2 | -------------------------------------------------------------------------------- /intTests/test0006/test.sh: -------------------------------------------------------------------------------- 1 | $SAW test.saw 2 | -------------------------------------------------------------------------------- /intTests/test0007/test.sh: -------------------------------------------------------------------------------- 1 | $SAW test.saw 2 | -------------------------------------------------------------------------------- /intTests/test0055/nonempty: -------------------------------------------------------------------------------- 1 | Hello, world! -------------------------------------------------------------------------------- /intTests/test1977/test.sh: -------------------------------------------------------------------------------- 1 | $SAW test.saw 2 | -------------------------------------------------------------------------------- /intTests/test2314/test4.saw: -------------------------------------------------------------------------------- 1 | "\ 2 | \ 3 | -------------------------------------------------------------------------------- /intTests/test2828/test.sh: -------------------------------------------------------------------------------- 1 | $SAW test.saw 2 | -------------------------------------------------------------------------------- /intTests/test2846/test.sh: -------------------------------------------------------------------------------- 1 | $SAW test.saw 2 | -------------------------------------------------------------------------------- /intTests/test2854/test.sh: -------------------------------------------------------------------------------- 1 | $SAW test.saw 2 | -------------------------------------------------------------------------------- /intTests/test2857/test.sh: -------------------------------------------------------------------------------- 1 | $SAW test.saw 2 | -------------------------------------------------------------------------------- /intTests/test2890/test.sh: -------------------------------------------------------------------------------- 1 | $SAW test.saw 2 | -------------------------------------------------------------------------------- /intTests/test_profiling/.gitignore: -------------------------------------------------------------------------------- 1 | prof 2 | -------------------------------------------------------------------------------- /intTests/test_smtlib/.gitignore: -------------------------------------------------------------------------------- 1 | *.smt2 2 | -------------------------------------------------------------------------------- /intTests/test_w4/test.sh: -------------------------------------------------------------------------------- 1 | $SAW prims.saw 2 | -------------------------------------------------------------------------------- /saw-core-aig/.gitignore: -------------------------------------------------------------------------------- 1 | .stack-work 2 | -------------------------------------------------------------------------------- /saw-python/tests/saw_low_level/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /crux-mir-comp/.gitignore: -------------------------------------------------------------------------------- 1 | *.mir 2 | *.out 3 | -------------------------------------------------------------------------------- /intTests/test0003/test.sh: -------------------------------------------------------------------------------- 1 | $SAW divTest.saw 2 | -------------------------------------------------------------------------------- /intTests/test0004_w4/test.sh: -------------------------------------------------------------------------------- 1 | $SAW test.saw 2 | -------------------------------------------------------------------------------- /intTests/test0006_w4/test.sh: -------------------------------------------------------------------------------- 1 | $SAW test.saw 2 | -------------------------------------------------------------------------------- /intTests/test1791/.gitignore: -------------------------------------------------------------------------------- 1 | paths02.summary 2 | -------------------------------------------------------------------------------- /intTests/test1998_jvm/test.sh: -------------------------------------------------------------------------------- 1 | $SAW test.saw 2 | -------------------------------------------------------------------------------- /intTests/test1998_mir/test.sh: -------------------------------------------------------------------------------- 1 | $SAW test.saw 2 | -------------------------------------------------------------------------------- /intTests/test2043/test.saw: -------------------------------------------------------------------------------- 1 | import "B.cry"; 2 | -------------------------------------------------------------------------------- /intTests/test2181/test1.saw: -------------------------------------------------------------------------------- 1 | /* // */ 2 | 3 | -------------------------------------------------------------------------------- /intTests/test2242_2243/present01.stdin: -------------------------------------------------------------------------------- 1 | f () 2 | -------------------------------------------------------------------------------- /intTests/test2242_2243/present02.stdin: -------------------------------------------------------------------------------- 1 | f () 2 | -------------------------------------------------------------------------------- /intTests/test2301/subdir/testsym.saw: -------------------------------------------------------------------------------- 1 | test1.saw -------------------------------------------------------------------------------- /intTests/test2756/b_dir/b.saw: -------------------------------------------------------------------------------- 1 | let b = 2; 2 | -------------------------------------------------------------------------------- /intTests/test_issue642/test.sh: -------------------------------------------------------------------------------- 1 | $SAW test.saw 2 | -------------------------------------------------------------------------------- /saw-core-rocq/rocq/generated/.gitignore: -------------------------------------------------------------------------------- 1 | *.v 2 | -------------------------------------------------------------------------------- /intTests/test0003_w4/test.sh: -------------------------------------------------------------------------------- 1 | $SAW divTest.saw 2 | -------------------------------------------------------------------------------- /intTests/test0046_memcpy/test.sh: -------------------------------------------------------------------------------- 1 | $SAW test.saw 2 | -------------------------------------------------------------------------------- /intTests/test0061_path_sat/test.sh: -------------------------------------------------------------------------------- 1 | $SAW test.saw 2 | -------------------------------------------------------------------------------- /intTests/test0063_polyarith/test.sh: -------------------------------------------------------------------------------- 1 | $SAW test.saw 2 | -------------------------------------------------------------------------------- /intTests/test1791/paths05/.gitignore: -------------------------------------------------------------------------------- 1 | paths05.smt 2 | -------------------------------------------------------------------------------- /intTests/test1791/paths06/.gitignore: -------------------------------------------------------------------------------- 1 | paths06.v 2 | -------------------------------------------------------------------------------- /intTests/test1894/test.saw: -------------------------------------------------------------------------------- 1 | return ((\n -> n) 1); 2 | -------------------------------------------------------------------------------- /intTests/test2181/test3.saw: -------------------------------------------------------------------------------- 1 | /* unclosed comment 2 | -------------------------------------------------------------------------------- /intTests/test2242_2243/leak01.stdin: -------------------------------------------------------------------------------- 1 | let x = 5 2 | -------------------------------------------------------------------------------- /intTests/test2242_2243/leak04.stdin: -------------------------------------------------------------------------------- 1 | let x = 5 2 | -------------------------------------------------------------------------------- /intTests/test2242_2243/leak05.stdin: -------------------------------------------------------------------------------- 1 | let x = 5 2 | -------------------------------------------------------------------------------- /intTests/test2242_2243/present03.stdin: -------------------------------------------------------------------------------- 1 | print x; 2 | -------------------------------------------------------------------------------- /intTests/test2301/subdir/test1.saw: -------------------------------------------------------------------------------- 1 | // nothing! 2 | -------------------------------------------------------------------------------- /intTests/test2314/test6.isaw: -------------------------------------------------------------------------------- 1 | return "abc\qdef" 2 | -------------------------------------------------------------------------------- /intTests/test2674/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | $SAW test.saw -------------------------------------------------------------------------------- /intTests/test2714/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | $SAW test.saw -------------------------------------------------------------------------------- /intTests/test2756/c_dir1/c_dir2/c.saw: -------------------------------------------------------------------------------- 1 | let c = 3; 2 | -------------------------------------------------------------------------------- /intTests/test_boilerplate/test.sh: -------------------------------------------------------------------------------- 1 | $SAW test.saw 2 | -------------------------------------------------------------------------------- /intTests/test_goal_eval/test.sh: -------------------------------------------------------------------------------- 1 | $SAW test.saw 2 | -------------------------------------------------------------------------------- /intTests/test_intro_examples/.gitignore: -------------------------------------------------------------------------------- 1 | *.cnf 2 | -------------------------------------------------------------------------------- /intTests/test_jvm_modifies/test.sh: -------------------------------------------------------------------------------- 1 | $SAW test.saw 2 | -------------------------------------------------------------------------------- /intTests/test_jvm_unsound/test.sh: -------------------------------------------------------------------------------- 1 | $SAW test.saw 2 | -------------------------------------------------------------------------------- /intTests/test_llvm_sizeof/test.sh: -------------------------------------------------------------------------------- 1 | $SAW test.saw 2 | -------------------------------------------------------------------------------- /intTests/test_llvm_tuple/test.sh: -------------------------------------------------------------------------------- 1 | $SAW test.saw 2 | -------------------------------------------------------------------------------- /intTests/test_llvm_union/test.sh: -------------------------------------------------------------------------------- 1 | $SAW test.saw 2 | -------------------------------------------------------------------------------- /intTests/test_llvm_union2/test.sh: -------------------------------------------------------------------------------- 1 | $SAW test.saw 2 | -------------------------------------------------------------------------------- /intTests/test_pmult_pmod/test.sh: -------------------------------------------------------------------------------- 1 | $SAW test.saw 2 | -------------------------------------------------------------------------------- /intTests/test_rewrite_int/test.sh: -------------------------------------------------------------------------------- 1 | $SAW test.saw 2 | -------------------------------------------------------------------------------- /intTests/test_unint_extcore/.gitignore: -------------------------------------------------------------------------------- 1 | unint.core 2 | -------------------------------------------------------------------------------- /intTests/test_univ_assert/test.sh: -------------------------------------------------------------------------------- 1 | $SAW test.saw 2 | -------------------------------------------------------------------------------- /intTests/test_w4_unint_rme/test.sh: -------------------------------------------------------------------------------- 1 | $SAW prims.saw 2 | -------------------------------------------------------------------------------- /intTests/test_yosys_adder/test.sh: -------------------------------------------------------------------------------- 1 | $SAW test.saw 2 | -------------------------------------------------------------------------------- /intTests/test_yosys_basic/test.sh: -------------------------------------------------------------------------------- 1 | $SAW test.saw 2 | -------------------------------------------------------------------------------- /intTests/test_yosys_bmux/test.sh: -------------------------------------------------------------------------------- 1 | $SAW test.saw 2 | -------------------------------------------------------------------------------- /intTests/test_yosys_verilog/test.sh: -------------------------------------------------------------------------------- 1 | $SAW test.saw 2 | -------------------------------------------------------------------------------- /examples/llvm/union/Makefile: -------------------------------------------------------------------------------- 1 | include ../test.Makefile 2 | -------------------------------------------------------------------------------- /examples/multi-override/imports.cry: -------------------------------------------------------------------------------- 1 | 2 | mysum = sum 3 | -------------------------------------------------------------------------------- /intTests/test0028/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | $SAW test.saw 3 | -------------------------------------------------------------------------------- /intTests/test0029/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | $SAW test.saw 3 | -------------------------------------------------------------------------------- /intTests/test1791/paths01/here.saw: -------------------------------------------------------------------------------- 1 | print "still here"; 2 | -------------------------------------------------------------------------------- /intTests/test1828/.gitignore: -------------------------------------------------------------------------------- 1 | left.aig 2 | right.aig 3 | -------------------------------------------------------------------------------- /intTests/test1892/I.cry: -------------------------------------------------------------------------------- 1 | module I where 2 | 3 | a = 1 4 | -------------------------------------------------------------------------------- /intTests/test1892/J.cry: -------------------------------------------------------------------------------- 1 | module J where 2 | 3 | a = 2 4 | -------------------------------------------------------------------------------- /intTests/test1892/M.cry: -------------------------------------------------------------------------------- 1 | module M = F { X = I, Y = J } 2 | -------------------------------------------------------------------------------- /intTests/test2242_2243/leak02.stdin: -------------------------------------------------------------------------------- 1 | let x = 5 2 | z3 3 | -------------------------------------------------------------------------------- /intTests/test2337/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | $SAW test.saw 3 | -------------------------------------------------------------------------------- /intTests/test2494/test.sh: -------------------------------------------------------------------------------- 1 | $SAW test.saw < input.txt 2 | -------------------------------------------------------------------------------- /intTests/test2749/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | $SAW test.saw 3 | -------------------------------------------------------------------------------- /intTests/test_1870/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | $SAW test.saw 3 | -------------------------------------------------------------------------------- /intTests/test_dangling_hoist/test.sh: -------------------------------------------------------------------------------- 1 | $SAW test.saw 2 | -------------------------------------------------------------------------------- /intTests/test_hoist_ifs_in_goal/test.sh: -------------------------------------------------------------------------------- 1 | $SAW test.saw 2 | -------------------------------------------------------------------------------- /intTests/test_jvm_method_names/test.sh: -------------------------------------------------------------------------------- 1 | $SAW test.saw 2 | -------------------------------------------------------------------------------- /intTests/test_jvm_setup_errors/test.sh: -------------------------------------------------------------------------------- 1 | $SAW test.saw 2 | -------------------------------------------------------------------------------- /intTests/test_jvm_small_types/test.sh: -------------------------------------------------------------------------------- 1 | $SAW test.saw 2 | -------------------------------------------------------------------------------- /intTests/test_jvm_static_fields/test.sh: -------------------------------------------------------------------------------- 1 | $SAW test.saw 2 | -------------------------------------------------------------------------------- /intTests/test_llvm_alignment/test.sh: -------------------------------------------------------------------------------- 1 | $SAW test.saw 2 | -------------------------------------------------------------------------------- /intTests/test_llvm_global_field/test.sh: -------------------------------------------------------------------------------- 1 | $SAW test.saw 2 | -------------------------------------------------------------------------------- /intTests/test_llvm_non_fresh/test.sh: -------------------------------------------------------------------------------- 1 | $SAW test.saw 2 | -------------------------------------------------------------------------------- /intTests/test_llvm_return_global/test.sh: -------------------------------------------------------------------------------- 1 | $SAW test.saw 2 | -------------------------------------------------------------------------------- /intTests/test_llvm_return_null/test.sh: -------------------------------------------------------------------------------- 1 | $SAW test.saw 2 | -------------------------------------------------------------------------------- /intTests/test_mir_setup_errors/test.sh: -------------------------------------------------------------------------------- 1 | $SAW test.saw 2 | -------------------------------------------------------------------------------- /intTests/test_sawcore_equations/test.sh: -------------------------------------------------------------------------------- 1 | $SAW test.saw 2 | -------------------------------------------------------------------------------- /intTests/test_sawscript_builtins/exit1.saw: -------------------------------------------------------------------------------- 1 | exit 0; 2 | -------------------------------------------------------------------------------- /intTests/test_sawscript_builtins/exit2.saw: -------------------------------------------------------------------------------- 1 | exit 1; 2 | -------------------------------------------------------------------------------- /intTests/test_sawscript_builtins/include/foo.txt: -------------------------------------------------------------------------------- 1 | hello 2 | -------------------------------------------------------------------------------- /intTests/test_stack_traces/test.c: -------------------------------------------------------------------------------- 1 | void foo(void) { } 2 | -------------------------------------------------------------------------------- /intTests/test_yosys_namespace/test.sh: -------------------------------------------------------------------------------- 1 | $SAW test.saw 2 | -------------------------------------------------------------------------------- /intTests/test_yosys_sequential/test.sh: -------------------------------------------------------------------------------- 1 | $SAW test.saw 2 | -------------------------------------------------------------------------------- /intTests/test_yosys_sequential_sally/.gitignore: -------------------------------------------------------------------------------- 1 | *.mcmt 2 | -------------------------------------------------------------------------------- /examples/sequential_aigs/tmp/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /intTests/test0000/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW recTest.saw 4 | -------------------------------------------------------------------------------- /intTests/test0023_java_assert_false/test.sh: -------------------------------------------------------------------------------- 1 | $SAW test.saw 2 | -------------------------------------------------------------------------------- /intTests/test0038_rust/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | $SAW test.saw 3 | -------------------------------------------------------------------------------- /intTests/test0039_rust/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | $SAW test.saw 3 | -------------------------------------------------------------------------------- /intTests/test0054/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test0055/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test0057/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test0058/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test0060/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test0220/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test1132/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test1248/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test1308/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test1404/test.saw: -------------------------------------------------------------------------------- 1 | let b = true; 2 | print {{ b }}; 3 | -------------------------------------------------------------------------------- /intTests/test1404/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test1646/.gitignore: -------------------------------------------------------------------------------- 1 | *.rawlog 2 | *.log 3 | *.diff 4 | -------------------------------------------------------------------------------- /intTests/test1684/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test1691/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test1703/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test1768/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test1788/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test1791/paths07/.gitignore: -------------------------------------------------------------------------------- 1 | paths07.prove0.smt2 2 | -------------------------------------------------------------------------------- /intTests/test1892/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test1894/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test1938/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test1945/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test1973/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test1980/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test1983/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test1985/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test1994/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test1996/test.sh: -------------------------------------------------------------------------------- 1 | $SAW test1.saw 2 | $SAW test2.saw 3 | -------------------------------------------------------------------------------- /intTests/test2000/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test2032/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test2042/Test.cry: -------------------------------------------------------------------------------- 1 | π : [4] 2 | π = 3 // or so 3 | -------------------------------------------------------------------------------- /intTests/test2043/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test2045/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test2049/.gitignore: -------------------------------------------------------------------------------- 1 | *.rawlog 2 | *.log 3 | *.diff 4 | -------------------------------------------------------------------------------- /intTests/test2064/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test2148/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test2257/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test2301/test0.saw: -------------------------------------------------------------------------------- 1 | include "subdir/testsym.saw"; 2 | -------------------------------------------------------------------------------- /intTests/test2304/.gitignore: -------------------------------------------------------------------------------- 1 | *.rawlog 2 | *.log 3 | *.diff 4 | -------------------------------------------------------------------------------- /intTests/test2312/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test2314/.gitignore: -------------------------------------------------------------------------------- 1 | *.rawlog 2 | *.log 3 | *.diff 4 | -------------------------------------------------------------------------------- /intTests/test2363/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test2398/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test2556/.gitignore: -------------------------------------------------------------------------------- 1 | *.rawlog 2 | *.log 3 | *.diff 4 | -------------------------------------------------------------------------------- /intTests/test2556/test2.log.good: -------------------------------------------------------------------------------- 1 | Loading file "test2.saw" 2 | -------------------------------------------------------------------------------- /intTests/test2556/test4.log.good: -------------------------------------------------------------------------------- 1 | Loading file "test4.saw" 2 | -------------------------------------------------------------------------------- /intTests/test2596/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test2605/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test2632/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test2659/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test2673/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test2694/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test2708/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test2799/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test2865/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test2895/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test2926/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test_cryptol_enums/test1.saw: -------------------------------------------------------------------------------- 1 | import "Test.cry"; 2 | -------------------------------------------------------------------------------- /intTests/test_cvc5/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test_fold_rewrite_proof/test.sh: -------------------------------------------------------------------------------- 1 | $SAW tupletest.saw 2 | -------------------------------------------------------------------------------- /intTests/test_ghost/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | $SAW test.saw 3 | -------------------------------------------------------------------------------- /intTests/test_llvm_points_to_at_type/test.sh: -------------------------------------------------------------------------------- 1 | $SAW test.saw 2 | -------------------------------------------------------------------------------- /intTests/test_sawcore_prelude/test.sh: -------------------------------------------------------------------------------- 1 | $SAW testDrop.saw 2 | -------------------------------------------------------------------------------- /intTests/test_sawscript_builtins/include/proof.saw: -------------------------------------------------------------------------------- 1 | trivial; 2 | -------------------------------------------------------------------------------- /intTests/test_yosys_compositional/test.sh: -------------------------------------------------------------------------------- 1 | $SAW test.saw 2 | -------------------------------------------------------------------------------- /intTests/test_yosys_multiple_modules/test.sh: -------------------------------------------------------------------------------- 1 | $SAW test.saw 2 | -------------------------------------------------------------------------------- /intTests/test_yosys_sequential_sally/test.sh: -------------------------------------------------------------------------------- 1 | $SAW test.saw 2 | -------------------------------------------------------------------------------- /examples/.gitignore: -------------------------------------------------------------------------------- 1 | *.cnf 2 | *.extcore 3 | *.smt 4 | *.smt2 5 | -------------------------------------------------------------------------------- /examples/java/SimpleObj.java: -------------------------------------------------------------------------------- 1 | class SimpleObj { int x; int y; } 2 | -------------------------------------------------------------------------------- /examples/zuc/zuc14.c: -------------------------------------------------------------------------------- 1 | #define VERSION_1_4 2 | #include "zuc.c" 3 | -------------------------------------------------------------------------------- /intTests/test0030_vectors/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | $SAW test.saw 3 | -------------------------------------------------------------------------------- /intTests/test0031_unit_test/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | $SAW test.saw 3 | -------------------------------------------------------------------------------- /intTests/test0032_clear_void/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | $SAW test.saw 3 | -------------------------------------------------------------------------------- /intTests/test0037_popcount/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test0040_statics/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test0048_alloc_post/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | $SAW test.saw 3 | -------------------------------------------------------------------------------- /intTests/test0067_term_eqs/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test0068_zerobv/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test1094_2464/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test1791/paths04/test.saw: -------------------------------------------------------------------------------- 1 | prove_print z3 {{ True }}; 2 | -------------------------------------------------------------------------------- /intTests/test2009/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | 5 | -------------------------------------------------------------------------------- /intTests/test2242_2243/.gitignore: -------------------------------------------------------------------------------- 1 | *.rawlog 2 | *.log 3 | *.diff 4 | -------------------------------------------------------------------------------- /intTests/test2242_2243/present04.stdin: -------------------------------------------------------------------------------- 1 | let _ = run (print x) 2 | -------------------------------------------------------------------------------- /intTests/test2314/test7.log.good: -------------------------------------------------------------------------------- 1 | a 2 | b 3 | a b 4 | ab 5 | a b 6 | -------------------------------------------------------------------------------- /intTests/test2673/B.cry: -------------------------------------------------------------------------------- 1 | module B = A where 2 | 3 | type n = 8 4 | -------------------------------------------------------------------------------- /intTests/test_bitwuzla/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test_congruence/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | $SAW test.saw 3 | -------------------------------------------------------------------------------- /intTests/test_ffi_verify/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test_ghost_types_00/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | $SAW test.saw 3 | -------------------------------------------------------------------------------- /intTests/test_goal_tags_01/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | $SAW test.saw 3 | -------------------------------------------------------------------------------- /intTests/test_issue108/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW refarray.saw 4 | -------------------------------------------------------------------------------- /intTests/test_issue521/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test_jvm_path_sat/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test_llvm_refine/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | $SAW test.saw 3 | -------------------------------------------------------------------------------- /intTests/test_llvm_x86_01/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test_llvm_x86_02/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test_llvm_x86_03/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test_llvm_x86_04/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test_llvm_x86_05/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test_llvm_x86_08/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test_mir_extract/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test_mir_ghost/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test_mir_load_module/test.rs: -------------------------------------------------------------------------------- 1 | pub fn foo() -> i32 { 42 } 2 | -------------------------------------------------------------------------------- /intTests/test_mir_path_sat/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test_mir_statics/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test_sanitize/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test_search/.gitignore: -------------------------------------------------------------------------------- 1 | *.rawlog 2 | *.log 3 | *.diff 4 | -------------------------------------------------------------------------------- /intTests/test_type_errors/err001.saw: -------------------------------------------------------------------------------- 1 | let foo () : String = 3; 2 | -------------------------------------------------------------------------------- /examples/llvm/double.c: -------------------------------------------------------------------------------- 1 | int f(int x) { 2 | return x * 2; 3 | } 4 | -------------------------------------------------------------------------------- /examples/llvm/iterative_average/Makefile: -------------------------------------------------------------------------------- 1 | include ../test.Makefile 2 | -------------------------------------------------------------------------------- /intTests/test0022_prove_false/test.saw: -------------------------------------------------------------------------------- 1 | prove_print abc {{ False }}; 2 | -------------------------------------------------------------------------------- /intTests/test0026_bad_pointers/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | $SAW test.saw 3 | -------------------------------------------------------------------------------- /intTests/test0027_crucible_llvm/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | $SAW test.saw 3 | -------------------------------------------------------------------------------- /intTests/test0041_invariant_1/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test0042_invariant_2/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test0043_invariant_3/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test0044_invariant_4/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test0045_invariant_5/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test0047_alloc_sized/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | $SAW test.saw 3 | -------------------------------------------------------------------------------- /intTests/test0052_smt_array_1/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test0059_smt_array_2/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test0062_resolve_pred/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test0069_unfinished/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test1791/paths01/subdir/alsothere.saw: -------------------------------------------------------------------------------- 1 | print "also there"; 2 | -------------------------------------------------------------------------------- /intTests/test1892/A.cry: -------------------------------------------------------------------------------- 1 | interface module A where 2 | 3 | a : [8] 4 | -------------------------------------------------------------------------------- /intTests/test1938/test.c: -------------------------------------------------------------------------------- 1 | void test(int *x) { 2 | *x = 2; 3 | } 4 | -------------------------------------------------------------------------------- /intTests/test2005_mir_lifetime/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test2304/test02.log.good: -------------------------------------------------------------------------------- 1 | Loading file "test02.saw" 2 | True 3 | -------------------------------------------------------------------------------- /intTests/test2314/Makefile: -------------------------------------------------------------------------------- 1 | all: ; 2 | clean: 3 | sh ./test.sh clean 4 | -------------------------------------------------------------------------------- /intTests/test2314/test2.saw: -------------------------------------------------------------------------------- 1 | // newline at the end of this file 2 | " 3 | -------------------------------------------------------------------------------- /intTests/test2314/test5.saw: -------------------------------------------------------------------------------- 1 | //no newline at the end of this file 2 | " -------------------------------------------------------------------------------- /intTests/test2556/test1.log.good: -------------------------------------------------------------------------------- 1 | Loading file "test1.saw" 2 | hello 3 | -------------------------------------------------------------------------------- /intTests/test2556/test5.log.good: -------------------------------------------------------------------------------- 1 | Loading file "test5.saw" 2 | hello 3 | -------------------------------------------------------------------------------- /intTests/test2605/Foo.cry: -------------------------------------------------------------------------------- 1 | module Foo where 2 | 3 | x : [8] 4 | x = 3 5 | -------------------------------------------------------------------------------- /intTests/test_FNV_a1_rev/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${SAW} test.saw 4 | -------------------------------------------------------------------------------- /intTests/test_constraint_guards/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test_ghost_branch_00/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | $SAW test.saw 3 | -------------------------------------------------------------------------------- /intTests/test_ghost_branch_01/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | $SAW test.saw 3 | -------------------------------------------------------------------------------- /intTests/test_ghost_branch_02/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | $SAW test.saw 3 | -------------------------------------------------------------------------------- /intTests/test_ghost_branch_03/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | $SAW test.saw 3 | -------------------------------------------------------------------------------- /intTests/test_goal_num_ite/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | 5 | -------------------------------------------------------------------------------- /intTests/test_import_foreign/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test_llvm_errors/.gitignore: -------------------------------------------------------------------------------- 1 | *.rawlog 2 | *.log 3 | *.diff 4 | -------------------------------------------------------------------------------- /intTests/test_mir_load_module/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test_mir_points_to/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test_mir_verify_arrays/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test_mir_verify_basic/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test_mir_verify_conds/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test_mir_verify_enums/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test_mir_verify_slices/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test_mir_verify_tuples/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test_mir_verify_unions/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test_parse_errors/.gitignore: -------------------------------------------------------------------------------- 1 | *.rawlog 2 | *.log 3 | *.diff 4 | -------------------------------------------------------------------------------- /intTests/test_stack_traces/.gitignore: -------------------------------------------------------------------------------- 1 | *.rawlog 2 | *.log 3 | *.diff 4 | -------------------------------------------------------------------------------- /intTests/test_type_errors/.gitignore: -------------------------------------------------------------------------------- 1 | *.rawlog 2 | *.log 3 | *.diff 4 | -------------------------------------------------------------------------------- /intTests/test_type_errors/err044.log.good: -------------------------------------------------------------------------------- 1 | Loading file "err044.saw" 2 | -------------------------------------------------------------------------------- /intTests/test_yosys_sequential_known_cycles/test.sh: -------------------------------------------------------------------------------- 1 | $SAW test.saw 2 | -------------------------------------------------------------------------------- /saw-core-what4/.gitignore: -------------------------------------------------------------------------------- 1 | .stack-work/ 2 | dist/ 3 | dist-newstyle/ 4 | -------------------------------------------------------------------------------- /intTests/test0005/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | $SAW test2.saw 5 | -------------------------------------------------------------------------------- /intTests/test0065_match_llvm_elem/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test0071_w4_unint_z3_using/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test1791/paths02/test.saw: -------------------------------------------------------------------------------- 1 | import "Test.cry"; 2 | print {{ foo }}; 3 | -------------------------------------------------------------------------------- /intTests/test2028_vacuity_detect/test.rs: -------------------------------------------------------------------------------- 1 | // test.rs 2 | pub fn fun_rs() {} 3 | -------------------------------------------------------------------------------- /intTests/test2049/Test.cry: -------------------------------------------------------------------------------- 1 | import Array 2 | type Table = Array [8] [8] 3 | -------------------------------------------------------------------------------- /intTests/test2122_typecheck_gap/.gitignore: -------------------------------------------------------------------------------- 1 | *.rawlog 2 | *.log 3 | *.diff 4 | -------------------------------------------------------------------------------- /intTests/test2181/test2.saw: -------------------------------------------------------------------------------- 1 | // comments do nest 2 | 3 | /* a /* b */ c */ 4 | -------------------------------------------------------------------------------- /intTests/test2242_2243/leak03.stdin: -------------------------------------------------------------------------------- 1 | let quack = {{ 3 : [8] }} 2 | trivial 3 | -------------------------------------------------------------------------------- /intTests/test2242_2243/present02.log.good: -------------------------------------------------------------------------------- 1 | Loading file "present02.saw" 2 | -------------------------------------------------------------------------------- /intTests/test2272/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | $SAW test0.saw 3 | $SAW test1.saw 4 | -------------------------------------------------------------------------------- /intTests/test_directory_reset/err/err.saw: -------------------------------------------------------------------------------- 1 | this file probably won't parse 2 | -------------------------------------------------------------------------------- /intTests/test_llvm_one_past_end/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test_mir_const_generics/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test_mir_fresh_cryptol_var/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test_mir_unsafe_assume_spec/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test_mir_verify_pop_count/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test_mir_verify_str_slices/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test_mir_verify_structs/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test_parse_errors/lexer002.saw: -------------------------------------------------------------------------------- 1 | /* 2 | * Unclosed comment 3 | * 4 | -------------------------------------------------------------------------------- /intTests/test_sawscript_builtins/.gitignore: -------------------------------------------------------------------------------- 1 | *.rawlog 2 | *.log 3 | *.diff 4 | -------------------------------------------------------------------------------- /intTests/test_sawscript_builtins/exit1.log.good: -------------------------------------------------------------------------------- 1 | Loading file "exit1.saw" 2 | -------------------------------------------------------------------------------- /intTests/test_simulation_errors/.gitignore: -------------------------------------------------------------------------------- 1 | *.rawlog 2 | *.log 3 | *.diff 4 | -------------------------------------------------------------------------------- /intTests/test_type_errors/err005.saw: -------------------------------------------------------------------------------- 1 | typedef x = { foo: Int, bar: x }; 2 | -------------------------------------------------------------------------------- /intTests/test_type_errors/unify000.log.good: -------------------------------------------------------------------------------- 1 | Loading file "unify000.saw" 2 | -------------------------------------------------------------------------------- /intTests/test_type_errors/unify003.log.good: -------------------------------------------------------------------------------- 1 | Loading file "unify003.saw" 2 | -------------------------------------------------------------------------------- /intTests/test_unfold_fix_once/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | 5 | -------------------------------------------------------------------------------- /vim-saw/ftdetect/saw.vim: -------------------------------------------------------------------------------- 1 | autocmd BufNewFile,BufRead *.saw set filetype=saw 2 | -------------------------------------------------------------------------------- /intTests/test0016_sawscript_cnf/README: -------------------------------------------------------------------------------- 1 | Test basic CNF generation in SAWScript. 2 | -------------------------------------------------------------------------------- /intTests/test0019_jvm_switch_statement/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test0020_lss_switch_statement/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test0049_conditional_points_to/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test0050_compositional_extract_1/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test0051_compositional_extract_2/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test0053_crucible_symbolic_alloc/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test0056_instantiate_match_term/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test0070_llvm_alloc_sym_init/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test0669/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test1.saw 4 | $SAW test2.saw 5 | -------------------------------------------------------------------------------- /intTests/test1646/test05.log.good: -------------------------------------------------------------------------------- 1 | Loading file "test05.saw" 2 | x=a 3 | x=b 4 | -------------------------------------------------------------------------------- /intTests/test1945/test.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | void test(uint8_t *x) {} 4 | -------------------------------------------------------------------------------- /intTests/test1973/Makefile: -------------------------------------------------------------------------------- 1 | MIR_SRCS=test 2 | include ../support/mir-blobs.mk 3 | -------------------------------------------------------------------------------- /intTests/test1977/Makefile: -------------------------------------------------------------------------------- 1 | MIR_SRCS=test 2 | include ../support/mir-blobs.mk 3 | -------------------------------------------------------------------------------- /intTests/test1980/Makefile: -------------------------------------------------------------------------------- 1 | MIR_SRCS=test 2 | include ../support/mir-blobs.mk 3 | -------------------------------------------------------------------------------- /intTests/test1983/Makefile: -------------------------------------------------------------------------------- 1 | MIR_SRCS=test 2 | include ../support/mir-blobs.mk 3 | -------------------------------------------------------------------------------- /intTests/test1994/test.saw: -------------------------------------------------------------------------------- 1 | let thing : { fn: Int -> Int } = { fn = \x -> x }; 2 | -------------------------------------------------------------------------------- /intTests/test2000/Makefile: -------------------------------------------------------------------------------- 1 | MIR_SRCS=test 2 | include ../support/mir-blobs.mk 3 | -------------------------------------------------------------------------------- /intTests/test2032/Makefile: -------------------------------------------------------------------------------- 1 | MIR_SRCS=test 2 | include ../support/mir-blobs.mk 3 | -------------------------------------------------------------------------------- /intTests/test2045/Makefile: -------------------------------------------------------------------------------- 1 | MIR_SRCS=test 2 | include ../support/mir-blobs.mk 3 | -------------------------------------------------------------------------------- /intTests/test2064/Makefile: -------------------------------------------------------------------------------- 1 | MIR_SRCS=test 2 | include ../support/mir-blobs.mk 3 | -------------------------------------------------------------------------------- /intTests/test2122_typecheck_gap/test.c: -------------------------------------------------------------------------------- 1 | int f(int x) { 2 | return x; 3 | } 4 | -------------------------------------------------------------------------------- /intTests/test2204/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test1.saw 4 | $SAW test2.saw 5 | -------------------------------------------------------------------------------- /intTests/test2242_2243/present01.log.good: -------------------------------------------------------------------------------- 1 | Loading file "present01.saw" 2 | 5 3 | -------------------------------------------------------------------------------- /intTests/test2242_2243/present03.log.good: -------------------------------------------------------------------------------- 1 | Loading file "present03.saw" 2 | 6 3 | -------------------------------------------------------------------------------- /intTests/test2242_2243/present04.log.good: -------------------------------------------------------------------------------- 1 | Loading file "present04.saw" 2 | 6 3 | -------------------------------------------------------------------------------- /intTests/test2257/Makefile: -------------------------------------------------------------------------------- 1 | MIR_SRCS=test 2 | include ../support/mir-blobs.mk 3 | -------------------------------------------------------------------------------- /intTests/test2363/Makefile: -------------------------------------------------------------------------------- 1 | MIR_SRCS=test 2 | include ../support/mir-blobs.mk 3 | -------------------------------------------------------------------------------- /intTests/test2398/Makefile: -------------------------------------------------------------------------------- 1 | MIR_SRCS=test 2 | include ../support/mir-blobs.mk 3 | -------------------------------------------------------------------------------- /intTests/test2415/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test1.saw 4 | $SAW test2.saw 5 | -------------------------------------------------------------------------------- /intTests/test2596/Makefile: -------------------------------------------------------------------------------- 1 | MIR_SRCS=test 2 | include ../support/mir-blobs.mk 3 | -------------------------------------------------------------------------------- /intTests/test2659/Makefile: -------------------------------------------------------------------------------- 1 | MIR_SRCS=test 2 | include ../support/mir-blobs.mk 3 | -------------------------------------------------------------------------------- /intTests/test2694/Makefile: -------------------------------------------------------------------------------- 1 | MIR_SRCS=test 2 | include ../support/mir-blobs.mk 3 | -------------------------------------------------------------------------------- /intTests/test2799/Makefile: -------------------------------------------------------------------------------- 1 | MIR_SRCS=test 2 | include ../support/mir-blobs.mk 3 | -------------------------------------------------------------------------------- /intTests/test_1870/A.cry: -------------------------------------------------------------------------------- 1 | module A where 2 | 3 | newtype A = { x : [8] } 4 | 5 | -------------------------------------------------------------------------------- /intTests/test_hash_table/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW ht_simplified.saw 4 | 5 | -------------------------------------------------------------------------------- /intTests/test_llvm_x86_06/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | 4 | $SAW test.saw 5 | -------------------------------------------------------------------------------- /intTests/test_llvm_x86_07/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | 4 | $SAW test.saw 5 | -------------------------------------------------------------------------------- /intTests/test_mir_fresh_expanded_value/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test_mir_ghost_symbolic_branch/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test_mir_points_to_overrides/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test_saw_submodule_access2/.gitignore: -------------------------------------------------------------------------------- 1 | *.rawlog 2 | *.log 3 | *.diff 4 | -------------------------------------------------------------------------------- /doc/.gitignore: -------------------------------------------------------------------------------- 1 | __pycache__ 2 | *.egg-info 3 | .venv 4 | 5 | _build 6 | *.tar.gz 7 | -------------------------------------------------------------------------------- /examples/llvm/assert-null.c: -------------------------------------------------------------------------------- 1 | int f(int *x) { 2 | return (x == (int*)0); 3 | } 4 | -------------------------------------------------------------------------------- /examples/llvm/safety/set.c: -------------------------------------------------------------------------------- 1 | void set(int *a, int i, int v) { 2 | a[i] = v; 3 | } 4 | -------------------------------------------------------------------------------- /intTests/test0220/Makefile: -------------------------------------------------------------------------------- 1 | LLVM_C_SRCS=test 2 | include ../support/llvm-blobs.mk 3 | -------------------------------------------------------------------------------- /intTests/test1533/test.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -e 4 | 5 | $SAW test.saw 6 | -------------------------------------------------------------------------------- /intTests/test1684/Makefile: -------------------------------------------------------------------------------- 1 | LLVM_C_SRCS=test 2 | include ../support/llvm-blobs.mk 3 | -------------------------------------------------------------------------------- /intTests/test1691/Makefile: -------------------------------------------------------------------------------- 1 | LLVM_C_SRCS=test 2 | include ../support/llvm-blobs.mk 3 | -------------------------------------------------------------------------------- /intTests/test1703/Makefile: -------------------------------------------------------------------------------- 1 | LLVM_C_SRCS=test 2 | include ../support/llvm-blobs.mk 3 | -------------------------------------------------------------------------------- /intTests/test1788/Makefile: -------------------------------------------------------------------------------- 1 | LLVM_C_SRCS=test 2 | include ../support/llvm-blobs.mk 3 | -------------------------------------------------------------------------------- /intTests/test1791/paths02/Test.cry: -------------------------------------------------------------------------------- 1 | module Test where 2 | 3 | foo : [8] 4 | foo = 3 5 | -------------------------------------------------------------------------------- /intTests/test1938/Makefile: -------------------------------------------------------------------------------- 1 | LLVM_C_SRCS=test 2 | include ../support/llvm-blobs.mk 3 | -------------------------------------------------------------------------------- /intTests/test1945/Makefile: -------------------------------------------------------------------------------- 1 | LLVM_C_SRCS=test 2 | include ../support/llvm-blobs.mk 3 | -------------------------------------------------------------------------------- /intTests/test1996/M.cry: -------------------------------------------------------------------------------- 1 | module M where 2 | newtype T = { x : Bit } 3 | type U = T 4 | -------------------------------------------------------------------------------- /intTests/test1998_jvm/Makefile: -------------------------------------------------------------------------------- 1 | JAVA_SRCS=Test 2 | include ../support/java-blobs.mk 3 | -------------------------------------------------------------------------------- /intTests/test1998_mir/Makefile: -------------------------------------------------------------------------------- 1 | MIR_SRCS=test 2 | include ../support/mir-blobs.mk 3 | -------------------------------------------------------------------------------- /intTests/test2148/Makefile: -------------------------------------------------------------------------------- 1 | LLVM_C_SRCS=test 2 | include ../support/llvm-blobs.mk 3 | -------------------------------------------------------------------------------- /intTests/test2257/test.rs: -------------------------------------------------------------------------------- 1 | pub fn f(x: u32) -> u32 { 2 | x.reverse_bits() 3 | } 4 | -------------------------------------------------------------------------------- /intTests/test2301/test.sh: -------------------------------------------------------------------------------- 1 | exec ${TEST_SHELL:-bash} ../support/test-and-diff.sh "$@" 2 | -------------------------------------------------------------------------------- /intTests/test2304/test.sh: -------------------------------------------------------------------------------- 1 | exec ${TEST_SHELL:-bash} ../support/test-and-diff.sh "$@" 2 | -------------------------------------------------------------------------------- /intTests/test2314/test.sh: -------------------------------------------------------------------------------- 1 | exec ${TEST_SHELL:-bash} ../support/test-and-diff.sh "$@" 2 | -------------------------------------------------------------------------------- /intTests/test2556/test.sh: -------------------------------------------------------------------------------- 1 | exec ${TEST_SHELL:-bash} ../support/test-and-diff.sh "$@" 2 | -------------------------------------------------------------------------------- /intTests/test_bisimulation/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | $SAW comp.saw 5 | -------------------------------------------------------------------------------- /intTests/test_llvm_global_fresh_pointer/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | 5 | -------------------------------------------------------------------------------- /intTests/test_mir_extract/Makefile: -------------------------------------------------------------------------------- 1 | MIR_SRCS=test 2 | include ../support/mir-blobs.mk 3 | -------------------------------------------------------------------------------- /intTests/test_mir_fresh_expanded_value_enum/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test_mir_ghost/Makefile: -------------------------------------------------------------------------------- 1 | MIR_SRCS=test 2 | include ../support/mir-blobs.mk 3 | -------------------------------------------------------------------------------- /intTests/test_mir_statics/Makefile: -------------------------------------------------------------------------------- 1 | MIR_SRCS=test 2 | include ../support/mir-blobs.mk 3 | -------------------------------------------------------------------------------- /intTests/test_mir_unsafe_assume_spec_statics/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | -------------------------------------------------------------------------------- /intTests/test_newtype/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | 4 | $SAW complex_newtype.saw 5 | -------------------------------------------------------------------------------- /intTests/test_parse_errors/corelexer002.sawcore: -------------------------------------------------------------------------------- 1 | {- 2 | - Unclosed comment 3 | - 4 | -------------------------------------------------------------------------------- /intTests/test_parse_errors/lexer001.saw: -------------------------------------------------------------------------------- 1 | // line comment with no newline at end of file -------------------------------------------------------------------------------- /intTests/test_property_as_rewrite_rule/test.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | $SAW test.saw -------------------------------------------------------------------------------- /intTests/test_saw_submodule_access1/A.cry: -------------------------------------------------------------------------------- 1 | module A where 2 | 3 | a : [32] 4 | a = 2 5 | -------------------------------------------------------------------------------- /intTests/test_sawscript_builtins/exit2.log.good: -------------------------------------------------------------------------------- 1 | Loading file "exit2.saw" 2 | FAILED 3 | -------------------------------------------------------------------------------- /intTests/test_unint_extcore/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -xe 3 | $SAW test_unint.saw 4 | -------------------------------------------------------------------------------- /intTests/test_yosys_basic/test.saw: -------------------------------------------------------------------------------- 1 | enable_experimental; 2 | yosys_import "test.json"; -------------------------------------------------------------------------------- /saw-python/tests/saw/test-files/null.c: -------------------------------------------------------------------------------- 1 | int *always_null () { 2 | return 0; 3 | } 4 | -------------------------------------------------------------------------------- /saw-python/tests/saw/test-files/seven.c: -------------------------------------------------------------------------------- 1 | 2 | int seven() { 3 | return 7; 4 | } 5 | -------------------------------------------------------------------------------- /examples/misc/imports2.saw: -------------------------------------------------------------------------------- 1 | 2 | let i : Int = 1; 3 | 4 | let x : Term = {{ 0xffffff }}; 5 | -------------------------------------------------------------------------------- /intTests/test0002/Makefile: -------------------------------------------------------------------------------- 1 | all: ; 2 | clean: 3 | rm -f *.aig 4 | 5 | .PHONY: all clean 6 | -------------------------------------------------------------------------------- /intTests/test0024_llvm_assert_false/test0024.c: -------------------------------------------------------------------------------- 1 | int id(int x) { 2 | return x; 3 | } 4 | -------------------------------------------------------------------------------- /intTests/test0057/Makefile: -------------------------------------------------------------------------------- 1 | all: ; 2 | clean: 3 | rm -f *.out 4 | 5 | .PHONY: all clean 6 | -------------------------------------------------------------------------------- /intTests/test0220/test.c: -------------------------------------------------------------------------------- 1 | unsigned char y; 2 | 3 | void f(void) { 4 | y = 6; 5 | } 6 | -------------------------------------------------------------------------------- /intTests/test1646/test.sh: -------------------------------------------------------------------------------- 1 | exec ${TEST_SHELL:-bash} ../support/test-and-diff.sh "$@" 2 | 3 | -------------------------------------------------------------------------------- /intTests/test1768/test.cry: -------------------------------------------------------------------------------- 1 | f : [2] -> [10] 2 | f x = take y 3 | where 4 | y = x # y 5 | -------------------------------------------------------------------------------- /intTests/test1791/paths01/subdir/there.saw: -------------------------------------------------------------------------------- 1 | print "there"; 2 | include "alsothere.saw"; 3 | -------------------------------------------------------------------------------- /intTests/test1828/Makefile: -------------------------------------------------------------------------------- 1 | all: ; 2 | clean: 3 | rm -f *.aig 4 | 5 | .PHONY: all clean 6 | -------------------------------------------------------------------------------- /intTests/test1892/test.saw: -------------------------------------------------------------------------------- 1 | import "M.cry"; 2 | prove_print z3 {{ f == X::a + Y::a }}; 3 | -------------------------------------------------------------------------------- /intTests/test2005_mir_lifetime/Makefile: -------------------------------------------------------------------------------- 1 | MIR_SRCS=test 2 | include ../support/mir-blobs.mk 3 | -------------------------------------------------------------------------------- /intTests/test2122_typecheck_gap/test.rs: -------------------------------------------------------------------------------- 1 | pub fn f(x: u32) -> u32 { 2 | x 3 | } 4 | 5 | -------------------------------------------------------------------------------- /intTests/test2242_2243/test.sh: -------------------------------------------------------------------------------- 1 | exec ${TEST_SHELL:-bash} ../support/test-and-diff.sh "$@" 2 | -------------------------------------------------------------------------------- /intTests/test_cryptol_enums/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test1.saw 4 | $SAW test2.saw 5 | -------------------------------------------------------------------------------- /intTests/test_jvm_modifies/Makefile: -------------------------------------------------------------------------------- 1 | JAVA_SRCS=Test 2 | include ../support/java-blobs.mk 3 | -------------------------------------------------------------------------------- /intTests/test_jvm_unsound/Makefile: -------------------------------------------------------------------------------- 1 | JAVA_SRCS=Test 2 | include ../support/java-blobs.mk 3 | -------------------------------------------------------------------------------- /intTests/test_llvm_union2/Makefile: -------------------------------------------------------------------------------- 1 | LLVM_C_SRCS=test 2 | include ../support/llvm-blobs.mk 3 | -------------------------------------------------------------------------------- /intTests/test_mir_load_module/Makefile: -------------------------------------------------------------------------------- 1 | MIR_SRCS=test 2 | include ../support/mir-blobs.mk 3 | -------------------------------------------------------------------------------- /intTests/test_mir_path_sat/Makefile: -------------------------------------------------------------------------------- 1 | MIR_SRCS=test 2 | include ../support/mir-blobs.mk 3 | -------------------------------------------------------------------------------- /intTests/test_mir_points_to/Makefile: -------------------------------------------------------------------------------- 1 | MIR_SRCS=test 2 | include ../support/mir-blobs.mk 3 | -------------------------------------------------------------------------------- /intTests/test_mir_setup_errors/Makefile: -------------------------------------------------------------------------------- 1 | MIR_SRCS=test 2 | include ../support/mir-blobs.mk 3 | -------------------------------------------------------------------------------- /intTests/test_mir_verify_basic/Makefile: -------------------------------------------------------------------------------- 1 | MIR_SRCS=test 2 | include ../support/mir-blobs.mk 3 | -------------------------------------------------------------------------------- /intTests/test_mir_verify_conds/Makefile: -------------------------------------------------------------------------------- 1 | MIR_SRCS=test 2 | include ../support/mir-blobs.mk 3 | -------------------------------------------------------------------------------- /intTests/test_mir_verify_conds/test.rs: -------------------------------------------------------------------------------- 1 | pub fn add1(x: u32) -> u32 { 2 | x + 1 3 | } 4 | -------------------------------------------------------------------------------- /intTests/test_mir_verify_enums/Makefile: -------------------------------------------------------------------------------- 1 | MIR_SRCS=test 2 | include ../support/mir-blobs.mk 3 | -------------------------------------------------------------------------------- /intTests/test_parse_errors/corelexer001.sawcore: -------------------------------------------------------------------------------- 1 | -- line comment with no newline at end of file -------------------------------------------------------------------------------- /intTests/test_profiling/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | 4 | $SAW dotprod_struct.saw 5 | -------------------------------------------------------------------------------- /intTests/test_resolve_unint_missing/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | 4 | $SAW test.saw 5 | -------------------------------------------------------------------------------- /intTests/test_saw_submodule_access1/A2.cry: -------------------------------------------------------------------------------- 1 | module A2 where 2 | 3 | a : [32] 4 | a = 3 5 | -------------------------------------------------------------------------------- /intTests/test_saw_submodule_access1/B.cry: -------------------------------------------------------------------------------- 1 | module B where 2 | import A 3 | 4 | b = a + 10 5 | -------------------------------------------------------------------------------- /intTests/test_sawscript_builtins/include/test.saw: -------------------------------------------------------------------------------- 1 | print "Hello from the included file!"; 2 | -------------------------------------------------------------------------------- /intTests/test_search/test.sh: -------------------------------------------------------------------------------- 1 | exec ${TEST_SHELL:-bash} ../support/test-and-diff.sh "$@" 2 | -------------------------------------------------------------------------------- /examples/java/ByteArray.java: -------------------------------------------------------------------------------- 1 | class ByteArray { 2 | byte[] id(byte[] x) { return x; } 3 | } 4 | -------------------------------------------------------------------------------- /examples/llvm/gcd.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/examples/llvm/gcd.bc -------------------------------------------------------------------------------- /examples/llvm/ptr.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/examples/llvm/ptr.bc -------------------------------------------------------------------------------- /examples/misc/provesbv.saw: -------------------------------------------------------------------------------- 1 | t <- read_sbv "add_comm.sbv" []; 2 | r <- prove abc t; 3 | print r; 4 | -------------------------------------------------------------------------------- /examples/zuc/zuc.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/examples/zuc/zuc.bc -------------------------------------------------------------------------------- /examples/zuc/zuc14.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/examples/zuc/zuc14.bc -------------------------------------------------------------------------------- /intTests/test0046_memcpy/Makefile: -------------------------------------------------------------------------------- 1 | LLVM_C_SRCS=test 2 | include ../support/llvm-blobs.mk 3 | 4 | -------------------------------------------------------------------------------- /intTests/test0064_detect_vacuity/test.c: -------------------------------------------------------------------------------- 1 | int double_imp(int x) { 2 | return x << 1; 3 | } 4 | -------------------------------------------------------------------------------- /intTests/test1225/test1.saw: -------------------------------------------------------------------------------- 1 | let x = parse_core_mod "Prelude" "True {- "; 2 | print_term x; 3 | -------------------------------------------------------------------------------- /intTests/test1225/test2.saw: -------------------------------------------------------------------------------- 1 | let x = parse_core_mod "Prelude" " {- -} True"; 2 | print_term x; 3 | -------------------------------------------------------------------------------- /intTests/test1791/paths05/test.saw: -------------------------------------------------------------------------------- 1 | write_smtlib2 "paths05.smt" {{ \x (y : [8]) -> x < y }}; 2 | -------------------------------------------------------------------------------- /intTests/test2042/test4.saw: -------------------------------------------------------------------------------- 1 | enable_experimental; 2 | load_sawcore_from_file "test4.sawcore"; 3 | -------------------------------------------------------------------------------- /intTests/test2042/test5.saw: -------------------------------------------------------------------------------- 1 | enable_experimental; 2 | load_sawcore_from_file "test5.sawcore"; 3 | -------------------------------------------------------------------------------- /intTests/test2042/test6.saw: -------------------------------------------------------------------------------- 1 | enable_experimental; 2 | load_sawcore_from_file "test6.sawcore"; 3 | -------------------------------------------------------------------------------- /intTests/test2314/test6.log.good: -------------------------------------------------------------------------------- 1 | :1:12-1:14: Error: Invalid character escape in string 2 | -------------------------------------------------------------------------------- /intTests/test2605/test.saw: -------------------------------------------------------------------------------- 1 | import "Foo.cry" as Moo::Boo; 2 | 3 | let y = {{ Moo::Boo::x }}; 4 | -------------------------------------------------------------------------------- /intTests/test2857/test.saw: -------------------------------------------------------------------------------- 1 | 2 | include_once "inc/file.saw"; 3 | include_once "inc/file.saw"; 4 | -------------------------------------------------------------------------------- /intTests/test_bitfield_basic/Makefile: -------------------------------------------------------------------------------- 1 | LLVM_C_SRCS=test 2 | include ../support/llvm-blobs.mk 3 | -------------------------------------------------------------------------------- /intTests/test_bitfield_x86/test.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -e 4 | 5 | $SAW test.saw 6 | -------------------------------------------------------------------------------- /intTests/test_crucible_jvm/Iface.java: -------------------------------------------------------------------------------- 1 | interface Iface { 2 | public int g (int x); 3 | } 4 | -------------------------------------------------------------------------------- /intTests/test_jvm_method_names/Makefile: -------------------------------------------------------------------------------- 1 | JAVA_SRCS=Test 2 | include ../support/java-blobs.mk 3 | -------------------------------------------------------------------------------- /intTests/test_jvm_path_sat/Makefile: -------------------------------------------------------------------------------- 1 | JAVA_SRCS=Test 2 | include ../support/java-blobs.mk 3 | 4 | -------------------------------------------------------------------------------- /intTests/test_jvm_setup_errors/Makefile: -------------------------------------------------------------------------------- 1 | JAVA_SRCS=Test 2 | include ../support/java-blobs.mk 3 | -------------------------------------------------------------------------------- /intTests/test_llvm_errors/test.sh: -------------------------------------------------------------------------------- 1 | exec ${TEST_SHELL:-bash} ../support/test-and-diff.sh "$@" 2 | -------------------------------------------------------------------------------- /intTests/test_mir_const_generics/Makefile: -------------------------------------------------------------------------------- 1 | MIR_SRCS=test 2 | include ../support/mir-blobs.mk 3 | -------------------------------------------------------------------------------- /intTests/test_mir_fresh_cryptol_var/Makefile: -------------------------------------------------------------------------------- 1 | MIR_SRCS=test 2 | include ../support/mir-blobs.mk 3 | -------------------------------------------------------------------------------- /intTests/test_mir_verify_arrays/Makefile: -------------------------------------------------------------------------------- 1 | MIR_SRCS=test 2 | include ../support/mir-blobs.mk 3 | -------------------------------------------------------------------------------- /intTests/test_mir_verify_pop_count/Makefile: -------------------------------------------------------------------------------- 1 | MIR_SRCS=test 2 | include ../support/mir-blobs.mk 3 | -------------------------------------------------------------------------------- /intTests/test_mir_verify_slices/Makefile: -------------------------------------------------------------------------------- 1 | MIR_SRCS=test 2 | include ../support/mir-blobs.mk 3 | -------------------------------------------------------------------------------- /intTests/test_mir_verify_str_slices/Makefile: -------------------------------------------------------------------------------- 1 | MIR_SRCS=test 2 | include ../support/mir-blobs.mk 3 | -------------------------------------------------------------------------------- /intTests/test_mir_verify_structs/Makefile: -------------------------------------------------------------------------------- 1 | MIR_SRCS=test 2 | include ../support/mir-blobs.mk 3 | -------------------------------------------------------------------------------- /intTests/test_mir_verify_tuples/Makefile: -------------------------------------------------------------------------------- 1 | MIR_SRCS=test 2 | include ../support/mir-blobs.mk 3 | -------------------------------------------------------------------------------- /intTests/test_mir_verify_unions/Makefile: -------------------------------------------------------------------------------- 1 | MIR_SRCS=test 2 | include ../support/mir-blobs.mk 3 | -------------------------------------------------------------------------------- /intTests/test_parse_errors/test.sh: -------------------------------------------------------------------------------- 1 | exec ${TEST_SHELL:-bash} ../support/test-and-diff.sh "$@" 2 | -------------------------------------------------------------------------------- /intTests/test_profiling/Makefile: -------------------------------------------------------------------------------- 1 | all: ; 2 | clean: 3 | rm -f prof 4 | 5 | .PHONY: all clean 6 | -------------------------------------------------------------------------------- /intTests/test_sawscript_builtins/circ.saw: -------------------------------------------------------------------------------- 1 | // circular include 2 | include "include/circ.saw"; 3 | -------------------------------------------------------------------------------- /intTests/test_sawscript_builtins/include/circ.saw: -------------------------------------------------------------------------------- 1 | // circular include 2 | include "circ.saw"; 3 | -------------------------------------------------------------------------------- /intTests/test_smtlib/Makefile: -------------------------------------------------------------------------------- 1 | all: ; 2 | clean: 3 | rm -f *.smt2 4 | 5 | .PHONY: all clean 6 | -------------------------------------------------------------------------------- /intTests/test_stack_traces/test.sh: -------------------------------------------------------------------------------- 1 | exec ${TEST_SHELL:-bash} ../support/test-and-diff.sh "$@" 2 | -------------------------------------------------------------------------------- /intTests/test_type_errors/test.sh: -------------------------------------------------------------------------------- 1 | exec ${TEST_SHELL:-bash} ../support/test-and-diff.sh "$@" 2 | -------------------------------------------------------------------------------- /intTests/test_yosys_multiple_modules/test.saw: -------------------------------------------------------------------------------- 1 | enable_experimental; 2 | yosys_import "test.json"; -------------------------------------------------------------------------------- /saw-core-rocq/.gitignore: -------------------------------------------------------------------------------- 1 | /saw/saw 2 | .stack-work 3 | *.v.d 4 | *.vok 5 | *.vos 6 | .lia.cache 7 | -------------------------------------------------------------------------------- /saw-python/tests/saw/test-files/basic_mir.rs: -------------------------------------------------------------------------------- 1 | pub fn basic(x: u32) -> u32 { 2 | x 3 | } 4 | -------------------------------------------------------------------------------- /saw-python/tests/saw/test-files/mir_proclaim.rs: -------------------------------------------------------------------------------- 1 | pub fn f(x: i32) -> i32 { 2 | x + 1 3 | } 4 | -------------------------------------------------------------------------------- /doc/figures/galois.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/doc/figures/galois.pdf -------------------------------------------------------------------------------- /doc/rust-verification-with-saw/code/first-example.rs: -------------------------------------------------------------------------------- 1 | pub fn id_u8(x: u8) -> u8 { 2 | x 3 | } 4 | -------------------------------------------------------------------------------- /doc/rust-verification-with-saw/code/generics-take-1.rs: -------------------------------------------------------------------------------- 1 | pub fn id(x: A) -> A { 2 | x 3 | } 4 | -------------------------------------------------------------------------------- /examples/java/Add.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/examples/java/Add.class -------------------------------------------------------------------------------- /examples/java/Get.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/examples/java/Get.class -------------------------------------------------------------------------------- /examples/llvm/assert.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/examples/llvm/assert.bc -------------------------------------------------------------------------------- /examples/llvm/assert.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | void f(int x) { 4 | assert(x != 0); 5 | } 6 | -------------------------------------------------------------------------------- /examples/llvm/basic.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/examples/llvm/basic.bc -------------------------------------------------------------------------------- /examples/llvm/double.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/examples/llvm/double.bc -------------------------------------------------------------------------------- /examples/llvm/global.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/examples/llvm/global.bc -------------------------------------------------------------------------------- /examples/llvm/nested.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/examples/llvm/nested.bc -------------------------------------------------------------------------------- /examples/llvm/struct.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/examples/llvm/struct.bc -------------------------------------------------------------------------------- /examples/misc/type.saw: -------------------------------------------------------------------------------- 1 | let map : (a -> b) -> [a] -> [b] = undefined; 2 | 3 | let main = return 1; 4 | -------------------------------------------------------------------------------- /intTests/test0055/noise: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test0055/noise -------------------------------------------------------------------------------- /intTests/test1225/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | ! $SAW test1.saw 4 | $SAW test2.saw 5 | $SAW test3.saw 6 | -------------------------------------------------------------------------------- /intTests/test1225/test3.saw: -------------------------------------------------------------------------------- 1 | let x = parse_core_mod "Prelude" " {--- ---} True"; 2 | print_term x; 3 | -------------------------------------------------------------------------------- /intTests/test1308/Makefile: -------------------------------------------------------------------------------- 1 | LLVM_C_SRCS=test 2 | CFLAGS=-g -O2 3 | include ../support/llvm-blobs.mk 4 | -------------------------------------------------------------------------------- /intTests/test1646/Makefile: -------------------------------------------------------------------------------- 1 | all: ; 2 | clean: 3 | sh ./test.sh clean 4 | 5 | .PHONY: all clean 6 | -------------------------------------------------------------------------------- /intTests/test1646/test15.isaw: -------------------------------------------------------------------------------- 1 | let rebindable x = 3 2 | let rebindable y = 4 3 | let y = 5 4 | :env 5 | -------------------------------------------------------------------------------- /intTests/test1996/test1.saw: -------------------------------------------------------------------------------- 1 | import "M.cry" as M; 2 | 3 | print {| M::T |}; 4 | print {| M::U |}; 5 | -------------------------------------------------------------------------------- /intTests/test2122_typecheck_gap/test.sh: -------------------------------------------------------------------------------- 1 | exec ${TEST_SHELL:-bash} ../support/test-and-diff.sh "$@" 2 | -------------------------------------------------------------------------------- /intTests/test2181/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test1.saw 4 | $SAW test2.saw 5 | ! $SAW test3.saw 6 | -------------------------------------------------------------------------------- /intTests/test2242_2243/leak01.log.good: -------------------------------------------------------------------------------- 1 | Loading file "leak01.saw" 2 | (exit) 3 | should be 3 4 | 3 5 | -------------------------------------------------------------------------------- /intTests/test2242_2243/leak02.log.good: -------------------------------------------------------------------------------- 1 | Loading file "leak02.saw" 2 | (exit) 3 | should be 3 4 | 3 5 | -------------------------------------------------------------------------------- /intTests/test2301/test0.log.good: -------------------------------------------------------------------------------- 1 | Loading file "test0.saw" 2 | Loading file "subdir/testsym.saw" 3 | -------------------------------------------------------------------------------- /intTests/test2304/Makefile: -------------------------------------------------------------------------------- 1 | all: ; 2 | clean: 3 | sh ./test.sh clean 4 | 5 | .PHONY: all clean 6 | -------------------------------------------------------------------------------- /intTests/test2314/test7.isaw: -------------------------------------------------------------------------------- 1 | print "a\nb" 2 | print "a\tb" 3 | print "a\ \b" 4 | print "a b " 5 | -------------------------------------------------------------------------------- /intTests/test2556/Makefile: -------------------------------------------------------------------------------- 1 | all: ; 2 | clean: 3 | sh ./test.sh clean 4 | 5 | .PHONY: all clean 6 | -------------------------------------------------------------------------------- /intTests/test_beta_reduce_term/test.sh: -------------------------------------------------------------------------------- 1 | exec ${TEST_SHELL:-bash} ../support/test-and-diff.sh "$@" 2 | -------------------------------------------------------------------------------- /intTests/test_bitfield_basic/test.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -e 4 | 5 | $SAW test.saw 6 | -------------------------------------------------------------------------------- /intTests/test_bitfield_smt_array/Makefile: -------------------------------------------------------------------------------- 1 | LLVM_C_SRCS=test 2 | include ../support/llvm-blobs.mk 3 | -------------------------------------------------------------------------------- /intTests/test_bitfield_wrong_type/Makefile: -------------------------------------------------------------------------------- 1 | LLVM_C_SRCS=test 2 | include ../support/llvm-blobs.mk 3 | -------------------------------------------------------------------------------- /intTests/test_ghost/Makefile: -------------------------------------------------------------------------------- 1 | LLVM_C_SRCS=test 2 | CFLAGS=-O0 3 | include ../support/llvm-blobs.mk 4 | -------------------------------------------------------------------------------- /intTests/test_issue521/test.saw: -------------------------------------------------------------------------------- 1 | m <- llvm_load_module "ptr.bc"; 2 | fails (llvm_extract m "add"); 3 | -------------------------------------------------------------------------------- /intTests/test_issue642/Makefile: -------------------------------------------------------------------------------- 1 | LLVM_C_SRCS=test 2 | CFLAGS=-g 3 | include ../support/llvm-blobs.mk 4 | -------------------------------------------------------------------------------- /intTests/test_jvm_small_types/Makefile: -------------------------------------------------------------------------------- 1 | JAVA_SRCS=Test 2 | include ../support/java-blobs.mk 3 | 4 | -------------------------------------------------------------------------------- /intTests/test_mir_fresh_expanded_value/Makefile: -------------------------------------------------------------------------------- 1 | MIR_SRCS=test 2 | include ../support/mir-blobs.mk 3 | -------------------------------------------------------------------------------- /intTests/test_mir_ghost_symbolic_branch/Makefile: -------------------------------------------------------------------------------- 1 | MIR_SRCS=test 2 | include ../support/mir-blobs.mk 3 | -------------------------------------------------------------------------------- /intTests/test_mir_load_module/test.saw: -------------------------------------------------------------------------------- 1 | m <- mir_load_module "test.linked-mir.json"; 2 | print m; 3 | -------------------------------------------------------------------------------- /intTests/test_mir_points_to_overrides/Makefile: -------------------------------------------------------------------------------- 1 | MIR_SRCS=test 2 | include ../support/mir-blobs.mk 3 | -------------------------------------------------------------------------------- /intTests/test_mir_unsafe_assume_spec/Makefile: -------------------------------------------------------------------------------- 1 | MIR_SRCS=test 2 | include ../support/mir-blobs.mk 3 | -------------------------------------------------------------------------------- /intTests/test_resolve_unint_missing/test.saw: -------------------------------------------------------------------------------- 1 | fails (prove_print (w4_unint_yices ["foo"]) {{ True }}); -------------------------------------------------------------------------------- /intTests/test_sawcore_type_errors/test.sh: -------------------------------------------------------------------------------- 1 | exec ${TEST_SHELL:-bash} ../support/test-and-diff.sh "$@" 2 | -------------------------------------------------------------------------------- /intTests/test_search/Makefile: -------------------------------------------------------------------------------- 1 | all: ; 2 | clean: 3 | sh ./test.sh clean 4 | 5 | .PHONY: all clean 6 | -------------------------------------------------------------------------------- /intTests/test_simulation_errors/err001.saw: -------------------------------------------------------------------------------- 1 | prove abc {{ error "Descriptive error message" : Bit }}; 2 | -------------------------------------------------------------------------------- /intTests/test_simulation_errors/test.sh: -------------------------------------------------------------------------------- 1 | exec ${TEST_SHELL:-bash} ../support/test-and-diff.sh "$@" 2 | -------------------------------------------------------------------------------- /intTests/test_smtlib/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | z3 prove.prove0.smt2 5 | z3 sat.smt2 6 | -------------------------------------------------------------------------------- /intTests/test_type_errors/err004.saw: -------------------------------------------------------------------------------- 1 | 2 | typedef t = Nonexistent; 3 | 4 | let foo (a: t) = a; 5 | -------------------------------------------------------------------------------- /intTests/test_type_errors/err007.saw: -------------------------------------------------------------------------------- 1 | // This was allowed prior to Dec 2024 and now fails. 2 | [0]; 3 | -------------------------------------------------------------------------------- /intTests/test_type_errors/err024.saw: -------------------------------------------------------------------------------- 1 | // Trigger the "Unbound variable" message 2 | 3 | let x = y; 4 | -------------------------------------------------------------------------------- /examples/ecdsa/cryptol-spec/p384_group_field.cry: -------------------------------------------------------------------------------- 1 | module p384_group_field where 2 | 3 | import Field 4 | -------------------------------------------------------------------------------- /examples/ecdsa/ecdsa.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/examples/ecdsa/ecdsa.jar -------------------------------------------------------------------------------- /examples/ghost/simple.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/examples/ghost/simple.bc -------------------------------------------------------------------------------- /examples/java/Alloc.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/examples/java/Alloc.class -------------------------------------------------------------------------------- /examples/java/Double.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/examples/java/Double.class -------------------------------------------------------------------------------- /examples/java/Fields.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/examples/java/Fields.class -------------------------------------------------------------------------------- /examples/java/Return.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/examples/java/Return.class -------------------------------------------------------------------------------- /examples/llvm/ptrcheck.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/examples/llvm/ptrcheck.bc -------------------------------------------------------------------------------- /examples/misc/des_dec.sbv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/examples/misc/des_dec.sbv -------------------------------------------------------------------------------- /examples/misc/des_enc.sbv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/examples/misc/des_enc.sbv -------------------------------------------------------------------------------- /examples/misc/imports.saw: -------------------------------------------------------------------------------- 1 | 2 | include "imports2.saw"; 3 | 4 | print i; 5 | print x; 6 | print "Done."; 7 | -------------------------------------------------------------------------------- /examples/openssl_aes/.gitignore: -------------------------------------------------------------------------------- 1 | aes_all.bc 2 | aes_wrap.bc 3 | aes_imp.aig 4 | aes_ref.aig 5 | openssl-* 6 | -------------------------------------------------------------------------------- /examples/sv-comp/parity.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/examples/sv-comp/parity.bc -------------------------------------------------------------------------------- /intTests/jars/galois.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/jars/galois.jar -------------------------------------------------------------------------------- /intTests/test0028/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test0028/test.bc -------------------------------------------------------------------------------- /intTests/test0029/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test0029/test.bc -------------------------------------------------------------------------------- /intTests/test0060/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test0060/test.bc -------------------------------------------------------------------------------- /intTests/test0220/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test0220/test.bc -------------------------------------------------------------------------------- /intTests/test1132/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test1132/test.bc -------------------------------------------------------------------------------- /intTests/test1308/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test1308/test.bc -------------------------------------------------------------------------------- /intTests/test1533/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test1533/test.bc -------------------------------------------------------------------------------- /intTests/test1533/test.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test1533/test.exe -------------------------------------------------------------------------------- /intTests/test1684/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test1684/test.bc -------------------------------------------------------------------------------- /intTests/test1691/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test1691/test.bc -------------------------------------------------------------------------------- /intTests/test1703/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test1703/test.bc -------------------------------------------------------------------------------- /intTests/test1788/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test1788/test.bc -------------------------------------------------------------------------------- /intTests/test1791/paths01/test.saw: -------------------------------------------------------------------------------- 1 | print "here"; 2 | include "subdir/there.saw"; 3 | include "here.saw"; 4 | -------------------------------------------------------------------------------- /intTests/test1791/paths03/test.saw: -------------------------------------------------------------------------------- 1 | enable_experimental; 2 | load_sawcore_from_file "test.sawcore"; 3 | 4 | -------------------------------------------------------------------------------- /intTests/test1938/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test1938/test.bc -------------------------------------------------------------------------------- /intTests/test1945/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test1945/test.bc -------------------------------------------------------------------------------- /intTests/test1996/test2.saw: -------------------------------------------------------------------------------- 1 | M <- cryptol_load "M.cry"; 2 | 3 | print {| M::T |}; 4 | print {| M::U |}; 5 | -------------------------------------------------------------------------------- /intTests/test2049/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test2049/test.bc -------------------------------------------------------------------------------- /intTests/test2148/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test2148/test.bc -------------------------------------------------------------------------------- /intTests/test2857/inc/file.saw: -------------------------------------------------------------------------------- 1 | // Something simple that will error if repeated 2 | typedef Foo = Int; 3 | -------------------------------------------------------------------------------- /intTests/test_bitfield_wrong_type/test.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -e 4 | 5 | $SAW test.saw 6 | -------------------------------------------------------------------------------- /intTests/test_goal_tags_01/Makefile: -------------------------------------------------------------------------------- 1 | LLVM_C_SRCS=test 2 | CFLAGS=-O0 3 | include ../support/llvm-blobs.mk 4 | -------------------------------------------------------------------------------- /intTests/test_goal_tags_01/test.c: -------------------------------------------------------------------------------- 1 | 2 | unsigned int f(unsigned int i) 3 | { 4 | return (i+1); 5 | } 6 | -------------------------------------------------------------------------------- /intTests/test_llvm_tuple/Makefile: -------------------------------------------------------------------------------- 1 | LLVM_C_SRCS=test 2 | CFLAGS=-g 3 | include ../support/llvm-blobs.mk 4 | -------------------------------------------------------------------------------- /intTests/test_llvm_union/Makefile: -------------------------------------------------------------------------------- 1 | LLVM_C_SRCS=test 2 | CFLAGS=-g 3 | include ../support/llvm-blobs.mk 4 | -------------------------------------------------------------------------------- /intTests/test_mir_fresh_expanded_value_enum/Makefile: -------------------------------------------------------------------------------- 1 | MIR_SRCS=test 2 | include ../support/mir-blobs.mk 3 | -------------------------------------------------------------------------------- /intTests/test_mir_unsafe_assume_spec_statics/Makefile: -------------------------------------------------------------------------------- 1 | MIR_SRCS=test 2 | include ../support/mir-blobs.mk 3 | -------------------------------------------------------------------------------- /intTests/test_mir_unsound_global/Makefile: -------------------------------------------------------------------------------- 1 | MIR_SRCS=unsound_global 2 | include ../support/mir-blobs.mk 3 | -------------------------------------------------------------------------------- /intTests/test_parse_errors/Makefile: -------------------------------------------------------------------------------- 1 | all: ; 2 | clean: 3 | sh ./test.sh clean 4 | 5 | .PHONY: all clean 6 | -------------------------------------------------------------------------------- /intTests/test_saw_submodule_access2/test.sh: -------------------------------------------------------------------------------- 1 | exec ${TEST_SHELL:-bash} ../support/test-and-diff.sh "$@" 2 | -------------------------------------------------------------------------------- /intTests/test_sawscript_builtins/exec.saw: -------------------------------------------------------------------------------- 1 | out <- exec "cat" ["exec.saw", "-"] "fnord"; 2 | print out; 3 | -------------------------------------------------------------------------------- /intTests/test_type_errors/Makefile: -------------------------------------------------------------------------------- 1 | all: ; 2 | clean: 3 | sh ./test.sh clean 4 | 5 | .PHONY: all clean 6 | -------------------------------------------------------------------------------- /intTests/test_unint_extcore/Makefile: -------------------------------------------------------------------------------- 1 | all: ; 2 | clean: 3 | rm -f unint.core 4 | 5 | .PHONY: all clean 6 | -------------------------------------------------------------------------------- /otherTests/saw-core-rocq/.gitignore: -------------------------------------------------------------------------------- 1 | test_offline_rocq*_prove0.v 2 | *.log 3 | *.rawlog 4 | *.log.diff 5 | -------------------------------------------------------------------------------- /otherTests/saw-core-rocq/test.sh: -------------------------------------------------------------------------------- 1 | exec ${TEST_SHELL:-bash} ../../intTests/support/test-and-diff.sh "$@" 2 | -------------------------------------------------------------------------------- /otherTests/saw-core-rocq/test_prelude.saw: -------------------------------------------------------------------------------- 1 | enable_experimental; 2 | write_rocq_sawcore_prelude "" [] []; 3 | -------------------------------------------------------------------------------- /saw-python/tests/saw/test-files/llvm_assert_null.c: -------------------------------------------------------------------------------- 1 | int f(int *x) { 2 | return (x == (int*)0); 3 | } 4 | -------------------------------------------------------------------------------- /saw-python/tests/saw/test-files/llvm_global.c: -------------------------------------------------------------------------------- 1 | const int x = 0; 2 | 3 | int f() { 4 | return x; 5 | } 6 | -------------------------------------------------------------------------------- /saw-python/tests/saw/test-files/mir_slices.rs: -------------------------------------------------------------------------------- 1 | pub fn f(s: &[u32]) -> u32 { 2 | s[0] + s[1] 3 | } 4 | -------------------------------------------------------------------------------- /doc/pdfs/saw-user-manual.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/doc/pdfs/saw-user-manual.pdf -------------------------------------------------------------------------------- /examples/llvm/assert-null.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/examples/llvm/assert-null.bc -------------------------------------------------------------------------------- /examples/llvm/safety/set.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/examples/llvm/safety/set.bc -------------------------------------------------------------------------------- /examples/salsa20/salsa20.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/examples/salsa20/salsa20.bc -------------------------------------------------------------------------------- /examples/sv-comp/byte_add.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/examples/sv-comp/byte_add.bc -------------------------------------------------------------------------------- /examples/sv-comp/modulus.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/examples/sv-comp/modulus.bc -------------------------------------------------------------------------------- /intTests/support/JavaMD5.aig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/support/JavaMD5.aig -------------------------------------------------------------------------------- /intTests/test1791/paths03/test.sawcore: -------------------------------------------------------------------------------- 1 | module test4 where 2 | import Prelude; 3 | foo : Bool; 4 | foo = True; 5 | -------------------------------------------------------------------------------- /intTests/test1791/paths07/test.saw: -------------------------------------------------------------------------------- 1 | prove_print (offline_w4_unint_z3 [] "paths07") {{ \(x : [8]) -> x == x }}; 2 | -------------------------------------------------------------------------------- /intTests/test1791/paths08/test.sawcore: -------------------------------------------------------------------------------- 1 | module test8 where 2 | import Prelude; 3 | foo : Bool; 4 | foo = True; 5 | -------------------------------------------------------------------------------- /intTests/test2415/Test.cry: -------------------------------------------------------------------------------- 1 | p : Integer -> Integer -> Bit 2 | property p x y = y != 0 ==> x / (-y) == (-x) / y 3 | -------------------------------------------------------------------------------- /intTests/test2674/example.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test2674/example.bc -------------------------------------------------------------------------------- /intTests/test2714/example.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test2714/example.bc -------------------------------------------------------------------------------- /intTests/test2714/example.c: -------------------------------------------------------------------------------- 1 | 2 | 3 | char c_id(char x) { return x; } 4 | char c_id2(char x) { return c_id(x); } -------------------------------------------------------------------------------- /intTests/test_beta_reduce_term/Makefile: -------------------------------------------------------------------------------- 1 | all: ; 2 | clean: 3 | sh ./test.sh clean 4 | 5 | .PHONY: all clean 6 | -------------------------------------------------------------------------------- /intTests/test_bitfield_duplicate_points_to/Makefile: -------------------------------------------------------------------------------- 1 | LLVM_C_SRCS=test 2 | include ../support/llvm-blobs.mk 3 | -------------------------------------------------------------------------------- /intTests/test_bitfield_duplicate_points_to/test.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -e 4 | 5 | $SAW test.saw 6 | -------------------------------------------------------------------------------- /intTests/test_ffi_verify_salsa/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | CRYPTOLPATH=../../deps/cryptol-specs $SAW salsa.saw 4 | -------------------------------------------------------------------------------- /intTests/test_ghost/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_ghost/test.bc -------------------------------------------------------------------------------- /intTests/test_ghost_branch_01/Makefile: -------------------------------------------------------------------------------- 1 | LLVM_C_SRCS=test 2 | CFLAGS=-O0 3 | include ../support/llvm-blobs.mk 4 | -------------------------------------------------------------------------------- /intTests/test_ghost_branch_02/Makefile: -------------------------------------------------------------------------------- 1 | LLVM_C_SRCS=test 2 | CFLAGS=-O0 3 | include ../support/llvm-blobs.mk 4 | -------------------------------------------------------------------------------- /intTests/test_ghost_branch_03/Makefile: -------------------------------------------------------------------------------- 1 | LLVM_C_SRCS=test 2 | CFLAGS=-O0 3 | include ../support/llvm-blobs.mk 4 | -------------------------------------------------------------------------------- /intTests/test_ghost_types_00/Makefile: -------------------------------------------------------------------------------- 1 | LLVM_C_SRCS=test 2 | CFLAGS=-O0 3 | include ../support/llvm-blobs.mk 4 | -------------------------------------------------------------------------------- /intTests/test_goal_num_ite/Makefile: -------------------------------------------------------------------------------- 1 | LLVM_C_SRCS=test 2 | CFLAGS=-O0 3 | include ../support/llvm-blobs.mk 4 | 5 | -------------------------------------------------------------------------------- /intTests/test_llvm_alignment/Makefile: -------------------------------------------------------------------------------- 1 | LLVM_C_SRCS=test 2 | CFLAGS=-g 3 | include ../support/llvm-blobs.mk 4 | -------------------------------------------------------------------------------- /intTests/test_llvm_global_field/Makefile: -------------------------------------------------------------------------------- 1 | LLVM_C_SRCS=test 2 | CFLAGS=-g 3 | include ../support/llvm-blobs.mk 4 | -------------------------------------------------------------------------------- /intTests/test_llvm_non_fresh/Makefile: -------------------------------------------------------------------------------- 1 | LLVM_C_SRCS=test 2 | CFLAGS=-g 3 | include ../support/llvm-blobs.mk 4 | -------------------------------------------------------------------------------- /intTests/test_llvm_one_past_end/Makefile: -------------------------------------------------------------------------------- 1 | LLVM_C_SRCS=test 2 | CFLAGS=-g 3 | include ../support/llvm-blobs.mk 4 | -------------------------------------------------------------------------------- /intTests/test_llvm_points_to_at_type/test.c: -------------------------------------------------------------------------------- 1 | void f (int *p) { 2 | p[2] = p[0]; 3 | p[3] = p[1]; 4 | } 5 | -------------------------------------------------------------------------------- /intTests/test_llvm_return_global/Makefile: -------------------------------------------------------------------------------- 1 | LLVM_C_SRCS=test 2 | CFLAGS=-g 3 | include ../support/llvm-blobs.mk 4 | -------------------------------------------------------------------------------- /intTests/test_llvm_return_null/Makefile: -------------------------------------------------------------------------------- 1 | LLVM_C_SRCS=test 2 | CFLAGS=-g 3 | include ../support/llvm-blobs.mk 4 | -------------------------------------------------------------------------------- /intTests/test_llvm_sizeof/Makefile: -------------------------------------------------------------------------------- 1 | LLVM_C_SRCS=test1 test2 2 | CFLAGS=-g 3 | include ../support/llvm-blobs.mk 4 | -------------------------------------------------------------------------------- /intTests/test_sanitize/add.c: -------------------------------------------------------------------------------- 1 | unsigned int f(unsigned int x, unsigned int y) { 2 | return x + y; 3 | } 4 | -------------------------------------------------------------------------------- /intTests/test_saw_submodule_access1/C.cry: -------------------------------------------------------------------------------- 1 | module C where 2 | import A as A' 3 | c = A'::a + 100 4 | a = A'::a 5 | -------------------------------------------------------------------------------- /intTests/test_simulation_errors/Makefile: -------------------------------------------------------------------------------- 1 | all: ; 2 | clean: 3 | sh ./test.sh clean 4 | 5 | .PHONY: all clean 6 | -------------------------------------------------------------------------------- /intTests/test_stack_traces/trace001.saw: -------------------------------------------------------------------------------- 1 | enable_experimental; 2 | 3 | // most basic case 4 | print_stack; 5 | -------------------------------------------------------------------------------- /intTests/test_type_errors/err057.saw: -------------------------------------------------------------------------------- 1 | // "_" is not a legal variable name 2 | 3 | let _ = 3; 4 | print _; 5 | -------------------------------------------------------------------------------- /intTests/test_unint_extcore/unint.cry: -------------------------------------------------------------------------------- 1 | f : [32] -> [32] 2 | f x = g x + 1 3 | 4 | g : [32] -> [32] 5 | g x = 0 -------------------------------------------------------------------------------- /intTests/test_yosys_sequential/test.saw: -------------------------------------------------------------------------------- 1 | enable_experimental; 2 | yosys_import_sequential "seqgen" "test.json"; -------------------------------------------------------------------------------- /intTests/test_yosys_sequential_sally/Makefile: -------------------------------------------------------------------------------- 1 | all: ; 2 | clean: 3 | rm -f *.mcmt 4 | 5 | .PHONY: all clean 6 | -------------------------------------------------------------------------------- /cabal.project.ci: -------------------------------------------------------------------------------- 1 | -- concatenated with cabal.project when run in the CI 2 | package saw 3 | ghc-options: -Werror 4 | -------------------------------------------------------------------------------- /doc/rust-verification-with-saw/code/salsa20/.gitignore: -------------------------------------------------------------------------------- 1 | target/ 2 | benches/Cargo.lock 3 | salsa20.linked-mir.json 4 | -------------------------------------------------------------------------------- /doc/rust-verification-with-saw/code/tuples.rs: -------------------------------------------------------------------------------- 1 | pub fn flip(x: (u32, u64)) -> (u64, u32) { 2 | (x.1, x.0) 3 | } 4 | -------------------------------------------------------------------------------- /examples/fresh-post/source.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/examples/fresh-post/source.bc -------------------------------------------------------------------------------- /examples/java/ArrayField.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/examples/java/ArrayField.class -------------------------------------------------------------------------------- /examples/java/ArrayTest.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/examples/java/ArrayTest.class -------------------------------------------------------------------------------- /examples/java/BranchTest.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/examples/java/BranchTest.class -------------------------------------------------------------------------------- /examples/java/ByteArray.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/examples/java/ByteArray.class -------------------------------------------------------------------------------- /examples/java/ClassType.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/examples/java/ClassType.class -------------------------------------------------------------------------------- /examples/java/ClassType.java: -------------------------------------------------------------------------------- 1 | class ClassType { 2 | int id(Object x) { 3 | return 0; 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /examples/java/JavaTypes.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/examples/java/JavaTypes.class -------------------------------------------------------------------------------- /examples/java/SimpleObj.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/examples/java/SimpleObj.class -------------------------------------------------------------------------------- /examples/llvm/dotprod_struct.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/examples/llvm/dotprod_struct.bc -------------------------------------------------------------------------------- /examples/llvm/union/tmp/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/examples/llvm/union/tmp/test.bc -------------------------------------------------------------------------------- /examples/partial-spec/source.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/examples/partial-spec/source.bc -------------------------------------------------------------------------------- /examples/salsa20/djb/salsa20.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/examples/salsa20/djb/salsa20.bc -------------------------------------------------------------------------------- /intTests/test0001/JavaMD5.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test0001/JavaMD5.class -------------------------------------------------------------------------------- /intTests/test0038_rust/Makefile: -------------------------------------------------------------------------------- 1 | LLVM_RUST_SRCS=test 2 | MAKE_LL_FILES=yes 3 | include ../support/llvm-blobs.mk 4 | -------------------------------------------------------------------------------- /intTests/test0038_rust/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test0038_rust/test.bc -------------------------------------------------------------------------------- /intTests/test0039_rust/Makefile: -------------------------------------------------------------------------------- 1 | LLVM_RUST_SRCS=test 2 | MAKE_LL_FILES=yes 3 | include ../support/llvm-blobs.mk 4 | -------------------------------------------------------------------------------- /intTests/test0039_rust/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test0039_rust/test.bc -------------------------------------------------------------------------------- /intTests/test0040_statics/static.h: -------------------------------------------------------------------------------- 1 | __attribute__((noinline)) static unsigned int f(unsigned int x) { return x; } 2 | -------------------------------------------------------------------------------- /intTests/test0048_alloc_post/Makefile: -------------------------------------------------------------------------------- 1 | LLVM_C_SRCS=test 2 | MAKE_LL_FILES=yes 3 | include ../support/llvm-blobs.mk 4 | -------------------------------------------------------------------------------- /intTests/test2204/test2.saw: -------------------------------------------------------------------------------- 1 | rec f (x : a) : b = g x 2 | and g (y : a) : b = h y 3 | and h (z : a) : b = f z 4 | ; 5 | -------------------------------------------------------------------------------- /intTests/test2314/test1.isaw: -------------------------------------------------------------------------------- 1 | return 0bg 2 | return 0b 3 | return 0xg 4 | return 0x 5 | return 0o8 6 | return 0o 7 | -------------------------------------------------------------------------------- /intTests/test2556/test2.saw: -------------------------------------------------------------------------------- 1 | // A main of completely the wrong type should be ignored. 2 | let main = {{ True }}; 3 | -------------------------------------------------------------------------------- /intTests/test_ghost_branch_00/Makefile: -------------------------------------------------------------------------------- 1 | LLVM_C_SRCS=test 2 | CFLAGS=-O0 3 | include ../support/llvm-blobs.mk 4 | 5 | -------------------------------------------------------------------------------- /intTests/test_hash_table/Makefile: -------------------------------------------------------------------------------- 1 | LLVM_C_SRCS=ht_simplified 2 | CFLAGS= 3 | include ../support/llvm-blobs.mk 4 | 5 | -------------------------------------------------------------------------------- /intTests/test_issue521/ptr.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_issue521/ptr.bc -------------------------------------------------------------------------------- /intTests/test_issue521/ptr.c: -------------------------------------------------------------------------------- 1 | unsigned int add(unsigned int *x, unsigned int *y) { 2 | return *x + *y; 3 | } 4 | -------------------------------------------------------------------------------- /intTests/test_issue642/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_issue642/test.bc -------------------------------------------------------------------------------- /intTests/test_llvm_points_to_at_type/Makefile: -------------------------------------------------------------------------------- 1 | LLVM_C_SRCS=test 2 | CFLAGS=-g 3 | include ../support/llvm-blobs.mk 4 | -------------------------------------------------------------------------------- /intTests/test_llvm_refine/Makefile: -------------------------------------------------------------------------------- 1 | LLVM_C_SRCS=test 2 | MAKE_LL_FILES=yes 3 | include ../support/llvm-blobs.mk 4 | -------------------------------------------------------------------------------- /intTests/test_llvm_x86_01/foo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_llvm_x86_01/foo -------------------------------------------------------------------------------- /intTests/test_llvm_x86_03/foo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_llvm_x86_03/foo -------------------------------------------------------------------------------- /intTests/test_llvm_x86_08/test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_llvm_x86_08/test -------------------------------------------------------------------------------- /intTests/test_parse_errors/lexer004.saw: -------------------------------------------------------------------------------- 1 | // This fails with an unclosed cryptol block. 2 | let x = {{ // 3 }} + 4; 3 | -------------------------------------------------------------------------------- /intTests/test_saw_submodule_access2/Makefile: -------------------------------------------------------------------------------- 1 | all: ; 2 | clean: 3 | sh ./test.sh clean 4 | 5 | .PHONY: all clean 6 | -------------------------------------------------------------------------------- /intTests/test_sawcore_type_errors/Makefile: -------------------------------------------------------------------------------- 1 | all: ; 2 | clean: 3 | sh ./test.sh clean 4 | 5 | .PHONY: all clean 6 | -------------------------------------------------------------------------------- /intTests/test_sawscript_builtins/Makefile: -------------------------------------------------------------------------------- 1 | all: ; 2 | clean: 3 | sh ./test.sh clean 4 | 5 | .PHONY: all clean 6 | -------------------------------------------------------------------------------- /intTests/test_smt_array_load_concrete_size/test.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -e 4 | 5 | $SAW test.saw 6 | 7 | -------------------------------------------------------------------------------- /examples/java/Double.java: -------------------------------------------------------------------------------- 1 | class Double { 2 | public static int f(int x) { 3 | return x * 2; 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /examples/multi-override/source.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/examples/multi-override/source.bc -------------------------------------------------------------------------------- /intTests/jars/org.sat4j.core.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/jars/org.sat4j.core.jar -------------------------------------------------------------------------------- /intTests/test0046_memcpy/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test0046_memcpy/test.bc -------------------------------------------------------------------------------- /intTests/test1132-opaque/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test1132-opaque/test.bc -------------------------------------------------------------------------------- /intTests/test1788/test.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | uint32_t mult(uint32_t x) { 4 | return x * 0x85EBCA77U; 5 | } 6 | -------------------------------------------------------------------------------- /intTests/test1901/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | # The bug is not yet fixed, so this is expected to fail. 4 | ! $SAW test.saw 5 | -------------------------------------------------------------------------------- /intTests/test1973/test.rs: -------------------------------------------------------------------------------- 1 | #[repr(transparent)] 2 | pub struct S(u8); 3 | 4 | pub fn f(s: &S) -> &S { 5 | s 6 | } 7 | -------------------------------------------------------------------------------- /intTests/test1998_jvm/Test.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test1998_jvm/Test.class -------------------------------------------------------------------------------- /intTests/test1999/Makefile: -------------------------------------------------------------------------------- 1 | MIR_SRCS=post-test post-test-mut pre-test pre-test-mut 2 | include ../support/mir-blobs.mk 3 | -------------------------------------------------------------------------------- /intTests/test2028_vacuity_detect/Test.java: -------------------------------------------------------------------------------- 1 | public class Test { 2 | public static void fun_jvm() { 3 | } 4 | } 5 | -------------------------------------------------------------------------------- /intTests/test2042/test2.saw: -------------------------------------------------------------------------------- 1 | // However, we shouldn't be able to use just anything as an identifier. 2 | let 😸 = true; 3 | -------------------------------------------------------------------------------- /intTests/test2314/test5.log.good: -------------------------------------------------------------------------------- 1 | Loading file "test5.saw" 2 | test5.saw:2:1-2:2: Error: Unterminated string 3 | FAILED 4 | -------------------------------------------------------------------------------- /intTests/test2556/test1.saw: -------------------------------------------------------------------------------- 1 | // A main of type TopLevel () should be implicitly executed. 2 | let main = print "hello"; 3 | -------------------------------------------------------------------------------- /intTests/test_boilerplate/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_boilerplate/test.bc -------------------------------------------------------------------------------- /intTests/test_constraint_guards/Instantiated.cry: -------------------------------------------------------------------------------- 1 | module Instantiated = Parameterized where 2 | 3 | type gamma = 3 4 | -------------------------------------------------------------------------------- /intTests/test_ffi_verify/Makefile: -------------------------------------------------------------------------------- 1 | LLVM_C_SRCS=test 2 | CFLAGS=-g -Wall -Werror 3 | include ../support/llvm-blobs.mk 4 | -------------------------------------------------------------------------------- /intTests/test_ffi_verify/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_ffi_verify/test.bc -------------------------------------------------------------------------------- /intTests/test_ghost/test.c: -------------------------------------------------------------------------------- 1 | extern int get_and_increment(); 2 | 3 | int f(int i) { return i * get_and_increment(); } 4 | -------------------------------------------------------------------------------- /intTests/test_llvm_errors/foo.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_llvm_errors/foo.bc -------------------------------------------------------------------------------- /intTests/test_llvm_global_fresh_pointer/Makefile: -------------------------------------------------------------------------------- 1 | LLVM_C_SRCS=test 2 | CFLAGS=-g 3 | include ../support/llvm-blobs.mk 4 | -------------------------------------------------------------------------------- /intTests/test_llvm_refine/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_llvm_refine/test.bc -------------------------------------------------------------------------------- /intTests/test_llvm_tuple/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_llvm_tuple/test.bc -------------------------------------------------------------------------------- /intTests/test_llvm_union/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_llvm_union/test.bc -------------------------------------------------------------------------------- /intTests/test_llvm_union2/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_llvm_union2/test.bc -------------------------------------------------------------------------------- /intTests/test_llvm_x86_01/bar.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_llvm_x86_01/bar.bc -------------------------------------------------------------------------------- /intTests/test_llvm_x86_02/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_llvm_x86_02/test.bc -------------------------------------------------------------------------------- /intTests/test_llvm_x86_03/bar.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_llvm_x86_03/bar.bc -------------------------------------------------------------------------------- /intTests/test_llvm_x86_04/addvar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_llvm_x86_04/addvar -------------------------------------------------------------------------------- /intTests/test_llvm_x86_04/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_llvm_x86_04/test.bc -------------------------------------------------------------------------------- /intTests/test_llvm_x86_05/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_llvm_x86_05/test.bc -------------------------------------------------------------------------------- /intTests/test_llvm_x86_06/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_llvm_x86_06/test.bc -------------------------------------------------------------------------------- /intTests/test_llvm_x86_07/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_llvm_x86_07/test.bc -------------------------------------------------------------------------------- /intTests/test_llvm_x86_08/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_llvm_x86_08/test.bc -------------------------------------------------------------------------------- /intTests/test_parse_errors/corelexer001.saw: -------------------------------------------------------------------------------- 1 | enable_experimental; 2 | load_sawcore_from_file "corelexer001.sawcore"; 3 | -------------------------------------------------------------------------------- /intTests/test_parse_errors/corelexer002.saw: -------------------------------------------------------------------------------- 1 | enable_experimental; 2 | load_sawcore_from_file "corelexer002.sawcore"; 3 | -------------------------------------------------------------------------------- /intTests/test_parse_errors/coreparser001.saw: -------------------------------------------------------------------------------- 1 | enable_experimental; 2 | load_sawcore_from_file "coreparser001.sawcore"; 3 | -------------------------------------------------------------------------------- /intTests/test_saw_submodule_access1/test_import_errors.saw: -------------------------------------------------------------------------------- 1 | import "IgnoredImportErrors.cry"; 2 | 3 | print "done"; 4 | -------------------------------------------------------------------------------- /saw-python/tests/saw/test-files/points_to_at_type.c: -------------------------------------------------------------------------------- 1 | void f (int *p) { 2 | p[2] = p[0]; 3 | p[3] = p[1]; 4 | } 5 | -------------------------------------------------------------------------------- /cabal.project.ci-hpc: -------------------------------------------------------------------------------- 1 | -- concatenated with cabal.project when run in the CI HPC build 2 | package saw 3 | coverage: true 4 | -------------------------------------------------------------------------------- /examples/misc/p384_safe_product.sbv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/examples/misc/p384_safe_product.sbv -------------------------------------------------------------------------------- /intTests/jars/bcprov-jdk16-145.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/jars/bcprov-jdk16-145.jar -------------------------------------------------------------------------------- /intTests/test0015_sawscript_aig/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | . ../sat.sh 3 | mkdir -p tmp 4 | 5 | $SAW test.saw 6 | 7 | rm -rf tmp 8 | -------------------------------------------------------------------------------- /intTests/test0027_crucible_llvm/test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test0027_crucible_llvm/test -------------------------------------------------------------------------------- /intTests/test0031_unit_test/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test0031_unit_test/test.bc -------------------------------------------------------------------------------- /intTests/test0036_global/test-O1.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test0036_global/test-O1.bc -------------------------------------------------------------------------------- /intTests/test0036_global/test-O2.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test0036_global/test-O2.bc -------------------------------------------------------------------------------- /intTests/test0037_popcount/README: -------------------------------------------------------------------------------- 1 | These tests exercise the popcount, count leading zeros and 2 | count trailing zeros primitives. -------------------------------------------------------------------------------- /intTests/test0037_popcount/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test0037_popcount/test.bc -------------------------------------------------------------------------------- /intTests/test0040_statics/a.c: -------------------------------------------------------------------------------- 1 | #include "static.h" 2 | 3 | unsigned int f1(unsigned int x) { 4 | return f(x+1); 5 | } 6 | -------------------------------------------------------------------------------- /intTests/test0040_statics/b.c: -------------------------------------------------------------------------------- 1 | #include "static.h" 2 | 3 | unsigned int f2(unsigned int x) { 4 | return f(x-1); 5 | } 6 | -------------------------------------------------------------------------------- /intTests/test0040_statics/static.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test0040_statics/static.bc -------------------------------------------------------------------------------- /intTests/test0048_alloc_post/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test0048_alloc_post/test.bc -------------------------------------------------------------------------------- /intTests/test0067_term_eqs/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test0067_term_eqs/test.bc -------------------------------------------------------------------------------- /intTests/test1248/test.saw: -------------------------------------------------------------------------------- 1 | // these used to crash 2 | let bv32 = parse_core "Vec 32 Bool"; 3 | let four = parse_core "4"; 4 | -------------------------------------------------------------------------------- /intTests/test1892/F.cry: -------------------------------------------------------------------------------- 1 | module F where 2 | 3 | import interface A as X 4 | import interface A as Y 5 | 6 | f = X::a + Y::a 7 | -------------------------------------------------------------------------------- /intTests/test1980/test.rs: -------------------------------------------------------------------------------- 1 | pub fn f(x: T) -> T { x } 2 | pub fn g(x: u8) -> u8 { f(x) } 3 | pub fn h(x: u16) -> u16 { f(x) } -------------------------------------------------------------------------------- /intTests/test2314/test2.log.good: -------------------------------------------------------------------------------- 1 | Loading file "test2.saw" 2 | test2.saw:2:2-2:2: Error: Invalid multiline string 3 | FAILED 4 | -------------------------------------------------------------------------------- /intTests/test2314/test3.log.good: -------------------------------------------------------------------------------- 1 | Loading file "test3.saw" 2 | test3.saw:1:1-1:3: Error: Unclosed block comment 3 | FAILED 4 | -------------------------------------------------------------------------------- /intTests/test2314/test4.log.good: -------------------------------------------------------------------------------- 1 | Loading file "test4.saw" 2 | test4.saw:2:2-2:2: Error: Invalid multiline string 3 | FAILED 4 | -------------------------------------------------------------------------------- /intTests/test2337/test.saw: -------------------------------------------------------------------------------- 1 | import "test.cry"; 2 | 3 | prove_print z3 {{\(x : Bit) -> (eqLetter l l where l = letterA x) }}; 4 | -------------------------------------------------------------------------------- /intTests/test2415/test1.saw: -------------------------------------------------------------------------------- 1 | import "Test.cry"; 2 | 3 | prove_print z3 {{ p }}; 4 | prove_print (w4_unint_z3 []) {{ p }}; 5 | -------------------------------------------------------------------------------- /intTests/test_bitfield_basic/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_bitfield_basic/test.bc -------------------------------------------------------------------------------- /intTests/test_bitfield_x86/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_bitfield_x86/test.bc -------------------------------------------------------------------------------- /intTests/test_bitfield_x86/test.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_bitfield_x86/test.exe -------------------------------------------------------------------------------- /intTests/test_crucible_jvm/Arr.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_crucible_jvm/Arr.class -------------------------------------------------------------------------------- /intTests/test_crucible_jvm/Dyn.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_crucible_jvm/Dyn.class -------------------------------------------------------------------------------- /intTests/test_crucible_jvm/FFS.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_crucible_jvm/FFS.class -------------------------------------------------------------------------------- /intTests/test_crucible_jvm/Foo.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_crucible_jvm/Foo.class -------------------------------------------------------------------------------- /intTests/test_crucible_jvm/Obj.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_crucible_jvm/Obj.class -------------------------------------------------------------------------------- /intTests/test_crucible_jvm/Sub.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_crucible_jvm/Sub.class -------------------------------------------------------------------------------- /intTests/test_ghost_types_00/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_ghost_types_00/test.bc -------------------------------------------------------------------------------- /intTests/test_goal_num_ite/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_goal_num_ite/test.bc -------------------------------------------------------------------------------- /intTests/test_goal_tags_01/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_goal_tags_01/test.bc -------------------------------------------------------------------------------- /intTests/test_import_foreign/test.cry: -------------------------------------------------------------------------------- 1 | foreign add : [8] -> [8] -> [8] 2 | add x y = x + y 3 | 4 | foreign f : [8] -> [8] 5 | -------------------------------------------------------------------------------- /intTests/test_intro_examples/ffs.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_intro_examples/ffs.bc -------------------------------------------------------------------------------- /intTests/test_intro_examples/mask.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_intro_examples/mask.bc -------------------------------------------------------------------------------- /intTests/test_jvm_unsound/Test.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_jvm_unsound/Test.class -------------------------------------------------------------------------------- /intTests/test_llvm_alignment/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_llvm_alignment/test.bc -------------------------------------------------------------------------------- /intTests/test_llvm_non_fresh/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_llvm_non_fresh/test.bc -------------------------------------------------------------------------------- /intTests/test_llvm_sizeof/test1.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_llvm_sizeof/test1.bc -------------------------------------------------------------------------------- /intTests/test_llvm_sizeof/test2.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_llvm_sizeof/test2.bc -------------------------------------------------------------------------------- /intTests/test_llvm_x86_02/increment: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_llvm_x86_02/increment -------------------------------------------------------------------------------- /intTests/test_llvm_x86_05/returntest: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_llvm_x86_05/returntest -------------------------------------------------------------------------------- /intTests/test_mir_verify_slices/test.rs: -------------------------------------------------------------------------------- 1 | pub fn f(s: &[u32]) -> u32 { 2 | s[0] + s[1] 3 | } 4 | 5 | pub fn g(_: &str) {} 6 | -------------------------------------------------------------------------------- /intTests/test_parse_errors/coreparser001.sawcore: -------------------------------------------------------------------------------- 1 | -- Missing module name in file header 2 | module where 3 | import Prelude; 4 | -------------------------------------------------------------------------------- /intTests/test_sanitize/add-normal.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_sanitize/add-normal.bc -------------------------------------------------------------------------------- /intTests/test_smt_array_load_concrete_size/Makefile: -------------------------------------------------------------------------------- 1 | LLVM_C_SRCS=test 2 | CFLAGS=-g -O1 3 | include ../support/llvm-blobs.mk 4 | -------------------------------------------------------------------------------- /intTests/test_stack_traces/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_stack_traces/test.bc -------------------------------------------------------------------------------- /intTests/test_type_errors/err056.saw: -------------------------------------------------------------------------------- 1 | // typedefs must (for now at least) have kind * 2 | 3 | typedef Foo = ProofScript; 4 | -------------------------------------------------------------------------------- /intTests/test_type_errors/err062.saw: -------------------------------------------------------------------------------- 1 | // typedefing over a builtin abstract type is illegal 2 | 3 | typedef JVMValue = Int; 4 | -------------------------------------------------------------------------------- /saw-python/tests/saw/test-files/assume.c: -------------------------------------------------------------------------------- 1 | extern int seven(void); 2 | 3 | int addone() { 4 | return seven() + 1; 5 | } 6 | -------------------------------------------------------------------------------- /crux-mir-comp/test/symb_eval/comp/subst_basic.good: -------------------------------------------------------------------------------- 1 | test subst_basic/::use_f[0]: ok 2 | 3 | [Crux] Overall status: Valid. 4 | -------------------------------------------------------------------------------- /crux-mir-comp/test/symb_eval/comp/subst_multi.good: -------------------------------------------------------------------------------- 1 | test subst_multi/::use_f[0]: ok 2 | 3 | [Crux] Overall status: Valid. 4 | -------------------------------------------------------------------------------- /crux-mir-comp/test/symb_eval/cryptol/basic_add.good: -------------------------------------------------------------------------------- 1 | test basic_add/::test[0]: ok 2 | 3 | [Crux] Overall status: Valid. 4 | -------------------------------------------------------------------------------- /crux-mir-comp/test/symb_eval/cryptol/big_array.good: -------------------------------------------------------------------------------- 1 | test big_array/::test[0]: ok 2 | 3 | [Crux] Overall status: Valid. 4 | -------------------------------------------------------------------------------- /crux-mir-comp/test/symb_eval/cryptol/size_poly.good: -------------------------------------------------------------------------------- 1 | test size_poly/::test[0]: ok 2 | 3 | [Crux] Overall status: Valid. 4 | -------------------------------------------------------------------------------- /crux-mir-comp/test/symb_eval/cryptol/slice_arg.good: -------------------------------------------------------------------------------- 1 | test slice_arg/::bar[0]: ok 2 | 3 | [Crux] Overall status: Valid. 4 | -------------------------------------------------------------------------------- /examples/java/sfield/StaticField.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/examples/java/sfield/StaticField.class -------------------------------------------------------------------------------- /intTests/.gitignore: -------------------------------------------------------------------------------- 1 | .cache 2 | *.cache 3 | .local 4 | .saw 5 | logs 6 | results.xml 7 | results.xml.tmp 8 | tmp 9 | 10 | -------------------------------------------------------------------------------- /intTests/test0003/README: -------------------------------------------------------------------------------- 1 | Demonstrates the ability to import cryptol functions with 2 | division and exponents in type signatures. 3 | -------------------------------------------------------------------------------- /intTests/test0021_llvm_unsound/side.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test0021_llvm_unsound/side.bc -------------------------------------------------------------------------------- /intTests/test0021_llvm_unsound/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if ! $SAW side.saw ; then 4 | exit 0 5 | else 6 | exit 1 7 | fi 8 | -------------------------------------------------------------------------------- /intTests/test0022_prove_false/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if ! $SAW side.saw ; then 4 | exit 0 5 | else 6 | exit 1 7 | fi 8 | -------------------------------------------------------------------------------- /intTests/test0023_java_assert_false/Test0023.java: -------------------------------------------------------------------------------- 1 | class Test0023 { 2 | int id(int x) { 3 | return x; 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /intTests/test0026_bad_pointers/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test0026_bad_pointers/test.bc -------------------------------------------------------------------------------- /intTests/test0041_invariant_1/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test0041_invariant_1/test.bc -------------------------------------------------------------------------------- /intTests/test0042_invariant_2/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test0042_invariant_2/test.bc -------------------------------------------------------------------------------- /intTests/test0043_invariant_3/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test0043_invariant_3/test.bc -------------------------------------------------------------------------------- /intTests/test0044_invariant_4/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test0044_invariant_4/test.bc -------------------------------------------------------------------------------- /intTests/test0045_invariant_5/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test0045_invariant_5/test.bc -------------------------------------------------------------------------------- /intTests/test0047_alloc_sized/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test0047_alloc_sized/test.bc -------------------------------------------------------------------------------- /intTests/test0059_smt_array_2/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test0059_smt_array_2/test.bc -------------------------------------------------------------------------------- /intTests/test0062_resolve_pred/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test0062_resolve_pred/test.bc -------------------------------------------------------------------------------- /intTests/test0067_term_eqs/test.c: -------------------------------------------------------------------------------- 1 | int f(int x, int y, int z); 2 | 3 | int test_f() 4 | { 5 | return f(-1, 0, 1); 6 | } 7 | 8 | -------------------------------------------------------------------------------- /intTests/test1703/test.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | uint32_t weird(uint32_t cv[8], uint8_t i) { 4 | return cv[i % 8]; 5 | } 6 | -------------------------------------------------------------------------------- /intTests/test1828/test.saw: -------------------------------------------------------------------------------- 1 | write_aig "left.aig" {{ \x -> x * 0x12345678 }}; 2 | write_aig "right.aig" {{ \x -> 0x12345678 * x }}; 3 | -------------------------------------------------------------------------------- /intTests/test1998_jvm/Test.java: -------------------------------------------------------------------------------- 1 | class Test { 2 | static boolean f(int x, int y) { 3 | return x == y; 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /intTests/test2756/test.saw: -------------------------------------------------------------------------------- 1 | include "a.saw"; 2 | include "b.saw"; 3 | include "c.saw"; 4 | 5 | print a; 6 | print b; 7 | print c; 8 | -------------------------------------------------------------------------------- /intTests/test_crucible_jvm/Iface.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_crucible_jvm/Iface.class -------------------------------------------------------------------------------- /intTests/test_crucible_jvm/Stat.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_crucible_jvm/Stat.class -------------------------------------------------------------------------------- /intTests/test_ghost_branch_00/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_ghost_branch_00/test.bc -------------------------------------------------------------------------------- /intTests/test_ghost_branch_01/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_ghost_branch_01/test.bc -------------------------------------------------------------------------------- /intTests/test_ghost_branch_02/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_ghost_branch_02/test.bc -------------------------------------------------------------------------------- /intTests/test_ghost_branch_03/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_ghost_branch_03/test.bc -------------------------------------------------------------------------------- /intTests/test_issue108/RefArray.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_issue108/RefArray.class -------------------------------------------------------------------------------- /intTests/test_jvm_modifies/Test.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_jvm_modifies/Test.class -------------------------------------------------------------------------------- /intTests/test_jvm_path_sat/Test.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_jvm_path_sat/Test.class -------------------------------------------------------------------------------- /intTests/test_llvm_return_null/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_llvm_return_null/test.bc -------------------------------------------------------------------------------- /intTests/test_llvm_x86_07/precondtest: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_llvm_x86_07/precondtest -------------------------------------------------------------------------------- /intTests/test_parse_errors/parser004.saw: -------------------------------------------------------------------------------- 1 | // "rebindable" is not allowed in let-expressions 2 | let rebindable d = 3 in return (); 3 | -------------------------------------------------------------------------------- /intTests/test_saw_submodule_access1/G.cry: -------------------------------------------------------------------------------- 1 | submodule M where 2 | x = 0x02 3 | 4 | import submodule M as Q::R 5 | 6 | y = Q::R::x -------------------------------------------------------------------------------- /intTests/test_saw_submodule_access1/H.cry: -------------------------------------------------------------------------------- 1 | module H where 2 | 3 | a : [32] 4 | a = 4 5 | 6 | private 7 | b : [32] 8 | b = 5 9 | -------------------------------------------------------------------------------- /intTests/test_sawscript_builtins/test.sh: -------------------------------------------------------------------------------- 1 | export SAW_TEST_ENV=fnord 2 | exec ${TEST_SHELL:-bash} ../support/test-and-diff.sh "$@" 3 | -------------------------------------------------------------------------------- /intTests/test_type_errors/err005.log.good: -------------------------------------------------------------------------------- 1 | Loading file "err005.saw" 2 | err005.saw:1:30-1:31: Unbound type variable x 3 | FAILED 4 | -------------------------------------------------------------------------------- /intTests/test_type_errors/err045.saw: -------------------------------------------------------------------------------- 1 | // You'd expect this to be a parse error, wouldn't you... 2 | let (f : Int) : String = 3; 3 | -------------------------------------------------------------------------------- /intTests/test_type_errors/err047.saw: -------------------------------------------------------------------------------- 1 | // Trigger the message about not supporting tuple arity inference. 2 | 3 | let foo x = x.3; 4 | -------------------------------------------------------------------------------- /intTests/test_type_errors/err058.saw: -------------------------------------------------------------------------------- 1 | // "_" is not a legal variable name 2 | 3 | _ <- do { print 0; return 4; }; 4 | print _; 5 | -------------------------------------------------------------------------------- /intTests/test_type_errors/err059.saw: -------------------------------------------------------------------------------- 1 | // "_" is not a legal variable name 2 | 3 | do { 4 | let _ = 3; 5 | print _; 6 | }; 7 | -------------------------------------------------------------------------------- /intTests/test_type_errors/err061.log.good: -------------------------------------------------------------------------------- 1 | Loading file "err061.saw" 2 | err061.saw:4:1-4:19: Redefinition of type Foo 3 | FAILED 4 | -------------------------------------------------------------------------------- /saw-python/tests/saw/test-files/ghost.c: -------------------------------------------------------------------------------- 1 | extern int get_and_increment(); 2 | 3 | int f(int i) { return i * get_and_increment(); } 4 | -------------------------------------------------------------------------------- /saw-python/tests/saw/test-files/test.c: -------------------------------------------------------------------------------- 1 | extern int get_and_increment(); 2 | 3 | int f(int i) { return i * get_and_increment(); } 4 | -------------------------------------------------------------------------------- /crux-mir-comp/test/symb_eval/cryptol/ref_to_array.good: -------------------------------------------------------------------------------- 1 | test ref_to_array/::bar[0]: ok 2 | 3 | [Crux] Overall status: Valid. 4 | -------------------------------------------------------------------------------- /crux-mir-comp/test/symb_eval/cryptol/uninterp.good: -------------------------------------------------------------------------------- 1 | test uninterp/::pow_equiv[0]: ok 2 | 3 | [Crux] Overall status: Valid. 4 | -------------------------------------------------------------------------------- /doc/pdfs/rust-verification-with-saw.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/doc/pdfs/rust-verification-with-saw.pdf -------------------------------------------------------------------------------- /examples/global_based_override/source.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/examples/global_based_override/source.bc -------------------------------------------------------------------------------- /examples/java/javatoaig.saw: -------------------------------------------------------------------------------- 1 | c <- java_load_class "Double"; 2 | t <- jvm_extract c "f"; 3 | print_term t; 4 | write_aig "java_f.aig" t; 5 | -------------------------------------------------------------------------------- /exercises/memory-safety/complete-examples/add/add.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | uint32_t add(uint32_t x, uint32_t y) { return x + y; } -------------------------------------------------------------------------------- /intTests/test0003_w4/README: -------------------------------------------------------------------------------- 1 | Demonstrates the ability to import cryptol functions with 2 | division and exponents in type signatures. 3 | -------------------------------------------------------------------------------- /intTests/test0024_llvm_assert_false/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if ! $SAW side.saw ; then 4 | exit 0 5 | else 6 | exit 1 7 | fi 8 | -------------------------------------------------------------------------------- /intTests/test0027_crucible_llvm/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test0027_crucible_llvm/test.bc -------------------------------------------------------------------------------- /intTests/test0030_vectors/vectortest.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test0030_vectors/vectortest.bc -------------------------------------------------------------------------------- /intTests/test0032_clear_void/voidTest.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test0032_clear_void/voidTest.bc -------------------------------------------------------------------------------- /intTests/test0036_global/test-signed.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test0036_global/test-signed.bc -------------------------------------------------------------------------------- /intTests/test0047_alloc_sized/Makefile: -------------------------------------------------------------------------------- 1 | LLVM_C_SRCS=test 2 | CFLAGS=-g -O1 3 | MAKE_LL_FILES=yes 4 | include ../support/llvm-blobs.mk 5 | -------------------------------------------------------------------------------- /intTests/test0061_path_sat/termination.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test0061_path_sat/termination.bc -------------------------------------------------------------------------------- /intTests/test0064_detect_vacuity/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test0064_detect_vacuity/test.bc -------------------------------------------------------------------------------- /intTests/test0065_match_llvm_elem/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test0065_match_llvm_elem/test.bc -------------------------------------------------------------------------------- /intTests/test1791/paths06/test.saw: -------------------------------------------------------------------------------- 1 | enable_experimental; 2 | write_rocq_term "fnord" [] [] "paths06.v" {{ \x (y : [8]) -> x < y }}; 3 | -------------------------------------------------------------------------------- /intTests/test2043/B.cry: -------------------------------------------------------------------------------- 1 | module B where 2 | 3 | import `A as A 4 | 5 | b : {n, a} (Zero a) => [n]a 6 | b = A::bar`{32} { foo = zero } 7 | -------------------------------------------------------------------------------- /intTests/test2045/test.rs: -------------------------------------------------------------------------------- 1 | pub fn f(s: &[u8]) -> u8 { 2 | s[0] + s[1] 3 | } 4 | 5 | pub fn g(s: &[u8]) -> u8 { 6 | f(s) 7 | } 8 | -------------------------------------------------------------------------------- /intTests/test2122_typecheck_gap/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test2122_typecheck_gap/test.bc -------------------------------------------------------------------------------- /intTests/test2314/test0.log.good: -------------------------------------------------------------------------------- 1 | Loading file "test0.saw" 2 | test0.saw:1:2-1:4: Error: Invalid character escape in string 3 | FAILED 4 | -------------------------------------------------------------------------------- /intTests/test2673/A.cry: -------------------------------------------------------------------------------- 1 | module A where 2 | 3 | parameter 4 | type n : # 5 | 6 | newtype E = { unE : [n] } 7 | enum F = MkF [n] 8 | -------------------------------------------------------------------------------- /intTests/test_bitfield_smt_array/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_bitfield_smt_array/test.bc -------------------------------------------------------------------------------- /intTests/test_bitfield_wrong_type/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_bitfield_wrong_type/test.bc -------------------------------------------------------------------------------- /intTests/test_crucible_jvm/FFS.class.FROM: -------------------------------------------------------------------------------- 1 | versions 2 | javac 24.0.1 3 | versions-notes 4 | Generated by update-from.sh version 1 5 | -------------------------------------------------------------------------------- /intTests/test_crucible_jvm/TestStr.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_crucible_jvm/TestStr.class -------------------------------------------------------------------------------- /intTests/test_ffi_verify_salsa/salsa.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_ffi_verify_salsa/salsa.bc -------------------------------------------------------------------------------- /intTests/test_hash_table/ht_simplified.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_hash_table/ht_simplified.bc -------------------------------------------------------------------------------- /intTests/test_intro_examples/add-comm.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_intro_examples/add-comm.bc -------------------------------------------------------------------------------- /intTests/test_intro_examples/max-ptr.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_intro_examples/max-ptr.bc -------------------------------------------------------------------------------- /intTests/test_intro_examples/xor-swap.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_intro_examples/xor-swap.bc -------------------------------------------------------------------------------- /intTests/test_jvm_method_names/Test.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_jvm_method_names/Test.class -------------------------------------------------------------------------------- /intTests/test_jvm_path_sat/Test.class.FROM: -------------------------------------------------------------------------------- 1 | versions 2 | javac 25 3 | versions-notes 4 | Generated by update-from.sh version 1 5 | -------------------------------------------------------------------------------- /intTests/test_jvm_setup_errors/Test.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_jvm_setup_errors/Test.class -------------------------------------------------------------------------------- /intTests/test_jvm_small_types/Test.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_jvm_small_types/Test.class -------------------------------------------------------------------------------- /intTests/test_jvm_static_fields/A.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_jvm_static_fields/A.class -------------------------------------------------------------------------------- /intTests/test_jvm_static_fields/B.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_jvm_static_fields/B.class -------------------------------------------------------------------------------- /intTests/test_jvm_static_fields/C.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_jvm_static_fields/C.class -------------------------------------------------------------------------------- /intTests/test_llvm_global_field/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_llvm_global_field/test.bc -------------------------------------------------------------------------------- /intTests/test_llvm_one_past_end/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_llvm_one_past_end/test.bc -------------------------------------------------------------------------------- /intTests/test_llvm_return_global/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_llvm_return_global/test.bc -------------------------------------------------------------------------------- /intTests/test_llvm_x86_06/discoverytest: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_llvm_x86_06/discoverytest -------------------------------------------------------------------------------- /intTests/test_parse_errors/parser001.saw: -------------------------------------------------------------------------------- 1 | // "rebindable" is not allowed in let-expressions 2 | let a = let rebindable a' = 3 in (); 3 | -------------------------------------------------------------------------------- /intTests/test_profiling/dotprod_struct.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_profiling/dotprod_struct.bc -------------------------------------------------------------------------------- /intTests/test_sanitize/add-sanitized.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_sanitize/add-sanitized.bc -------------------------------------------------------------------------------- /intTests/test_type_errors/err022.saw: -------------------------------------------------------------------------------- 1 | // Trigger the "Tuple lookup on non-tuple argument" message. 2 | 3 | let foo (x: Int) = x.3; 4 | -------------------------------------------------------------------------------- /intTests/test_type_errors/err025.saw: -------------------------------------------------------------------------------- 1 | // Trigger the "do block must include at least one expression" message 2 | 3 | let x = do {}; 4 | -------------------------------------------------------------------------------- /intTests/test_type_errors/err046.saw: -------------------------------------------------------------------------------- 1 | // Trigger the message about not supporting record inference. 2 | 3 | let foo x = x.someField; 4 | -------------------------------------------------------------------------------- /intTests/test_type_errors/err055.saw: -------------------------------------------------------------------------------- 1 | // Check the error from misusing "let rebindable". 2 | 3 | let x = 6; 4 | let rebindable x = 7; 5 | -------------------------------------------------------------------------------- /intTests/test_type_errors/err062.log.good: -------------------------------------------------------------------------------- 1 | Loading file "err062.saw" 2 | err062.saw:3:1-3:23: Redefinition of type JVMValue 3 | FAILED 4 | -------------------------------------------------------------------------------- /saw-python/tests/saw/test-files/Add.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/saw-python/tests/saw/test-files/Add.class -------------------------------------------------------------------------------- /saw-python/tests/saw/test-files/assume.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/saw-python/tests/saw/test-files/assume.bc -------------------------------------------------------------------------------- /saw-python/tests/saw/test-files/ghost.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/saw-python/tests/saw/test-files/ghost.bc -------------------------------------------------------------------------------- /saw-python/tests/saw/test-files/global.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/saw-python/tests/saw/test-files/global.bc -------------------------------------------------------------------------------- /saw-python/tests/saw/test-files/null.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/saw-python/tests/saw/test-files/null.bc -------------------------------------------------------------------------------- /saw-python/tests/saw/test-files/seven.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/saw-python/tests/saw/test-files/seven.bc -------------------------------------------------------------------------------- /saw-python/tests/saw/test-files/swap.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/saw-python/tests/saw/test-files/swap.bc -------------------------------------------------------------------------------- /saw-python/tests/saw/test-files/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/saw-python/tests/saw/test-files/test.bc -------------------------------------------------------------------------------- /crux-mir-comp/test/symb_eval/comp/subst_multi_rev.good: -------------------------------------------------------------------------------- 1 | test subst_multi_rev/::use_f[0]: ok 2 | 3 | [Crux] Overall status: Valid. 4 | -------------------------------------------------------------------------------- /crux-mir-comp/test/symb_eval/cryptol/basic_add_bits.good: -------------------------------------------------------------------------------- 1 | test basic_add_bits/::test[0]: ok 2 | 3 | [Crux] Overall status: Valid. 4 | -------------------------------------------------------------------------------- /crux-mir-comp/test/symb_eval/cryptol/basic_array_arg.good: -------------------------------------------------------------------------------- 1 | test basic_array_arg/::test[0]: ok 2 | 3 | [Crux] Overall status: Valid. 4 | -------------------------------------------------------------------------------- /crux-mir-comp/test/symb_eval/cryptol/basic_array_ret.good: -------------------------------------------------------------------------------- 1 | test basic_array_ret/::test[0]: ok 2 | 3 | [Crux] Overall status: Valid. 4 | -------------------------------------------------------------------------------- /crux-mir-comp/test/symb_eval/cryptol/basic_tuple_arg.good: -------------------------------------------------------------------------------- 1 | test basic_tuple_arg/::test[0]: ok 2 | 3 | [Crux] Overall status: Valid. 4 | -------------------------------------------------------------------------------- /crux-mir-comp/test/symb_eval/cryptol/basic_tuple_ret.good: -------------------------------------------------------------------------------- 1 | test basic_tuple_ret/::test[0]: ok 2 | 3 | [Crux] Overall status: Valid. 4 | -------------------------------------------------------------------------------- /examples/llvm/iterative_average/tmp/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/examples/llvm/iterative_average/tmp/test.bc -------------------------------------------------------------------------------- /exercises/functional-correctness/complete-examples/add/add.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | uint32_t add(uint32_t x, uint32_t y) { return x + y; } -------------------------------------------------------------------------------- /intTests/test0021_llvm_unsound/README: -------------------------------------------------------------------------------- 1 | Test for `saw-script` issue #30 2 | 3 | Instance of unsound compositional verification with LLVM. 4 | -------------------------------------------------------------------------------- /intTests/test1999/pre-test.rs: -------------------------------------------------------------------------------- 1 | pub fn x(s: &u32) -> &u32 { 2 | s 3 | } 4 | 5 | pub fn is42() -> bool { 6 | *x(&42) == 42 7 | } 8 | 9 | -------------------------------------------------------------------------------- /intTests/test2028_vacuity_detect/Test.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test2028_vacuity_detect/Test.class -------------------------------------------------------------------------------- /intTests/test2122_typecheck_gap/Test.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test2122_typecheck_gap/Test.class -------------------------------------------------------------------------------- /intTests/test2122_typecheck_gap/Test.java: -------------------------------------------------------------------------------- 1 | public class Test { 2 | public static int f(int x) { 3 | return x; 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /intTests/test_crucible_jvm/Stat.class.FROM: -------------------------------------------------------------------------------- 1 | versions 2 | javac 24.0.1 3 | versions-notes 4 | Generated by update-from.sh version 1 5 | -------------------------------------------------------------------------------- /intTests/test_intro_examples/direct-swap.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_intro_examples/direct-swap.bc -------------------------------------------------------------------------------- /intTests/test_intro_examples/max-ptr-xor.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_intro_examples/max-ptr-xor.bc -------------------------------------------------------------------------------- /intTests/test_intro_examples/swap-manual.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_intro_examples/swap-manual.bc -------------------------------------------------------------------------------- /intTests/test_intro_examples/swap-random.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_intro_examples/swap-random.bc -------------------------------------------------------------------------------- /intTests/test_mir_points_to_overrides/test.rs: -------------------------------------------------------------------------------- 1 | pub fn inner(_x: &mut u32) {} 2 | 3 | pub fn outer(x: &mut u32) { 4 | inner(x) 5 | } 6 | -------------------------------------------------------------------------------- /intTests/test_parse_errors/lexer002.log.good: -------------------------------------------------------------------------------- 1 | Loading file "lexer002.saw" 2 | lexer002.saw:1:1-1:3: Error: Unclosed block comment 3 | FAILED 4 | -------------------------------------------------------------------------------- /intTests/test_parse_errors/lexer003.saw: -------------------------------------------------------------------------------- 1 | // This fails with an unexpected end of cryptol block. 2 | 3 | let x = {{ /* 3 }} */; 4 | 5 | 6 | -------------------------------------------------------------------------------- /intTests/test_parse_errors/parser002.saw: -------------------------------------------------------------------------------- 1 | // "rebindable" is not allowed in let-expressions 2 | let b = do { let rebindable b' = 3 in (); }; 3 | -------------------------------------------------------------------------------- /intTests/test_type_errors/err003.log.good: -------------------------------------------------------------------------------- 1 | Loading file "err003.saw" 2 | err003.saw:3:16-3:27: Unbound type variable Nonexistent 3 | FAILED 4 | -------------------------------------------------------------------------------- /intTests/test_type_errors/err004.log.good: -------------------------------------------------------------------------------- 1 | Loading file "err004.saw" 2 | err004.saw:2:13-2:24: Unbound type variable Nonexistent 3 | FAILED 4 | -------------------------------------------------------------------------------- /intTests/test_type_errors/err033.saw: -------------------------------------------------------------------------------- 1 | // 2 | // Not enough arguments for type constructor: monads 3 | // 4 | 5 | let x : TopLevel = false; 6 | -------------------------------------------------------------------------------- /intTests/test_type_errors/err035.saw: -------------------------------------------------------------------------------- 1 | // 2 | // Too many arguments for type: records 3 | // 4 | 5 | let x : { a: Int } Int = { a = 3 }; 6 | -------------------------------------------------------------------------------- /intTests/test_type_errors/err048.log.good: -------------------------------------------------------------------------------- 1 | Loading file "err048.saw" 2 | err048.saw:10:5-10:10: Only functions may be recursive. 3 | FAILED 4 | -------------------------------------------------------------------------------- /intTests/test_type_errors/err061.saw: -------------------------------------------------------------------------------- 1 | // multiple typedefs of the same name are illegal 2 | 3 | typedef Foo = Int; 4 | typedef Foo = Bool; 5 | -------------------------------------------------------------------------------- /saw-python/tests/saw/test-files/salsa20.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/saw-python/tests/saw/test-files/salsa20.bc -------------------------------------------------------------------------------- /crux-mir-comp/test/symb_eval/cryptol/basic_xor_generic.good: -------------------------------------------------------------------------------- 1 | test basic_xor_generic/::test[0]: ok 2 | 3 | [Crux] Overall status: Valid. 4 | -------------------------------------------------------------------------------- /crux-mir-comp/test/symb_eval/cryptol/size_poly_nested.good: -------------------------------------------------------------------------------- 1 | test size_poly_nested/::test[0]: ok 2 | 3 | [Crux] Overall status: Valid. 4 | -------------------------------------------------------------------------------- /doc/pdfs/llvm-java-verification-with-saw.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/doc/pdfs/llvm-java-verification-with-saw.pdf -------------------------------------------------------------------------------- /doc/saw-user-manual/appendices/command-reference.md: -------------------------------------------------------------------------------- 1 | # Command Reference 2 | 3 | :::{warning} 4 | This section is under construction! 5 | ::: 6 | -------------------------------------------------------------------------------- /doc/saw-user-manual/appendices/glossary.md: -------------------------------------------------------------------------------- 1 | # Glossary 2 | 3 | :::{warning} 4 | This section is under construction! 5 | ::: 6 | 7 | {.glossary} 8 | -------------------------------------------------------------------------------- /intTests/test0070_llvm_alloc_sym_init/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test0070_llvm_alloc_sym_init/test.bc -------------------------------------------------------------------------------- /intTests/test1703/test.cry: -------------------------------------------------------------------------------- 1 | weird : [8][32] -> [8] -> [32] 2 | weird cv i = k 3 | where 4 | k = cvs @ i 5 | cvs = cv # cvs 6 | -------------------------------------------------------------------------------- /intTests/test2674/example.c: -------------------------------------------------------------------------------- 1 | unsigned char c_ID(unsigned char x) { return x; } 2 | unsigned char c_FIVE(unsigned char y) { return c_ID(5)+y; } 3 | -------------------------------------------------------------------------------- /intTests/test2799/test.rs: -------------------------------------------------------------------------------- 1 | pub fn f() -> Vec { 2 | vec![42] 3 | } 4 | 5 | pub fn g() -> Option> { 6 | Some(vec![42]) 7 | } 8 | -------------------------------------------------------------------------------- /intTests/test_intro_examples/swap-correct.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_intro_examples/swap-correct.bc -------------------------------------------------------------------------------- /intTests/test_intro_examples/xor-swap-bug.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_intro_examples/xor-swap-bug.bc -------------------------------------------------------------------------------- /intTests/test_llvm_points_to_at_type/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_llvm_points_to_at_type/test.bc -------------------------------------------------------------------------------- /intTests/test_llvm_unsound_alloc/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if ! $SAW unsound_alloc.saw ; then 4 | exit 0 5 | else 6 | exit 1 7 | fi 8 | -------------------------------------------------------------------------------- /intTests/test_llvm_unsound_global/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if ! $SAW unsound_global.saw ; then 4 | exit 0 5 | else 6 | exit 1 7 | fi 8 | -------------------------------------------------------------------------------- /intTests/test_parse_errors/lexer001.log.good: -------------------------------------------------------------------------------- 1 | Loading file "lexer001.saw" 2 | lexer001.saw:1:47-1:47: Warning: Missing newline at end of file 3 | -------------------------------------------------------------------------------- /intTests/test_parse_errors/lexer003.log.good: -------------------------------------------------------------------------------- 1 | Loading file "lexer003.saw" 2 | lexer003.saw:3:9-3:11: Error: Unclosed Cryptol block 3 | FAILED 4 | -------------------------------------------------------------------------------- /intTests/test_parse_errors/lexer004.log.good: -------------------------------------------------------------------------------- 1 | Loading file "lexer004.saw" 2 | lexer004.saw:2:9-2:11: Error: Unclosed Cryptol block 3 | FAILED 4 | -------------------------------------------------------------------------------- /intTests/test_parse_errors/parser005.saw: -------------------------------------------------------------------------------- 1 | // "rebindable" is not allowed in rec-bindings 2 | rec rebindable f0 () = f1 () 3 | and f1 () = f0 (); 4 | -------------------------------------------------------------------------------- /intTests/test_parse_errors/parser006.saw: -------------------------------------------------------------------------------- 1 | // "rebindable" is not allowed in rec-bindings 2 | rec f0 () = f1 () 3 | and rebindable f1 () = f0 (); 4 | -------------------------------------------------------------------------------- /intTests/test_sawscript_builtins/exec.log.good: -------------------------------------------------------------------------------- 1 | Loading file "exec.saw" 2 | out <- exec "cat" ["exec.saw", "-"] "fnord"; 3 | print out; 4 | fnord 5 | -------------------------------------------------------------------------------- /intTests/test_sawscript_builtins/undefined2.saw: -------------------------------------------------------------------------------- 1 | // Try undefined in a top-level do block. 2 | 3 | do { 4 | undefined; 5 | return (); 6 | }; 7 | -------------------------------------------------------------------------------- /intTests/test_sawscript_builtins/undefined6.log.good: -------------------------------------------------------------------------------- 1 | Loading file "undefined6.saw" 2 | not dead yet 3 | still not dead 4 | still still not dead 5 | -------------------------------------------------------------------------------- /intTests/test_type_errors/err020.saw: -------------------------------------------------------------------------------- 1 | // Trigger the "Record lookup on non-record argument" message. 2 | 3 | let foo (x: Int) = x.nonexistent; 4 | -------------------------------------------------------------------------------- /intTests/test_type_errors/err023.log.good: -------------------------------------------------------------------------------- 1 | Loading file "err023.saw" 2 | err023.saw:5:18-5:21: Tuple index 3 out of bounds; limit is 2 3 | FAILED 4 | -------------------------------------------------------------------------------- /intTests/test_type_errors/err026.log.good: -------------------------------------------------------------------------------- 1 | Loading file "err026.saw" 2 | Error: err026.saw:3:9-5:2: do block must end with expression 3 | FAILED 4 | -------------------------------------------------------------------------------- /intTests/test_type_errors/err027.log.good: -------------------------------------------------------------------------------- 1 | Loading file "err027.saw" 2 | Error: Parse error at err027.saw:7:10-7:11: Unexpected `]' 3 | FAILED 4 | -------------------------------------------------------------------------------- /intTests/test_type_errors/err031.saw: -------------------------------------------------------------------------------- 1 | // 2 | // Too many arguments for type constructor: Bool 3 | // 4 | 5 | let x : Bool Int = false; 6 | 7 | 8 | -------------------------------------------------------------------------------- /saw-python/tests/saw/test-files/llvm_global.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/saw-python/tests/saw/test-files/llvm_global.bc -------------------------------------------------------------------------------- /saw-python/tests/saw/test-files/llvm_struct.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/saw-python/tests/saw/test-files/llvm_struct.bc -------------------------------------------------------------------------------- /crux-mir-comp/test/symb_eval/comp/munge_struct.good: -------------------------------------------------------------------------------- 1 | test munge_struct/::munge_struct_equiv_test[0]: ok 2 | 3 | [Crux] Overall status: Valid. 4 | -------------------------------------------------------------------------------- /doc/llvm-java-verification-with-saw/code/ffs.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/doc/llvm-java-verification-with-saw/code/ffs.bc -------------------------------------------------------------------------------- /doc/rust-verification-with-saw/code/saw-basics.rs: -------------------------------------------------------------------------------- 1 | pub fn id(x: A) -> A { 2 | x 3 | } 4 | 5 | pub fn id_u8(x: u8) -> u8 { 6 | id(x) 7 | } 8 | -------------------------------------------------------------------------------- /intTests/test0001/test.sh: -------------------------------------------------------------------------------- 1 | # The .class file is versioned to support systems without 'javac'. 2 | #$JAVAC JavaMD5.java 3 | 4 | $SAW javamd5test.saw 5 | -------------------------------------------------------------------------------- /intTests/test0002/test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | $SAW test.saw 4 | abc -c "cec java_md5.aig md5_ref.aig" | grep "Networks are equivalent." 5 | rm -f *.aig 6 | -------------------------------------------------------------------------------- /intTests/test0019_jvm_switch_statement/FFS.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test0019_jvm_switch_statement/FFS.class -------------------------------------------------------------------------------- /intTests/test0019_jvm_switch_statement/Id.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test0019_jvm_switch_statement/Id.class -------------------------------------------------------------------------------- /intTests/test0024_llvm_assert_false/test0024.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test0024_llvm_assert_false/test0024.bc -------------------------------------------------------------------------------- /intTests/test0038_rust/README.md: -------------------------------------------------------------------------------- 1 | A port of [../test0028](../test0028) to Rust. The bitcode is about 10x as long, 2 | and significantly more complex. 3 | -------------------------------------------------------------------------------- /intTests/test0049_conditional_points_to/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test0049_conditional_points_to/test.bc -------------------------------------------------------------------------------- /intTests/test0056_instantiate_match_term/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test0056_instantiate_match_term/test.bc -------------------------------------------------------------------------------- /intTests/test2042/test3.saw: -------------------------------------------------------------------------------- 1 | // Nor should we be able to use just anything _in_ an identifier. 2 | let thingy_hook = true; 3 | let thingy_🪝 = false; 4 | -------------------------------------------------------------------------------- /intTests/test2272/test1.saw: -------------------------------------------------------------------------------- 1 | // comments don't break cryptol's whitespace-sensitive parsing 2 | let {{ x : Bit -> Bit /* 3 | */ x y = y 4 | }}; 5 | -------------------------------------------------------------------------------- /intTests/test_intro_examples/mask.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | uint8_t mask(uint8_t x) { 5 | return x | 0x03; 6 | } 7 | -------------------------------------------------------------------------------- /intTests/test_llvm_errors/foo.c: -------------------------------------------------------------------------------- 1 | /* a simple generic function broadly useful for writing wrong specs */ 2 | int foo(int x) { 3 | return x * 2; 4 | } 5 | -------------------------------------------------------------------------------- /intTests/test_llvm_global_fresh_pointer/test.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GaloisInc/saw-script/HEAD/intTests/test_llvm_global_fresh_pointer/test.bc -------------------------------------------------------------------------------- /intTests/test_llvm_global_fresh_pointer/test.c: -------------------------------------------------------------------------------- 1 | int glb; 2 | 3 | void foo(const int *x) {} 4 | 5 | void bar(const int *x) { 6 | foo(x); 7 | } 8 | 9 | -------------------------------------------------------------------------------- /intTests/test_llvm_x86_03/bar.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | extern uint64_t foo(); 5 | 6 | void bar() { 7 | foo(); 8 | }; 9 | -------------------------------------------------------------------------------- /intTests/test_parse_errors/lexer005.log.good: -------------------------------------------------------------------------------- 1 | Loading file "lexer005.saw" 2 | Error: Parse error at lexer005.saw:3:20-3:21: Unexpected `}' 3 | FAILED 4 | --------------------------------------------------------------------------------