Abstract

 

Andrew Myers: Programming Models for the Next Generation

 

Abstract

 

Existing programming environments (i.e., languages, libraries, and

operating systems) do not adequately support the complex applications

that programmers want to build. The programmer is confronted with an

every-growing collection of leaky, fragile abstractions that don't

provide what is wanted. Development cost is too high and applications

are not trustworthy.

 

My group is working on four ongoing projects that tackle different

aspects of this larger problem:

 

 * Swift: a uniform programming framework for secure web applications.

   Web application computation and data are automatically split among the

   tiers. For example, part of the web application can be run on the

   client browser as Javascript. The trick is to do this without

   compromising security.

 

 * Diaspora: a distributed platform for secure, reliable, consistent

   sharing of information and computation. This system will allow easy

   cooperation between mutually distrusting parties.

 

 * J&: a language that supports scalable, modular extensibility.

   Extensible systems written in J& can be composed even when they

   overlap.  For example, composing two compilers combines supported

   language features.

 

 * CIVS: the first secure Internet voting service. We are designing

   cryptographic protocols and using information flow to obtain

   assurance that system components are secure.