Principal Investigators
Matthias Felleisen
http://felleisen.org/matthias/
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.
Jan Vitek
http://janvitek.org
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.
Jeff Foster
https://www.cs.tufts.edu/~jfoster/
Joined University of Maryland, College Park, 2002
Ph.D, University of California, Berkeley, 2002
I am a Professor in the Department of Computer Science at Tufts University. The goal of my research is to develop fundamental new ways to make it easier to build more reliable, secure software. I am interested in programming languages, software engineering, and security. I am a member of TuPL. Previously, I was a Professor in the Department of Computer Science and UMIACS at the University of Maryland, College Park, as well as a member of PLUM.
Shriram Krishnamurthi
https://cs.brown.edu/~sk/
Though my head is often in security, networking, verification, and HCI, my heart is in programming languages. Over the years I have contributed to several innovative and useful software systems: JavaScript and Web tools, Racket (formerly DrScheme), WeScheme, Margrave, Flapjax, FrTime, Continue, FASTLINK, and more.
Jeremy Siek
http://wphomes.soic.indiana.edu/jsiek/
Joined University of Colorado, Boulder, 2006
Ph.D, Indiana University, 2005
Associate Professor of Computer Science in the School of Informatics and Computing at Indiana University. Jeremy teaches courses in programming, programming languages, compilers, logic, and other areas of computer science. Jeremy designs new language features to help programmers create and use software libraries and domain-specific languages, especially generic and high-performance ones. In particular, Jeremy invented the gradual typing approach to mixing static and dynamic type checking within the same language. Prior to that, Jeremy authored the Boost Graph Library and attempted to add concepts to C++. Jeremy is a member of the Programming Languages Group at IU and the Center for Research in Extreme Scale Technologies.
Sam Tobin-Hochstadt
http://homes.soic.indiana.edu/samth
My research focuses on the design and implementation of programming systems. I'm particularly interested in programming languages that support the evolution of software. I primarily work on Racket and Typed Racket as well as with Mozilla Research on JavaScript.