WASP (original) (raw)

This page is no longer actively updated as of March 2012. Please see the web page for the PLSE group for more recent information on programming-languages research at the University of Washington. We will keep this older WASP page for archival purposes and to avoid creating dead links.


The WASP Group in the Department of Computer Science & Engineeringat the University of Washington conducts groundbreaking research in the design, implementation, and theory of programming languages, compilers, programming tools, and programming environments.

Faculty

Publications (a hopefully-complete list in reverse chronological order as of 2011)

Projects and Collaborators

Many of our projects and members span multiple research groups. The boundaries are entirely fuzzy by design. For consistency, we host each current project on only one web page, so in addition to the projects below, also see (warning: links may become dead over time):

Software Engineering

(see also here)

Sampa

All the current Sampa projects relate to software quality and include WASP members in the collaboration

Nuage

Primarily a databases project where we collaborate on the Parallax tools

UW graduate students are encouraged to explore research areas that interest them; having "close research neighbors" creates many opportunities.

This list includes important projects pursued by us:

ArchJava

An extension to Java allowing the high-level architecture of an application to be expressed directly in the code, and checked automatically by the typechecker.

Atomic

Language design, implementation, and semantics for transactions in modern programming languages

Cecil

A purely OO language incorporating multiple dispatching, a classless object model, predicate objects, and a flexible static type system

Clamp

Module systems for systems code to encapsulate architectural assumptions

Cyclone

A safe C-level programming language with user-controlled checking and performance

Diamond, F(EML)

An extension to EML supporting flexible parameterized modules

Diesel

A next-generation object-oriented language combining modularity with extensibility

DyC andCalpa

Dynamic compilation for C

EML

An extension to ML that generalizes ML's datatype and function constructs to support OO-style extensibility while retaining modular typechecking and compilation

HydroJ

A language for distributed messaging using semistructured data

Lock Capabilities

Flexible type system for preventing deadlock in multi-threaded code

MemModel

Dealing with relaxed memory-consistency models for high-level programming languages and modern software development

MultiJava and RMJ

Java extensions supporting multiple dispatching and open classes while retaining modular typechecking and compilation

Object Ownership

Improved encapsulation for object-oriented languages

Rhodium and Cobalt

A framework for provably correct compiler optimizations

SCF

Automatically constructing staged compilers

Seminal

An approach to searching for good compiler error-messages in advanced languages

TE-ML

Transactional events for a mostly-functional language

Vortex

A multilingual optimizing compiler for OO languages

Webby

Better support for robust and secure client-side web applications (JavaScript), in collaboration with the RiSE group at Microsoft Research

Whirlwind

A multilingual optimizing compiler supporting OO languages, staged compilation, and provably correct optimizations

Courses

Group meeting

The WASP Group meeting, an informal venue for work-in-progress, meets weekly throughout the academic year.

CSE590P

A graduate seminar / reading-group on programming languages, has a different theme each quarter

CSE505

A graduate "quals" course on programming-language concepts, offered annually

CSE501

A graduate "quals" course on program analysis and compilers, offered roughly every other year

CSE401

An undergraduate compilers course, offered 2-3 quarters each year

CSE341

An undergraduate programming-languages course, offered 3 quarters each year

We also have advanced special-topics courses on a less regular schedule. Here are some past offerings:

Alumni

We are proud and honored to have many great and successful former group members. Here is a list of our Ph.D. graduates:

Additional Information for Group Members