| professional activities
Simple and Efficient Concurrency
Mainstream programming languages like C++ and Java provide an
incredibly complex and error-prone semantics for threads in the name
of efficiency. Can we instead provide the simple interleaving
semantics of threads (known formally as sequential consistency
at a reasonable cost? Start here
the high-level problem and motivation. In recent work we created a sequentially
consistent Java virtual machine
and measured its performance.
Network Programming and Verification
Computer networks have become critical infrastructure for all Internet-based services, and as a result the requirements on and complexity of networks have rapidly increased. Can programming languages technology help to manage this complexity? We are working on both verification
of existing networks and new languages
to design networks that are correct by construction.
Sound Abstraction and Decomposition of Probabilistic Programs (ICML 2018)
Steven Holtzen, Guy Van den Broeck, Todd Millstein
A Volatile-by-Default JVM for Server Applications (OOPSLA 2017)
Lun Liu, Todd Millstein, Madanlal Musuvathi
Probabilistic Program Abstractions (UAI 2017)
Steven Holtzen, Todd Millstein, Guy Van den Broeck
(co-advised with Guy Van den
Siva Kesava (co-advised
with George Varghese)
Alan Tang (co-advised
with George Varghese)
I regularly teach these courses:
CS30: Principles and Practices of Computing
an introduction to computing for computer-science majors with no prior
CS131: Programming Languages
an upper-division undergraduate course on
programming language concepts and the
relationships among different programming paradigms
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
Program Committee Member, OOPSLA 2018
I joined the UCLA faculty in January 2004.
I am also a co-founder and Chief Scientist of Intentionet.
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
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.
I received an NSF CAREER award in 2006, an IBM Faculty Award in 2008, the
Most Influential PLDI
Paper Award in 2011, an IEEE Micro Top Picks selection in 2012,
Grumman Excellence in Teaching Award from UCLA Engineering in
Research Outstanding Collaborator Award in 2016, and
Foundation Research Grant in 2016.
It turns out computer science at UCLA
goes way back. Here's a
fun short video about UCLA's
differential analyzer from 1948.
In my spare time, I am a (mainly jazz) guitarist. One of my groups
made a recording a while back.