We claim that the artifact provides a Coq development of the definitions and proofs presented in the paper (with minor simplifications for presentation purposes) and compiles without any issues.
- Install opam in your system with the version at least 2.1.5.
- In artifact directory, install a local opam switch and install the dependencies:
opam switch create SpecIBT 4.14.1 &&
eval $(opam env) &&
opam pin add rocq-prover 9.0.0 -y &&
opam repo add rocq-released https://rocq-prover.org/opam/released &&
opam config env &&
opam pin add coq-quickchick 2.1.0 -y &&
make- Lemma 1 -->
seq_spec_safety_preservation_initin Safe.v
- Fig. 3 -->
exp,instin MiniCET.v - Fig. 4 -->
binop,eval_binop,evalin MiniCET.v - Fig. 5 -->
spec_eval_small_stepin MiniCET_Index.v - Fig. 6 -->
uslh_inst,uslh_blk,uslh_progin MiniCET.v
- Fig. 7 -->
ideal_eval_small_step_instin MiniCET_Index.v - Lemma 2 -->
ultimate_slh_bcc_initin MiniCET_Index.v - Definition 1 -->
seq_same_obsin MiniCET_Index.v - Definition 2 -->
spec_same_obsin MiniCET_Index.v observational equivalence in the ideal semantics-->ideal_same_obsin in MiniCET_Index.v- Lemma 3 -->
ideal_eval_relative_securein MiniCET_Index.v - Theorem 1 -->
spec_eval_relative_securein MiniCET_Index.v
- Fig. 8 -->
spec_eval_small_stepin MoreLinearProof.v - Lemma 4 -->
minicet_linear_bccin MoreLinearProof.v \approx^{mc}_{s}-->spec_same_obs_machinein MoreLinearProof.v- Lemma 5 -->
spec_eval_relative_secure_spec_mir_mcin MoreLinearProof.v - Theorem 2 -->
spec_eval_relative_secure_machinein MoreLinearProof.v
For property-based and mutation testing in the section <section>, run
make test SECTION=<section>There are two sections available for testing: testing_sync and testing_ETE.
To execute all tests, run
make testNote: Testing cleans build artifacts before running QuickChick.
Run make afterward to rebuild the proofs.