-
Notifications
You must be signed in to change notification settings - Fork 22
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #193 from kth-step/riscv-symbexec
Symbolic exec checkpoint
- Loading branch information
Showing
103 changed files
with
9,677 additions
and
3,219 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
open HolKernel Parse boolLib bossLib; | ||
|
||
val _ = Parse.current_backend := PPBackEnd.vt100_terminal; | ||
val _ = Globals.show_tags := true; | ||
|
||
open wordsTheory; | ||
|
||
open bir_programSyntax bir_program_labelsTheory bir_immTheory; | ||
|
||
open aes_symb_execTheory; | ||
|
||
(* for now we just have a leightweight check; this is to include aes into the test *) | ||
val _ = print "checking aes_symb_analysis_thm:\n"; | ||
|
||
val term_sz = term_size (concl aes_symb_analysis_thm); | ||
val _ = print ("\nterm size = " ^ (Int.toString term_sz) ^ "\n\n"); | ||
val expected_term_sz = 25198; | ||
|
||
val _ = if term_sz = expected_term_sz then () else | ||
raise Fail "term size of aes symbolic execution theorem is not as expected"; | ||
|
||
val triple_tm = ((snd o dest_comb o concl) aes_symb_analysis_thm); | ||
val [init_st_tm, prog_frag_L_tm, final_sts_tm] = pairSyntax.strip_pair triple_tm; | ||
val final_sts_birs_tm = final_sts_tm; | ||
|
||
val _ = if (length o pred_setSyntax.strip_set) final_sts_birs_tm = 1 then () else | ||
raise Fail "number of final states is not as expected"; | ||
|
||
val _ = print "ok!\n"; |
Oops, something went wrong.