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 goal is to keep users secure as they use modern systems. This is a challenging problem. Writing secure code is hard. Checking untrusted code is even harder. Developers are not always incentivized towards security. In some cases it is not always clear what security even means.
For example, consider an app that shows users nearby coffee shops frequented by their friends. Such an app may leak or store the user’s location (e.g., to an ad provider) in a way they do not intend. Sometimes, the developer is not even aware they are violating the user’s privacy (for example, if the developer uses an ad library and they are unaware it collects location data). Even if the developer is aware of how location is being collected, users may not assume that it is being stored permanently. You can look at some of my recent publications to get an idea of the projects I’m currently working on to help solve these problems.
To help achieve this goal, I use techniques from the following areas:
Areas I work in
I am lucky to have a great set of collaborators, many from the PLUM lab at the University of Maryland, but also at the University of Alabama, Vermont, and Tufts. You can find a list of my publications here (and also on my Google Scholar profile).
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.
- Spring 2020: CIS352: Programming Languages–Theory and Practice
- 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