Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Barry Bond is active.

Publication


Featured researches published by Barry Bond.


european conference on computer systems | 2013

Composing OS extensions safely and efficiently with Bascule

Andrew Baumann; Dongyoon Lee; Pedro Fonseca; Lisa Glendenning; Jacob R. Lorch; Barry Bond; Reuben R. Olinsky; Galen C. Hunt

Library OS (LibOS) architectures implement the OS personality as a user-mode library, giving each application the flexibility to choose its LibOS. This approach is appealing for many reasons, not least the ability to extend or customise the LibOS. Recent work with Drawbridge [29] showed that an existing commodity OS (Windows 7) could be refactored to produce a LibOS while retaining application compatibility. This paper presents Bascule, an architecture for LibOS extensions based on Drawbridge. Rather than relying on the application developer to customise a LibOS, Bascule allows OS-independent extensions to be attached at runtime. Extensions interpose on a narrow binary interface of primitive OS abstractions, such as files and virtual memory. Thus, they are independent of both guest and host OS, and composable at runtime. Since an extension runs in the same process as an application and its LibOS, it is safe and efficient. Bascule demonstrates extension reuse across diverse guest LibOSes (Windows and Linux) and host OSes (Windows and Barrelfish). Current extensions include file system translation, checkpointing, and architecture adaptation.


field-programmable custom computing machines | 2010

FPGA Circuit Synthesis of Accelerator Data-Parallel Programs

Barry Bond; Kerry Hammil; Lubomir Litchev; Satnam Singh

This paper describes the techniques used to describe and synthesize FPGA circuits expressed in a data-parallel domain specific language (DSL) called Accelerator. We identify the subset of data-parallel descriptions that are supported by our system and explain how we track memory access patterns which allow us to generate efficient FPGA circuits.


2nd Summit on Advances in Programming Languages (SNAPL 2017) | 2017

Everest: Towards a Verified, Drop-in Replacement of HTTPS

Karthikeyan Bhargavan; Barry Bond; Antoine Delignat-Lavaud; Cédric Fournet; Chris Hawblitzel; Catalin Hritcu; Samin Ishtiaq; Markulf Kohlweiss; Rustan Leino; Jay Lorch; Kenji Maillard; Jianyang Pan; Bryan Parno; Jonathan Protzenko; Tahina Ramananandro; Ashay Rane; Aseem Rastogi; Nikhil Swamy; Laure Thompson; Peng Wang; Santiago Zanella-Béguelin; Jean-Karim Zinzindohoué

The HTTPS ecosystem is the foundation on which Internet security is built. At the heart of this ecosystem is the Transport Layer Security (TLS) protocol, which in turn uses the X.509 public-key infrastructure and numerous cryptographic constructions and algorithms. Unfortunately, this ecosystem is extremely brittle, with headline-grabbing attacks and emergency patches many times a year. We describe our ongoing efforts in Everest (The Everest VERified End-to-end Secure Transport) a project that aims to build and deploy a verified version of TLS and other components of HTTPS, replacing the current infrastructure with proven, secure software. Aiming both at full verification and usability, we conduct high-level code-based, game-playing proofs of security on cryptographic implementations that yield efficient, deployable code, at the level of C and assembly. Concretely, we use F*, a dependently typed language for programming, meta-programming, and proving at a high level, while relying on low-level DSLs embedded within F* for programming low-level components when necessary for performance and, sometimes, side-channel resistance. To compose the pieces, we compile all our code to source-like C and assembly, suitable for deployment and integration with existing code bases, as well as audit by independent security experts. Our main results so far include (1) the design of Low*, a subset of F* designed for C-like imperative programming but with high-level verification support, and KreMLin, a compiler that extracts Low* programs to C; (2) an implementation of the TLS-1.3 record layer in Low*, together with a proof of its concrete cryptographic security; (3) Vale, a new DSL for verified assembly language, and several optimized cryptographic primitives proven functionally correct and side-channel resistant. In an early deployment, all our verified software is integrated and deployed within libcurl, a widely used library of networking protocols.


Archive | 1997

Security enhancement for untrusted executable code

Barry Bond; Sudeep Bharati


Archive | 1997

Interface conversion modules based upon generalized templates for multiple platform computer systems

Barry Bond; Ori Gershony; David E. Hastings; Jonathan C. Lew; Alan M. Warwick


Archive | 2001

Program-interface converter for multiple-platform computer systems

Barry Bond; Ori Gershony; David E. Hastings; Jonathan C. Lew; Alan M. Warwick


Archive | 2001

Kernel emulator for non-native program modules

Barry Bond; Atm Shafiqul Khalid


Archive | 2012

Dynamic application migration

Galen C. Hunt; Reuben R. Olinsky; Adam Brady Anderson; Paul G. Mayfield; William Street; Russell Young; Barry Bond; Andrew Baumann


Archive | 2008

Hardware memory management unit simulation

Barry Bond


human computer interaction with mobile devices and services | 2010

User experiences with activity-based navigation on mobile devices

A. J. Bernheim Brush; Amy K. Karlson; James Scott; Raman K. Sarin; Andy Jacobs; Barry Bond; Oscar E. Murillo; Galen C. Hunt; Michael J. Sinclair; Kerry Hammil; Steven P. Levi

Collaboration


Dive into the Barry Bond's collaboration.

Researchain Logo
Decentralizing Knowledge