Caspar Popova

Logo

About me

I am a Ph.D. student in the Lab for Programming Languages at the University of Maryland (PLUM) advised by David Van Horn and Leo Lampropoulas (started fall 2024).

My research is focus primarily compilers and testing. I am also broadly interested in program synthesis and Racket-y things like contracts. I am currently working on:

  1. Does Rust compile volatile correctly? Testing that rustc compiles volatile code for embedded devices correctly by combining binary instrumentation testing with random program generation. This work started as an intern project at Sandia National Laboratories with John Bender.
  2. Compiler testing with sized types: Testing recursion optimization in compilers by developing a program generator of terminating recursive programs using sized types.

The best way to reach me outside UMD is by email (I don’t check socials). You can find more of my work on my C.V.

More information

I am grateful to be supported by the NSF (CSGrad4US award #2313998): I am a 2023 NSF CSGrad4US Fellow. I encourage any undergraduate or master’s students who are planning to do a Ph.D. after an industry break to apply to this fellowship & mentorship program (unfortunately this program is no longer accepting new fellows to NSF funding cuts, but I hope one day it will return).

Previously, I was advised by Christos Dimoulas at Northwestern University as an undergraduate. I worked on the higher order (HO) benchmarks project with Lukas Lazarek. I also contributed to the MemOIR project in the Arcana compilers group.

Between UMD and NWU, I spent 2 years in industry at Epic with Healthy Planet (population health) Analytics.

Have we met before? I’d love to hear from you! I was at:

Last updated: 10/3/2026