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

Professor Emeritus
Adjunct Associate Professor
Assistant Professor

Recent News

David An and Michael Furr received the best student research paper, co-authored with Prof. Jeff Foster at OOSPLA'09 for their paper titled, "Profile-Guided Static Typing for Dynamic Scripting...
An ACM Team coached by Professor Amol Deshpande has been selected as one of the top 100 teams out of 7,000 from over 1800 universities in 88 countries that has earned the opportunity to advance to...