Todd Millstein
Associate Professor

UCLA Computer Science Department
4532K Boelter Hall
Los Angeles, CA 90095-1596
todd [at] cs.ucla.edu
(310) 825-5942

Spring 2013 Office Hours: Wed/Fri 11am-noon and by appointment

[ projects | publications | students | software | courses | professional activities | bio ]

Welcome! In my research and teaching I develop and apply programming language technology to improve the construction, maintenance, correctness, safety, and performance of software systems.


Current Research Projects

SC for (Almost) Free
  simplifying concurrent programming languages without sacrificing performance

Constraint-Based Program Repair
  automatically fixing bugs, both statically and dynamically

Network Protocol Analysis
  finding vulnerabilities in network protocols implementations

and a few other projects that don't have web pages yet!

Recent Publications

RERAN: Timing- and Touch-Sensitive Record and Replay for Android  (ICSE 2013)
       Lorenzo Gomez, Iulian Neamtiu, Tanzirul Azim, Todd Millstein

Dr. Android and Mr. Hide: Fine-grained Permissions in Android Applications  (SPSM 2012)
       Jinseong Jeon, Kristopher K. Micinski, Jeffrey A. Vaughan, Ari Fogel, Nikhilesh Reddy, Jeffrey S. Foster, Todd Millstein

Secure Information Flow for Concurrent Programs under Total Store Order  (CSF 2012)
       Jeffrey A. Vaughan, Todd Millstein

End-to-End Sequential Consistency  (ISCA 2012)
       Abhayendra Singh, Satish Narayanasamy, Daniel Marino, Todd Millstein, Madanlal Musuvathi
       IEEE Micro Top Pick

more publications...

Current Students

Ari Fogel
Lorenzo Gomez
Hesam Samimi

Graduated Students

Software

SC-LLVM: An SC-preserving C compiler
PBnJ: Executable Specifications for Online Failure Recovery
JavaCOP: Pluggable Types for Java
JPred: Expressive and Modular Predicate Dispatch
Expanders: Statically Scoped Object Adaptation
Polyglot for Java 5: Extensible Java Compiler

Recent Courses

I teach or have taught these courses:

CS131: Programming Languages
   an upper-division undergraduate course on programming language concepts and the relationships among different programming paradigms

CS132: Compiler Construction
   an upper-division undergraduate course in which students build a compiler from a subset of Java to MIPS assembly

CS231: Types and Programming Languages
   an introductory graduate course on programming language theory and static type systems

CS239: Current Topics in Programming Languages and Systems
   a graduate research seminar with varying topics
   in Winter 2013 the course was co-taught with Alan Kay, and students developed their own programming languages


Upcoming Professional Activities

External Review Committee Member, PLDI 2013
Program Committee Member, OOPSLA 2013
Program Committee Member, ICSE 2014

Brief Biography

I joined the UCLA faculty in January 2004. I received my Ph.D. from the University of Washington Department of Computer Science, where I was a member of the Cecil group led by Craig Chambers. Before that, I was an undergraduate at Brown University, where I was advised by Paris Kanellakis and Pascal Van Hentenryck. I grew up in suburban Maryland, outside of Washington D.C.

In my spare time, I am a (mainly jazz) guitarist.