  (CROPPED TO FIT IN ARXIV'S SILLY LIMIT. SEE PDF FOR COMPLETE ABSTRACT.)
  We are the first to thoroughly explore a large space of formal secure
compilation criteria based on robust property preservation, i.e., the
preservation of properties satisfied against arbitrary adversarial contexts. We
study robustly preserving various classes of trace properties such as safety,
of hyperproperties such as noninterference, and of relational hyperproperties
such as trace equivalence. This leads to many new secure compilation criteria,
some of which are easier to practically achieve and prove than full
abstraction, and some of which provide strictly stronger security guarantees.
For each of the studied criteria we propose an equivalent "property-free"
characterization that clarifies which proof techniques apply. For relational
properties and hyperproperties, which relate the behaviors of multiple
programs, our formal definitions of the property classes themselves are novel.
We order our criteria by their relative strength and show several collapses and
separation results. Finally, we adapt existing proof techniques to show that
even the strongest of our secure compilation criteria, the robust preservation
of all relational hyperproperties, is achievable for a simple translation from
a statically typed to a dynamically typed language.
