Quick Links
Current Members
- Michael Hicks
- David Van Horn
- Leonidas Lampropoulos
- Milijana Surbatovich
- Harry Goldstein
- Henry Blanchette
- Yi Cai
- Le Chang
- Pierce Darragh
- Justin Frank
- Nikhil Kamath
- Alperen Keles
- Ceren Mert
- Segev Elazar Mittelman
- Caspar Popova
- Deena Postol
- Jacob Prinz
- Benjamin Quiring
- Elan Semenova
- Finn Voichick
Alumni
- Ethan Bodzioney
- Ethan Cecchetti
- Rance Cleaveland
- Michael Coblenz
- David Darais
- Liam DeVoe
- Aaron Eline
- Jeff Foster
- Thomas Gilray
- Sankha Narayan Guria
- Kesha Hietala
- Milod Kazerounian
- Liyi Li
- Yiyun Liu
- Piotr (Peter) Mardziel
- Ben Mariano
- Cameron Moy
- ThanhVu(Vu) Nguyen
- James Parker
- Nick Petroni
- Khoo Yit Phang
- Polyvios Pratikakis
- Robert Rand
- Aseem Rastogi
- Karla Saur
- Saurabh Srivastava
- Nikhil Swamy
- Ian Sweet
- José Manuel Calderón Trilla
- Niki Vazou
- Mingwei Zhu
Current Members
Michael Hicks
2002 - Present
Mike is co-director of PLUM, having been faculty at UMD since 2002. His research explores the application of programming languages to a variety of domains, most notably software security, but also systems, quantum computing, cryptography, networks, and databases.
David Van Horn
2014 - Present
David is the co-director of PLUM, having been faculty at UMD since 2014. He works to make the construction of reusable, trusted software components possible and effective. His research has spanned program analysis; semantics; verification and model-checking; security; logic; complexity; and algorithms.
Leonidas Lampropoulos
2020 - Present
Leo is the co-director of PLUM, having been faculty since 2020. Leo was previously a Basili postdoctoral fellow at UMD from 2018 to 2020. His research uses programming language abstractions to make it easier to write, debug, and reason about software and their specifications, with a particular focus on random testing, formal verification, and their interplay.
Milijana Surbatovich
2024 - Present
Milijana Surbatovich has been on the faculty at UMD since 2024. Her research focuses on applying programming languages and formal methods techniques to design correct, reliable, and secure system stacks for non-traditional computing platforms. Broadly, she is interested in problems at the intersection of programming languages, computer architecture, and security.
Harry Goldstein
2024 - Present
Harry is a Victor Basili Postdoctoral Fellow working with Leo Lampropoulos. His research spans programming languages, software engineering, and human-computer interaction, and his current focus is on both theoretical and human aspects of property-based software testing.
Henry Blanchette
2020 - Present
Henry is a PhD student advised by David Van Horn. Interests: implementation and design of programming languages for formal verification, theoretical foundations, and practical software development.
Yi Cai
2024 - Present
Yi is a PhD student advised by Milijana Surbatovich. He is broadly interested in the theory and practice of programming languages, especially type theory and type systems, constructive logics, formal methods, and their application in various computing systems.
Le Chang
2021 - Present
Le is a PhD student. She is interested broadly in the design of programming languages and verification.
Pierce Darragh
2021 - Present
Pierce is a PhD student advised by David Van Horn. He is interested in the human-centered design of programming languages and development tools.
Justin Frank
2021 - Present
Justin is a PhD student advised by David Van Horn. He is interested in compilers, type systems, and optimizations.
Nikhil Kamath
2023 - Present
Nikhil is an undergraduate student advised by Leonidas Lampropoulos and Milijana Surbatovich. He’s broadly interested in ways to design and test compilers and type systems for domain-specific languages.
Alperen Keles
2021 - Present
Alperen is a PhD student advised by Leonidas Lampropoulos. He is interested in random testing, formal verification, and their connections to security.
Ceren Mert
2024 - Present
Ceren is an undergraduate student interested in random testing and formal verification, working with Leonidas Lampropoulos and Alperen Keles.
Segev Elazar Mittelman
2022 - Present
Segev is a PhD student advised by Leonidas Lampropoulos. He is interested in using property based testing to improve the experience of formally verifying software specifications.
Caspar Popova
2024 - Present
Bio: Caspar is a PhD student advised by David Van Horn & Leo Lampropoulos. He is interested in contracts, testing, gradual typing, and program synthesis.
Deena Postol
2020 - Present
Deena is a PhD student advised by David Van Horn. She is interested broadly in verification and type theory.
Jacob Prinz
2020 - Present
Jacob is a PhD student advised by Leonidas Lampropoulos. He is interested in the foundations of type theory, dependently typed metaprogramming, and applications of type theory to correct software development.
Benjamin Quiring
2021 - Present
Benjamin is a PhD student advised by David Van Horn. He is interested in compilers, static analysis, and program optimization.
Elan Semenova
2023 - Present
Elan is an undergraduate senior student advised by Leonidas Lampropoulos. They are interested broadly in type theory and formal verification.
Finn Voichick
2020 - Present
Finn is a PhD student interested in the design of quantum programming languages. He would like to make it easier to program quantum computers at a high level of abstraction through languages that take better advantage of uniquely quantum behavior.
Alumni
(This is not a complete list; more as we get time!)
Ethan Bodzioney
Ethan was an undergraduate advised by Leonidas Lampropoulos. He is now a PhD student at Toronto advised by Ningning Xie. He is interested in compilers, type systems, and mathematical logic.
Ethan Cecchetti
Ethan was the 2021 Maryland Cybersecurity Center postdoc. While at UMD, he worked with Mike Hicks, Leo Lampropoulos, and Ian Miers on using PL techniques to define and analyze the security of decentralized systems with mutually-distrusting modules. He is now an Assistant Professor of Computer Sciences at the University of Wisconsin - Madison.
Rance Cleaveland
Rance Cleaveland was on the faculty at UMD since 2005. His research focuses on formal methods for system verification and analysis in general, and more specifically on techniques for automatic and automated verification of systems using model checking, he also has interests in modeling and verification of cyber-physical systems.
Michael Coblenz
Michael was a Basili Postdoctoral Fellow, working with Mike Hicks and Adam Porter. His research focuses on developing the science of user-centered programming language design so that designers can better understand how to create programming languages that make developers more effective.
David Darais
David graduated with PhD from PLUM in 2016, working under the superivison of David Van Horn. After a couple of years as an assistant professor and core member of the Center for Computer Security and Privacy at the University of Vermont, he has been a Principal Scientist at Galois since 2020. His research intersects programming languages, data privacy and secure software, and his most recent work focuses on building usable programming languages for differential privacy and secure multiparty computation.
Liam DeVoe
Liam was an undergraduate student who worked with Leonidas Lampropoulos on property-based testing. He is now a PhD student at Northeastern, advised by Jon Bell. He is interested in program verification, open-source ecosystems, and testing of all kinds.
Aaron Eline
Aaron was a Masters student in computer science, interested in the intersections between programming languages and security. He is now an applied scientist at AWS.
Jeff Foster
Jeff was co-director of PLUM from 2003-2018. Since Fall 2018 he been a Professor at Tufts, and a member of TuPL. The goal of his research is to develop fundamental new ways to make it easier to build more reliable, secure software. He is interested in programming languages, software engineering, and security.
Thomas Gilray
Tom was a Basili Postdoctoral Fellow in PLUM from 2016-2018, working with David Van Horn and Jeff Foster. He is now a co-director of HARP lab (High-performance Automated Reasoning and Programming) at UAB. His research focuses on program analysis design and implementation, frequently drawing on techniques from PL, HPC, and symbolic AI.
Sankha Narayan Guria
Sankha was a PhD student advised by David Van Horn and Jeff Foster. He is interested in practical tools to aid the development of fast, reliable software. His focus was been on designing program synthesis tools for synthesizing programs from their tests guided by abstract interpretation.
Kesha Hietala
Kesha was a PhD student advised by Mike Hicks. She is interested broadly in program analysis and verification. Recently her focus has been on analyzing programs that run on quantum computers and verifying compilers for quantum circuits.
Milod Kazerounian
Milod earned his PhD in 2021, advised by Jeff Foster. His interests span types for dynamic languages, machine learning for program analysis, and teaching. He currently an Assistant Teaching Professor at Tufts University.
Liyi Li
Liyi was a Basili Postdoctoral Fellow, working with Mike Hicks and Xiaodi Wu. He is currently faculty at Iowa State. His research focuses on various topics, including analyzing programs that run on quantum computers and verifying compilers for quantum circuits, as well as formal verification and static analysis of compilers based on different memory models.
Yiyun Liu
Yiyun finished his MS advised by Mike Hicks in 2021, having worked closely with Niki Vazou and James Parker. He began as a PhD student at UPenn in Fall 2021. He is interested in verifying security properties of formal systems and implementing verification tools, including Liquid Haskell, most recently.
Piotr (Peter) Mardziel
Piotr graduated with his PhD from PLUM in 2015, working under the supervision of Mike Hicks. He worked as a postdoctoral researcher in the PLUM lab before joining Carnegie Mellon University as a systems scientist in the Accountable Systems Lab. He now works at Truera. His research interests include transparency and accountability in machine learning with applications to security, privacy, and fairness, and probabilistic programming and quantitative information flow.
Ben Mariano
Ben was a Master’s student from 2017-2019, advised by Jeff Foster. He is now a PhD student at UT Austin working with Isil Dillig. His research uses program synthesis and verification to make programs easier to write and safer to run.
Cameron Moy
Cameron was a Master’s student from 2018-2019, advised by David Van Horn. He is now a PhD student at Northeastern University. Currently, he is working on new kinds of software contracts for expressing rich program specifications.
ThanhVu(Vu) Nguyen
Vu was a PLUM postdoc from 2014-2016, working with Jeff Foster. Since then, he was an assistant professor at the University of Nebraska-Lincoln and is now at George Mason. His current research applies software engineering techniques to analyze configurable systems, declarative languages, and general programming (e.g., developing techniques for invariant generations and automatic program repair).
James Parker
James earned his PhD under the supervision of Mike Hicks, having worked closely with Niki Vazou. His work was on verifying information flow control mechanisms, guaranteeing correctness of distributed systems, and studying secure development practices. James is now a Software Research Engineer at Galois.
Nick Petroni
Nick graduated with his PhD in 2008, working under the co-supervision of Mike Hicks and Bill Arbaugh. He is now Chief Scientist at Volexity, Inc., a rapidly growing cybersecurity startup. Prior to joining Volexity, Nick was a research scientist at IDA/CCS, a DoD-funded FFRDC.
Khoo Yit Phang
Yit graduated with his PhD from PLUM in 2013, working under the co-supervision of Jeff Foster and Mike Hicks. He is now a Software Development Manager at The MathWorks, Inc. He currently leads the development team for Experiment Manager, a feature in the Deep Learning Toolbox that helps users create and manage experiments to train deep learning networks.
Polyvios Pratikakis
Polyvios graduated with his PhD from PLUM in 2008, under the co-supervision of Mike Hicks and Jeff Foster. He is an Assistant Professor at the University of Crete and Visiting Researcher at FORTH, and works on how to put the experimental hardware developed at FORTH to good use, i.e., on systems software, memory management, and language runtimes.
Robert Rand
Robert was a Basili postdoctoral fellow from 2018 to 2020.
Since 2020, he’s been an assistant professor at the University of Chicago.
He designs programming languages and formal verification tools for quantum computing.
Aseem Rastogi
Aseem graduated with his PhD in 2016, working with Mike Hicks. Since then he has been a Researcher at Microsoft Research India. His work spans the areas of language design, type systems, program verification, and software security. More specifically, he is interested in developing formal techniques for writing provably correct and secure software, especially in the context of F*, a language for program verification.
Karla Saur
Karla graduated with her PhD from PLUM in 2015, under the co-supervision of Mike Hicks and Jeff Foster. She is now a Senior Research Software Development Engineer at Microsoft (Azure Data - Gray Systems Labs). Karla enjoys working on large-scale distributed systems, focusing on challenges involving scalability and performance.
Saurabh Srivastava
Saurabh graduated with his PhD from PLUM in 2010, working with Sumit Gulwani (Microsoft Research), Jeff Foster, and Mike Hicks. He currently works on program synthesis in industry. After his PhD he did a postdoc at UC Berkeley. He then went on to found a computational synthetic biology company, and then another program synthesis company, Synthetic Minds, both of which were Y Combinator-backed and always looking for good talent!
Nikhil Swamy
Nik graduated with his PhD from PLUM in 2008, working under the supervision of Mike Hicks. He has since been a researcher at Microsoft Research in Redmond working on programming languages, functional programming, program proof and interactive theorem proving, often applying these techniques towards building provably correct and secure software.
Ian Sweet
Ian was a PhD student advised by Mike Hicks. He is broadly interested in the design and verification of secure programming languages. Recently, he has been working on the design and implementation of OblivML, a language for probabilistically oblivious programming.
José Manuel Calderón Trilla
Jose was a lecturer in CMSC from 2019 to 2024. Before joining UMD Jose worked as a Research Scientist at Galois, Inc. focusing on compilers and language design for privacy-preserving languages and technologies. At UMD Jose taught courses on compilers, language design, computer music, and systems. He is now the executive director of the Haskell Foundation.
Niki Vazou
Niki was Basili Postdoctoral Fellow in PLUM from 2016-2018, working with David Van Horn and Mike Hicks. She is now a research assistant professor at IMDEA software institute. Her research revolves around SMT-automated verification of functional programs using refinement type systems with, after her postdoc at UMD, applications in software security.
Mingwei Zhu
Mingwei is a graduate student interested in proof engineering, program analysis and types systems.