UW Cecil Group : Past Publications

NOTE: Current publications are described on the WASP Group's web pages. Below are publications related to past research, published in 2004 or earlier.

Click on a paper to go to that paper's page, containing an abstract and a link to the postscript file.

Hint for A4 users: most papers are formatted for "US letter" paper. If your printer refuses to print a document, try this. Also, here's some help for doing the reverse transformation, from A4 to US format. More hints.

Language Design Research

Software architecture

Ownership Domains: Separating Aliasing Policy from Mechanism (ECOOP '04)
Jonathan Aldrich and Craig Chambers
Using Types to Enforce Architectural Structure (Ph.D. dissertation, '03)
Jonathan Aldrich
Language Support for Connector Abstractions (ECOOP '03)
Jonathan Aldrich, Vibha Sazawal, David Notkin, and Craig Chambers
Alias Annotations for Program Understanding (OOPSLA '02)
Jonathan Aldrich, Valentin Kostadinov, and Craig Chambers
Architectural Reasoning in ArchJava (ECOOP '02)
Jonathan Aldrich, Craig Chambers, and David Notkin
ArchJava: Connecting Software Architecture to Implementation (ICSE '02)
Jonathan Aldrich, Craig Chambers, and David Notkin

Modular extensibility

Reconciling Software Extensibility with Modular Program Reasoning (Ph.D. dissertation, '03)
Todd Millstein
Relaxed MultiJava: Balancing Extensibility and Modular Typechecking (OOPSLA '03)
Todd Millstein, Mark Reay, and Craig Chambers
Modular Typechecking for Hierarchically Extensible Datatypes and Functions (ICFP '02)
Todd Millstein, Colin Bleckner, and Craig Chambers
MultiJava: Modular Open Classes and Symmetric Multiple Dispatch for Java (OOPSLA '00)
Curtis Clifton, Gary T. Leavens, Craig Chambers, and Todd Millstein
Modular Statically Typed Multimethods (I&C, ECOOP '99)
Todd Millstein and Craig Chambers
Typechecking and Modules for Multi-Methods (OOPSLA '94 and TOPLAS '95)
Craig Chambers and Gary Leavens

Evolvable software

HydroJ: Object-Oriented Pattern Matching for Evolvable Distributed Systems (OOPSLA '03)
Keunwoo Lee, Anthony LaMarca, and Craig Chambers


Constraint-Bounded Polymorphism: an Expressive and Practical Type System for Object-Oriented Languages (Ph.D. Dissertation, '03)
Vassily Litvinov
Constraint-Based Polymorphism in Cecil: Towards a Practical and Static Type System (OOPSLA '98)
Vassily Litvinov
BeCecil, a Core Object-Oriented Language with Block Structure and Multimethods: Semantics and Typing (FOOL '97)
Craig Chambers and Gary Leavens
The Cecil Language: Specification and Rationale (Technical report)
Craig Chambers and the Cecil Group
Object-Oriented Multi-Methods in Cecil (ECOOP '92)
Craig Chambers

Generalized dispatching (predicate dispatching)

Predicate Dispatching: A Unified Theory of Dispatch (ECOOP '98)
Michael Ernst, Craig Kaplan, and Craig Chambers
Predicate Classes (ECOOP '93)
Craig Chambers

Language Implementation Research

Compiler construction

Automatic Staged Compilation (Ph.D. dissertation, '05)
Matthai Philipose
Automatically Proving the Correctness of Compiler Optimizations (PLDI '03)
Sorin Lerner, Todd Millstein, and Craig Chambers
Composing Dataflow Analyses and Transformations (POPL '02)
Sorin Lerner, David Grove, and Craig Chambers
Towards Automatic Construction of Staged Compilers (POPL '02)
Matthai Philipose, Craig Chambers, Susan Eggers
Frameworks for Intra- and Interprocedural Dataflow Analysis (Technical report, '96)
Craig Chambers, Jeffrey Dean, and David Grove
A Framework for Selective Recompilation in the Presence of Complex Intermodule Dependencies (ICSE '95)
Craig Chambers, Jeffrey Dean, and David Grove

Analysis and optimization

Comprehensive Synchronization Elimination for Java (Science of Computer Programming '03)
Jonathan Aldrich, Emin Gun Sirer, Craig Chambers, and Susan Eggers
Efficient Multiple and Predicate Dispatching (OOPSLA '99)
Craig Chambers and Weimin Chen
Static Analyses for Eliminating Unnecessary Synchronization from Java Programs (SAS '99)
Jonathan Aldrich, Craig Chambers, Emin Gun Sirer, and Susan Eggers
Effective Interprocedural Optimization of Object-Oriented Languages (Ph.D. Thesis, '98)
David Grove
Fast Interprocedural Class Analysis (POPL '98)
Greg DeFouw, David Grove, and Craig Chambers
Call Graph Construction in Object-Oriented Languages (OOPSLA '97)
David Grove, Greg DeFouw, Jeffrey Dean, and Craig Chambers
Vortex: An Optimizing Compiler for Object-Oriented Languages (OOPSLA '96)
Jeffrey Dean, Greg DeFouw, David Grove, Vassily Litvinov, and Craig Chambers
Whole-Program Optimization of Object-Oriented Languages (Ph.D. Thesis, '96)
Jeffrey Dean
Whole-Program Optimization of Object-Oriented Languages (Technical report, '96)
Craig Chambers, Jeffrey Dean, and David Grove
The Impact of Interprocedural Class Analysis on Optimization (CASCON '95)
David Grove
Profile-Guided Receiver Class Prediction (OOPSLA '95)
David Grove, Jeffrey Dean, Charles Garrett, and Craig Chambers
Optimization of Object-Oriented Programs Using Static Class Hierarchy Analysis (ECOOP '95)
Jeffrey Dean, David Grove, and Craig Chambers
Selective Specialization for Object-Oriented Languages (PLDI '95)
Jeffrey Dean, Craig Chambers, and David Grove
Towards Better Inlining Decisions Using Inlining Trials (L&FP '94)
Jeffrey Dean and Craig Chambers

Combinations of Language Design and Implementation Research

Synergies Between Object-Oriented Programming Language Design and Implementation Research (ISOTAS '96)
Craig Chambers
Expressive, Efficient Instance Variables ('96)
Jeffrey Dean, David Grove, Craig Chambers, and Vassily Litvinov

Papers from Earlier and Related Projects

Self project papers
The Design and Implementation of the Self Compiler, an Optimizing Compiler for Object-Oriented Programming Languages (Stanford Ph.D. Thesis, '92)
Craig Chambers