His research interests focus on computer security and automatic compiler transformations that can be used to enforce security policies on commodity software. Prior to joining the University of Rochester, John was a research programmer and Ph.D. student in the Department of Computer Science at the University of Illinois at Urbana-Champaign. John’s primary research work is on the Secure Virtual Architecture (SVA). SVA enforces security policies on commodity operating system kernels. John’s previous work used SVA to protect the Linux and FreeBSD operating system kernels from attack. John also developed a system named Virtual Ghost that protects applications from a compromised operating system kernel. John is also the lead developer of the open-source SAFECode memory safety compiler (which enforces memory safety guarantees on application code).