Programming Languages

Photo describing Programming Languages

Programming languages are our means of expressing computations. Thus, programming languages are a powerful locus of research toward building high-quality software, i.e., software that is flexible, secure, reliable, available, efficient, reusable, and more. We can design new languages, or we can build tools that analyze programs in existing languages, toward maximizing quality.

The Lab for Programming Languages and the University of Maryland (PLUM) is engaged in exciting research that aims to improve software quality through new languages and software tools. Our work involves formalism and proof (e.g., to show that a particular analysis establishes a certain property of the programs it considers) as well as implementation and evaluation (e.g., to show that our ideas work on real software at reasonable cost). Current interests focus on cloud computing, mobile computing, high-availability systems, static analysis, functional programming, debugging, and privacy-preseving computation.

Associated Faculty

Photo of Jeffrey Foster
Photo of Michael Hicks
Photo of William Pugh
Professor Emeritus
Photo of Elaine  Shi
Adjunct Associate Professor
Photo of David Van Horn
Assistant Professor
Photo of Xiaodi Wu
Assistant Professor