Schedule for CSE 501: Implementation of Programming Languages
Autumn 2010
The class meets TuTh 12:00-1:20, in room CSE 403.
Read the listed paper before the given class meeting.
- Thu Sep 30
-
Introduction
Assignment (due Monday, Oct 4): Put project ideas on the wiki
- Tue Oct 5
-
- Thu Oct 7
-
Dataflow
Properties
of Data Flow Frameworks: a Unified Model, by T. J. Marlowe and B. G. Ryder, Acta Informatica, 28:121-163, 1990.
Project proposal due today (see the logistics
document)
- Tue Oct 12
-
"Abstract Interpretation: a semantics-based tool for program analysis", by
Neil Jones and Flemming Nielson. First two sections only.
PostScript.
By today, meet the instructor to have your project proposal approved
(see the logistics document)
- Thu Oct 14
-
No reading.
Revised project proposal due by Friday at 4pm.
- Tue Oct 19
-
No class (Mike at OOPSLA)
- Thu Oct 21
-
SSA:
Efficiently
computing static single assignment form and the control dependence
graph, by Ron Cytron et al., TOPLAS, 1991
- Tue Oct 26
-
Type inference:
Wikipedia on
lambda calculus
Principal type-schemes for functional programs,
by Luis Damas and Robin Milner, POPL 1982.
There is a typo in Algorithm W part (ii): on the second line, e2 and t2
should be e1 and t1. "e2" and "t2" are correct on third line.
Chapter 30 (book pages 273-283, which are pages 289-299 in the PDF) of Programming Languages:
Application and Interpretation by Shriram Krishnamurthi.
- Thu Oct 28
-
Type polymorphism
- Tue Nov 2
-
Comparing optimizations:
Wake Up
and Smell the Coffee: Evaluation Methodology for the 21st Century
by Blackburn et al., in CACM (2008).
Project related work and methodology due today (see the
logistics document)
- Thu Nov 4
-
Register allocation:
Register
allocation via graph coloring by Preston Briggs. Phd dissertation,
Rice University, April 1992,
Chapters 1, 2, 3, 5, 6, and 9.
Don't panic at the seemingly-daunting reading; the typeface and line
spacing are large, and the text is well-written.
- Tue Nov 9
-
No class (Mike at FSE)
- Thu Nov 11
-
No class (Mike at FSE)
- Tue Nov 16
-
No class (Mike at Workshop on Usable Verification)
- Thu Nov 18
-
Garbage collection: Uniprocessor garbage collection
techniques by Paul R. Wilson
- Tue Nov 23
-
No class. Snow day.
Project initial results due today (see the
logistics document)
- Thu Nov 25
-
No class (Thanksgiving).
- Tue Nov 30
-
Immix: a mark-region garbage collector with space efficiency, fast collection, and mutator performance by Stephen
M. Blackburn and Kathryn S. McKinley, in PLDI 2008.
- Thu Dec 2
-
Just-in-time compilation:
A brief
history of just-in-time by John Aycock, in ACM Computing Surveys, 2003.
A survey of adaptive optimization in virtual machines
by Matthew Arnold, Stephen Fink, David Grove, Michael Hind, and Peter
F. Sweeney. In Proceedings of the IEEE, 92(2), 2005.
- Tue Dec 7
-
Dynamically-typed languages:
An efficient
implementation of Self, a dynamically-typed object-oriented language
based on prototypes by Craig Chambers, David Ungar, and Elgin Lee.
In OOPSLA 1989.
- Thu Dec 9
-
Trace compilation:
Tracing for web 3.0: trace compilation for the next generation web applications
by Mason Chang,
Edwin Smith,
Rick Reitmaier,
Michael Bebenita,
Andreas Gal,
Christian Wimmer,
Brendan Eich, and
Michael Franz. In VEE 2009.
Optional: Trace-based just-in-time type specialization for dynamic languages
by Andreas Gal,
Brendan Eich,
Mike Shaver,
David Anderson,
David Mandelin,
Mohammad R. Haghighat,
Blake Kaplan,
Graydon Hoare,
Boris Zbarsky,
Jason Orendorff,
Jesse Ruderman,
Edwin W. Smith,
Rick Reitmaier,
Michael Bebenita,
Mason Chang, and
Michael Franz. In PLDI 2009.
Project final report due on December 10 at 4pm.
- Tue Dec 14
-
No class. Final version of presentation slides due at 4pm.
- Thu Dec 16 9:30-12:20, in room 403
-
final project presentations
CSE 501 homepage