Staff

Mitch Wand
Joined Northeastern, 1985
Joined Indiana University, 1973
PhD, MIT, 1973
SB, MIT, 1969

Over the years, I have worked on a variety of problems associated with semantics of programming languages. Here is a selected list, in roughly reverse chronological order: probabilistic programming languages, binding-safe programming, aspect-oriented programming, analysis-based program transformation, compiler correctness proofs, continuations, macros.

Will Clinger

I focus on the design, specification, and implementation of functional and higher-order programming languages. My research interests stem from programming languages’ ability to connect mathematically sophisticated theories of syntax and semantics to economically important details of computer hardware and software. In recent years, I have designed algorithms for garbage collection for Larceny -- a vehicle for experimental research on compiler optimization and garbage collection. Larceny has become one of the leading multiplatform implementations of the Scheme programming language.

Matthias Felleisen
Matthias Felleisen
Trustee Professor
matthias@ccs.neu.edu
www.ccs.neu.edu/home/matthias
Joined Northeastern, 2001
Joined Rice, 1987
PhD, Indiana University, 1987
Diplom TH Karlsruhe, 1984
MS University of Arizona, 1981

I explore all aspects of program design and programming language design. My current research involves work on behavioral software contracts, gradual typing of scripting languages, language interoperability, language extensibility, and module systems. I also engage in educational outreach work. For the past 20 years, I have worked with middle schools, high schools, after-school programs, and college faculty on injecting design ideas into mathematics and computer science courses. Such educational interactions often inspire our research, and many research efforts end up improving my educational work.

Olin Shivers
Joined Northeastern, 2006
Joined Georgia Tech, 1999
Joined MIT, 1993
PhD, Carnegie Mellon University, 1991
BS, Yale University, 1983

My principal research interests include the construction of robust, complex software artifacts and the design of tools that assist programmers in this task; the interaction between systems and programming languages, primarily higher-order typed languages; the design and analysis of programming languages; and compilers. Before coming to Northeastern, I was a research scientist at MIT’s Artificial Intelligence Lab, a founder and CTO of the Smartleaf Corporation, and a faculty member at the Georgia Institute of Technology.

Amal Ahmed
Joined Northeastern, 2011
Joined Indiana University, 2009
Joined Toyota Technological Institute, 2006
PhD Princeton University, 2004
MS Stanford University 1995

I work on problems involving semantics of programming languages, including advanced type systems for programs that manipulate memory, correct and secure compilation, gradual typing, and language interoperability. My prior work has shown how to scale the logical relations proof method to realistic languages. This technique has been used in numerous contexts, e.g., to prove compiler correctness, to verify concurrent code, to establish guarantees provided by type systems for confidentiality or differential privacy. My present focus is on how to build verified compilers that ensure safe linking of code compiled from different programming languages.

Ryan Culpepper
Ryan Culpepper
Post-doctoral researcher
ryanc@ccs.neu.edu
http://www.ccs.neu.edu/home/ryanc/
Joined Northeastern, 2013
PhD, Northeastern University, 2010

Born in Houston, TX, left, went back to go to Rice University. Interested in PL and compilers. I read during the summer and play table tennis during the winter. I'm still looking for someone up here who has heard of disc golf.

Stephen Chang
Stephen Chang
Post-doctoral researcher
stchang@ccs.neu.edu
www.ccs.neu.edu/home/stchang
Joined Northeastern, 2014
PhD, Northeastern University, 2014
MS, Harvard University, 2008
BSE, Princeton University, 2001

I'm interested in the design of practical programming languages.

Ben Lerner
Joined Northeastern, 2014
PhD, University of Washington, 2011

I have worked on problems in web programming semantics, including designing and analyzing extensibility mechanisms for browsers, studying the interactions between extensions and each other or with intended browser behavior. With colleagues at Brown, I have been helping to design and implement a language that focuses on the linguistic support needed for introductory-level pedagogy.

Jan Vitek
Jan Vitek
Professor
j.vitek@neu.edu
http://janvitek.org
Joined Northeastern, 2014
Joined Purdue, 1999
PhD, University of Geneva, 1999
MSc, University of Victoria, 1995

I work on the design and implementation of programming languages. I led the implementation of the first real-time Java virtual machine to be flight-tested. With Noble and Potter, I proposed what became known as Ownership Types. I tried to understand JavaScript by dynamic analysis and am now looking at supporting scalable data analysis in R.

Paley Li
Paley Li
Post-doctoral researcher
pa.li@neu.edu
https://palez.github.io
Joined Northeastern, 2015
PhD, Victoria University of Wellington, 2015

My research interests is in programming languages, specifically type theory, ownership types, and local reasoning for memory management. Most recently, I have been working on formalising object cloning for ownership types.

Gabriel Scherer
Joined Northeastern, 2016

I'm interested in theoretical aspects of type systems, programming language implementation, general programming language concepts, and even some syntactic aspects. I have a preference for the formalizable aspects, or formalizable approaches to programming language aspects, rather than the often subjective appeal to taste or intuition.

Students

Paul Stansifer
Paul Stansifer
Advisor: Mitch Wand
pauls@ccs.neu.edu
www.ccs.neu.edu/~pauls
Joined 2009

I am working with Mitch on macros that can extend the underlying syntax of their language. I like cookies. And burritos.

Tony Garnock-Jones
Tony Garnock-Jones
Advisor: Matthias Felleisen
tonyg@ccs.neu.edu
www.ccs.neu.edu/home/tonyg
Joined 2010

I’m working on constructing programming languages that incorporate ideas from networking and from messaging middleware.

Asumu Takikawa
Asumu Takikawa
Advisor: Matthias Felleisen
asumu@ccs.neu.edu
www.ccs.neu.edu/home/asumu
Joined 2010

Racket developer, Oregonian, and PhD student at Northeastern University. Works on Typed Racket.

Jonathan Schuster
Jonathan Schuster
Advisor: Olin Shivers and Matthias Felleisen
schuster@ccs.neu.edu
www.ccs.neu.edu/home/schuster
Joined 2011

Having come from a development background, my research interests lie in making software development easier by improving programming languages and the ecosystems surrounding them. Currently, my research focuses on verifying actor-based programs (such as those written in Erlang or the Akka framework) against behavioral specifications expressed as simple name-passing automata.

Justin Slepak
Justin Slepak
Advisor: Olin Shivers
jrslepak@ccs.neu.edu
www.ccs.neu.edu/home/jrslepak
Joined 2011

I came to Northeastern after spending several years studying in Upper Michigan. My current work focuses on array-oriented languages as an expressive way to write data-parallel numeric processing code.

William J. Bowman
William J. Bowman
Advisor: Amal Ahmed
wilbowma@ccs.neu.edu
www.williamjbowman.com
Joined 2012

I want to make programs easier to design, read, and write. I currently work on verifying compilers for advanced languages, and sometimes dabble in meta-programming.

Leif Andersen
Leif Andersen
Advisor: Matthias Felleisen
leif@ccs.neu.edu
leif.pl
Joined 2014

Objects in the Rear View Mirror May Appear Closer than They Are.

Andrew Cobb
Andrew Cobb
Advisor: Olin Shivers
andrew.cobb@gmail.com
Joined 2014

Ben Greenman
Ben Greenman
Advisor: Matthias Felleisen
types@ccs.neu.edu
www.ccs.neu.edu/home/types
Joined 2014

I like constructions. My current goal is to lower the huge run-time cost of gradual typing. I believe that safely mixing languages is the way of the future.

Max New
Max New
Advisor: Amal Ahmed
maxnew@ccs.neu.edu
maxsnew.github.io
Joined 2014

I like reasonable programming languages.

Sam Caldwell
Sam Caldwell
Advisor: Matthias Felleisen
samc@ccs.neu.edu
www.ccs.neu.edu/home/samc
Joined 2015

I came to Northeastern from Austin, Texas, where I did my undergrad and spent several years working in embedded software. I’m interested in using ideas and tools from programming languages to make the world a better place for everyone that uses computers.

Benjamin Chung
Benjamin Chung
Advisor: Jan Vitek
bchung@ccs.neu.edu
benchung.github.io
Joined 2015

I usually work on types, currently focusing on gradual type systems.

Olivier Flückiger
Olivier Flückiger
Advisor: Jan Vitek
o@o1o.ch
www.o1o.ch/about
Joined 2015

My passion lies in language implementation – creating the tools and techniques required to get from powerful abstractions to efficient execution.

Daniel Patterson
Daniel Patterson
Advisor: Amal Ahmed
dbp@ccs.neu.edu
dbp.io
Joined 2016

I'm interested in language and type system interoperability - in particular, languages with very different type systems interacting easily and safely.

PRL Alumni and Former Members

Former Associates (Research Scientists, Post-Docs)