I love thinking about programming, exploring ways to understand programs, developing new paradigms for writing programs, and helping students understand programs. I am an assistant professor in the Electrical Engineering and Computer Science department at Syracuse University. I am always looking for motivated undergraduate, masters, and doctoral students to work on research in programming languages (specifically static analysis) and security. Feel free to email me!
My current goal is to help enable the next generation of scalable logical and deductive frameworks that power static analyses, type systems, and binary reverse engineering tools. We achieve this via a combination of algorithmic innovations (including a semantic extension of datalog to support hash-distributed structured data) and fundamentally-new infrastructure at the systems level (HPDC ‘22, Cluster ‘23, and USENIX ATC ‘23). My recent interests have focused on high-performance implementations of declarative languages to achieve these goals, specifically Datalog, where I have supervised the construction of state-of-the-art engines in both single-node (CC ‘22, OOPSLA ‘23) and massively-parallel (CC ‘21) backends. As concrete examples, our recent efforts have (a) scaled the performance of control-flow analyses by orders-of-magnitude (seconds in our system versus hours in Soufflé, a best-in-class Datalog engine), (b) built all Windows C++ binaries on GitHub to train malware classification tools (see Assemblage), and (c) compiled lattice-oriented Datalog programs to achieve a 50x runtime gain (vs. Flix) using a macro-based approach in Rust.
My Google Scholar profile tracks my most up-to-date submissions.
Areas I work in
- NSF PPoSS Large: A Full-stack Approach to Declarative Analytics at Scale. National Science Foundation. Total: $1,000,037 (5 years)
- NSF PPoSS Planning: A Full-stack Approach to Declarative Analytics at Scale. National Science Foundation. Total: $83,761 (1 year)
- DARPA V-SPELLS: Verified Security and Performance Enhancement of Large Legacy Software. Defense Advance Research Projects Agency. Total: $400,000 (4 years)
- Assemblage: Scaling Malware Analysis Pipelines. US Department of Defense. Total: $350,000 (3 years)
Undergraduate Research and Theses
Note that I am particularly excited to collaborate with Syracuse students. As you can likely tell from this page, my research is generally in programming languages, but related areas (especially computer security) also appeal to me. If you would like to pursue undergraduate research, please drop me a line so we can discuss!
You should also read my thoughts on goals and expectations for undergraduate research.
I teach CIS352, the undergraduate programming languages at Syracuse, every Fall and Spring. The course lectures from Spring 2022’s iteration are available for free on YouTube.
Each fall I also teach a special topics seminar (CIS700 at Syracuse). During Fall 2023, I’m teaching a course on formal methods and modern symbolic AI.