This repository contains the implementation of the
secure compiler for ModuleML described in the APLAS 2015 paper:A Secure Compiler for ML Modules
.
Set up the environment:
make setup
Compile the compiler:
make now
Compile and run the tests:
make test
- src/ : compiler source code
- lib/ : run-time environment for the compiled secure code
- tests/ : all compiler tests
- interoperation : implementations of the low-level contexts that test the output of the compiler
- timing : implementations of the low-level contexts used to obtain the experimental results
- log/ : stores logs of test runs
- out/ : stores the low-level objects and executables
compile
: a bash wrapper around the compiler
compile -s <file> # compile securely
compile -n <file> # comile naively
link
: a wrapper around the gcc linker to help combining modules and contexts
link <object> <file> [-DINSECURE]
test
: custom built testing mechanism