The Lab for Programming Languages at 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 formal verification, type systems, gradual typing and contracts, quantum programming languages, property-based testing, functional programming, program synthesis, static analysis, information flow control, privacy-preserving computation, and high-availability systems.
Two papers co-authored by PLUM members will appear at OOPSLA 2020: Verifying Replicated Data Types with Typeclass Refinements in Liquid Haskell by Yiyun Liu, James Parker, Patrick Redmond (UCSC), Lindsey Kuper (UCSC), Michael Hicks, and Niki Vazou; and An Empirical Study of Ownership, Typestate, and Assets in the Obsidian Smart Contract Language by Michael Coblenz, Joshua Sunshine, Jonathan Aldrich, and Brad A. Myers.
The SIGPLAN PL Perspectives blog featured an article by David Van Horn giving some advice for graduate students on the faculty job market during the COVID pandemic: Letter to a young scientist: Searching for faculty jobs in turbulent times.
The paper Understanding security mistakes developers make: Qualitative analysis from Build It, Break It, Fix It by Dan Votipka, Kelsey Fulton, James Parker, Matthew Hou, Michelle Mazurek, and Mike Hicks has been named a Distinguished Paper of the USENIX Security 2020 conference.
James Parker successfully defended his PhD. His dissertation is entitled, Advanced Language-based Techniques for Correct, Secure Networked Systems