William J. Bowman

Learn More
We develop a reversible programming language from elementary mathematical and categorical foundations. The core language is based on isomorphisms between finite types: it is complete for com-binational circuits and has an elegant semantics in dagger symmetric monoidal categories. The categorical semantics enables the definition of canonical and well-behaved(More)
The dependency core calculus (DCC) is a framework for studying a variety of dependency analyses (e.g., secure information flow). The key property provided by DCC is noninterference, which guarantees that a low-level observer (attacker) cannot distinguish high-level (protected) computations. The proof of noninterference for DCC suggests a connection to(More)
Contemporary compiler systems such as GCC, .NET, and LLVM incorporate profile-guided optimizations (PGOs) on low-level intermediate code and basic blocks, with impressive results over purely static heuristics. Recent work shows that profile information is also useful for performing source-to-source optimizations via meta-programming. For example, using(More)
We describe a method to perform high spatial resolution measurement of the position and density of inter-band impurity states in non-stoichiometric oxides using ultra-high energy resolution electron energy-loss spectroscopy (EELS). This can be employed to study optical and electronic properties of atomic and nanoscale defects in electrically-conducting and(More)
Ionic heterostructures are used as a strain-modulated memristive device based on the model system Gd0.1 Ce0.9 O2-δ /Er2 O3 to set and tune the property of "memristance." The modulation of interfacial strain and the interface count is used to engineer the Roff /Ron ratio and the persistence of the system. A model describing the variation of mixed(More)
  • 1