[TYPES/announce] summer REU at CMU

Jonathan Aldrich jonathan.aldrich at cs.cmu.edu
Mon May 2 12:10:18 EDT 2011


I am looking for undergraduate students for a type systems-related 
Research Experience for Undergraduates (NSF REU) this summer at Carnegie 
Mellon University.  Due to NSF eligibility requirements, applicants must 
be a US citizen or permanent resident.  Two possible projects are listed 
below.  Interested students please send me their resume at 
jonathan.aldrich at cs.cmu.edu

Thanks,

Jonathan Aldrich


- - - - - -


DESIGN AND IMPLEMENTATION OF THE PLAID LANGUAGE AND ITS TYPE SYSTEM

Plaid is a new general-purpose programming language that has a type 
system based on affine logic, and leverages those types to build 
typestate and implicit concurrency into the language.  In Plaid, a state 
is like a class, with methods and fields, except that the state of an 
object can change over time.  This supports interesting new ways of 
designing programs, and creates new challenges for efficient 
implementation and for a practical type system that can statically track 
the changing state of objects.

We are looking for students to work on a compiler and typechecker for
the language, as well as involvement in the language design and the
type theory for students with the right background.  For more information:

http://www.plaid-lang.org/
http://www.cs.cmu.edu/~aldrich/reu/
jonathan.aldrich at cs.cmu.edu


IMPROVED ERROR MESSAGES IN THE FUSION PROTOCOL CHECKER

Our studies of industrial software frameworks has shown that the 
protocols to use them are extremely complex and easy for programmers to 
misuse. To prevent developers from misusing these protocols, we created 
the Fusion system. Fusion allows framework developers to specify the 
complex protocols to use the framework, using a type-based formalism, 
and an associated type-based static analysis runs at compile time to 
ensure that plugins meet these specifications.

This summer research project will seek to make the error messages of 
Fusion more understandable through visualizations and through 
task-directed error messages.  Questions to be investigated include how 
to describe the heap configuration in which an error occurs, and 
suggesting fixes for incorrect specifications or buggy code.  The 
project is a particularly good match for students who have experience 
with software frameworks, and are interested in a broad range of 
software engineering and type systems research.  For more information:

http://www.plaid-lang.org/
jonathan.aldrich at cs.cmu.edu


More information about the Types-announce mailing list