|
Cormac Flanagan
Software and
Languages Research Group |
| Students |
Kenneth Knowles |
| Caitlin Sadowski |
|
| Aaron Tomb |
|
| Jaeheon Yi |
| Teaching |
CMPS12A/L |
Introduction to Programming | S06
S08 |
| CMPS203 |
Programming Languages | F04 F05 F07 |
|
| CMPS280G |
Software Engineering Seminar | W04 F04 S06
S08 |
|
| CMPS290G |
Topics in Software Engineering |
W04 S05 |
|
| CMPS115 |
Software Engineering Methodology |
S04
W05
W06 |
|
| CMPS112 |
Comparative Programming Languages |
W07 |
|
| CMPS253 |
Advanced Programming Languages |
S07 |
| Research Projects |
Atomicity |
| Hybrid Type Checking |
|
| Extended
Static Checking for Java (POPL'01,
POPL'01.ppt,
PLDI'02,
POPL'02) |
|
| Static Race
Detectors (ESOP'99,
CONCUR'99,
PLDI'00,
PASTE'01,
SAS'04,
SAS’04.ppt) |
|
| Constraint
logic for program checkers (ESOP'03,
ESOP'03.ppt,
CP+CV'04,
CP+CV'04.ppt,
Science of
Computer Programming '04) |
|
| Calvin, a checker
for multithreaded Java programs (ESOP'02,
CAV'02,
CAV'02.ppt)
based on thread-modular
reasoning (SPIN'03,
SPIN'03.ppt)
and reduction (MC'03) |
|
| Houdini, an
annotation inference system for modular
static checkers (IPL'00, FME'01, FME'01.ppt) |
|
| MrSpidey, an interactive static checker for Scheme (PLDI'96, Thesis) used in DrScheme (JFP'01, PLILP'97) and based on Componential Set-Based Analysis (TOPLAS'99, PLDI'97) |
| Tutorials |
Lectures at the 2006 Summer School on Language-Based
Techniques for Concurrent and Distributed Software on Static and Dynamic
Analyses for Concurrency |
| PLDI 2005 tutorial on Atomicity for
Reliable Concurrent Software |