The goal of my research is to make it possible to build secure systems. I seek to identify principles and methods for defining security and for building systems that offer security assurance. I employ mathematical models, programming language theory, and logics. I build real systems and analyze their security. I'm specifically interested in the following areas:
- Security: Electronic voting, security policies, information flow, and cryptography.
- Programming languages: Semantics, logics, and language-based security; specification and verification of programs.
Publications and talks: Complete list of my publications.
- Civitas, a secure electronic voting system.
- PolyJ, improved generics for Java.
- Polyglot, an extensible compiler framework.
- Fall 2013: CSCI 6545 Software Security
- Spring 2013: CSCI 4223/6223 Principles of Programming Languages
- Fall 2012: CSCI 3907/6907.85 Software Systems Security
- Spring 2012: CSCI 3907/6907.81 Advanced Security Seminar
- Fall 2011: CSCI 4531/6531 Computer Security
- Spring 2011: CS 5431 Practicum in System Security
- FAQ for MS and CSIA students
- Florida Division of Elections, 2008: Member of team commissioned by FL DoE for security review of Scytl Remote Voting Software, which was used by about 900 overseas voters in the 2008 U.S. General Election. [Final report]
- Program Committees: FCS 2013 (Co-chair, Workshop on Foundations of Computer Security), CSF 2012 (Short talk chair, IEEE Computer Security Foundations Symposium), FAST 2011 (Workshop on Formal Aspects of Security and Trust), CSF 2011 (IEEE Computer Security Foundations Symposium), VOTE-ID'09 (International Conference on E-voting and Identity), WOTE'06 (Workshop on Trustworthy Elections)
- AFOSR YIP Award, 2012.
- Intel Foundation Fellowship, 2007.