• Corpus ID: 208115397

Aquarium: Cassiopea and Alewife Languages.

  title={Aquarium: Cassiopea and Alewife Languages.},
  author={David A. Holland and Jingmei Hu and Ming Kawaguchi and Eric Lu and Stephen Chong and Margo I. Seltzer},
  journal={arXiv: Programming Languages},
This technical report describes two of the domain-specific languages used in the Aquarium kernel code synthesis project. It presents the language cores in terms of abstract syntax. Cassiopea is a machine description language for describing the semantics of processor instruction sets. Alewife is a specification language that can be used to write machine-independent specifications for assembly-level instruction blocks. An Alewife specification can be used to verify and synthesize code for any… 
Assuage: Assembly Synthesis Using A Guided Exploration
Assuage is a parallel interactive assembly synthesizer that engages the user as an active collaborator, enabling synthesis to scale beyond current limits, and exposes information about the underlying synthesis process using multiple representations to help users guide synthesis.
Trials and Tribulations in Synthesizing Operating Systems
This work set out to synthesize the needed machine dependent code for an existing operating system, and found the undertaking far more challenging than it anticipated.


Data abstraction and information hiding
An approach for verifying programs in the presence of data abstraction and information hiding, which are key features of modern programming languages with objects and modules, is described and a new technical definition of modular soundness is presented as a monotonicity property of verifiability with respect to scope.