I love thinking about programming, exploring ways to understand programs, developing new programming paradigms, and helping students program. I am an assistant professor in the Electrical Engineering and Computer Science department at Syracuse University. My research centers around using understanding from programming language theory to build next-generation secure systems using static and dynamic analysis at unprecedented scale. I am always looking for motivated undergraduate, masters, and doctoral students to work on research in programming languages and security (specifically in static analysis and binary reverse engineering). Please feel free to reach out!
My publications page chronologically details my research output. As of 2021, I am primarily focused on two main directions. The first is developing new platforms for binary reverse engineering. Through several recent empirical studies, we have strong reason to believe that the RE process would be substantially improved by allowing REs to interactively apply formal reasoning (in our case achieved via high-performance logical inference engines ala Datalog) to rapidly validate hypotheses about binaries. We are currently developing new RE techniques that allow users to interactively query state-of-the-art static analysis engines in an on-demand way. Second, I am involved in a collaboration to scale high-performance logical inference systems to supercomputers. We believe these systems will pave the way for the next generation of scale in static analysis technology.
Areas I work in
I co-direct the HARP (High-performance Automated Reasoning and Programming) research group with my collaborators Thomas Gilray and Sidharth Kumar at the University of Alabama at Birmingham. I am also involved in a number of other collaborations at Tufts, UWashington, Northeastern, and UMaryland.
Undergraduate / Graduate Research and Theses
I am particularly excited to collaborate with Syracuse students. As you can likely tell from this page, my research is generally in programming languages and security, but related areas may 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.
Graduate students or potential applicants should email me if they would like to discuss recent research. We also support a university-sponsored postdoc program towards which I would encourage applicants (particularly minority applicants) interested in post-docs in security or programming languages at SU.
- Spring 2021: CIS352—Principles of Programming Languages
- Fall 2020: CIS700—Formal Methods in Computer Security
- Spring 2020: CIS352—Principles of Programming Languages
- Fall 2019: CIS700—Program Analysis
- Spring 2019: CMSC245—Principles of Programming Languages
- Fall 2018: CMSC395—Mobile Apps for Social Change
- Fall 2018: CMSC107—Introduction to Computer Science and Data Structures
- Spring 2018: CMSC311—Computer Security
- Fall 2017: CMSC245—Principles of Programming Languages