Programming Languages and Software Engineering
Programming Languages and Software Engineering
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
Leonidas Lampropoulos
Assistant ProfessorAdam Porter
ProfessorFraunhofer Executive Director
Hanan Samet
ProfessorDistinguished University Professor
Milijana Surbatovich
Assistant ProfessorRunzhou Tao
Assistant ProfessorDavid Van Horn
Associate ProfessorXiaodi Wu
Associate ProfessorVictor Basili
Professor EmeritusResearch Professor
Michael Hicks
Professor EmeritusDistinguished Scholar-Teacher