- David Darais
- Jeff Foster
- Thomas Gilray
- 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
- Niki Vazou
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
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.
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.
Sankha Narayan Guria
Sankha is 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. Recently his focus has been on designing program synthesis tools for synthesizing programs from their tests.
Kesha is 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 is a PhD candidate advised by Jeff Foster. His interests span types for dynamic languages, machine learning for program analysis, and teaching. He currently lives in the Boston area.
Yiyun is a Master’s student advised by Mike Hicks, and working closely with Niki Vazou. He is interested in verifying security properties of formal systems and implementing verification tools. Recently his focus has been on adding typeclass refinements to Liquid Haskell.
Deena is a PhD student advised by David Van Horn. She is interested broadly in verification and type theory.
(This is not a complete list; more as we get time!)
David graduated with PhD from PLUM in 2016, working under the superivison of David Van Horn. He is now an assistant professor and core member of the Center for Computer Security and Privacy at the University of Vermont. 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.
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.
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.
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 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.
Vu was a PLUM postdoc from 2014-2016, working with Jeff Foster. Since then, he has been an assistant professor at the University of Nebraska-Lincoln. 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 earned his PhD student in 2020, advised by Mike Hicks, and working 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 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 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 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 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 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 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!
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.
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.