David Evans
Associate Professor of Computer Science

University of Virginia


evans@virginia.edu
Contact Information

research Students
Research Group Blog: Jefferson's Wheel
Security Reading Group
Publications, Talks, Advice
courses cs150: Computer Science from Ada and Euclid ...
cs205: Engineering Software
cs302: Theory of Computation
JILL: Cryptography in World War II
cs588: Cryptology
More Courses
pictures Grand Canyon, Bletchley Park, China, More...
Another [time management] strategy is to ignore the fact that you are slowly killing yourself by not sleeping and exercising enough. That frees up several hours a day. The only downside is that you get fat and die.
Scott Adams, The Dilbert Blog: Time Management
Past homepage quotes

rotunda I joined UVA's Computer Science Department as an assistant professor in November 1999 after completing my PhD, SM and SB degrees at MIT. My current research seeks to enable the cost-effective production of complex computer systems that can be trusted for critical applications even in the presence of malicious attackers. This goal involves many traditional research areas, including security, software engineering, programming languages, cryptography, and networking.

This Spring I am teaching cs302: Theory of Computation. I am also the official instructor for Adrienne Felt's course on web browser architectures. In Fall 2007, I taught a seminar on web application security. In Spring 2007, I taught cs150: Computer Science from Ada and Euclid to Quantum Computing and the World Wide Web, an introductory Computer Science course intended for students with no prior computing background. I am chair of the CS BA committee that is creating a Computer Science BA degree for students in the College of Arts and Sciences. We created the new interdiscplinary major in Computer Science that was approved by the College of Arts and Sciences in February 2006.

Research

Students
Blog
Publications
Talks
Press

I have the privilege of working with a team of extraordinary students, including both graduate and undergraduate students who participate fully in my research group. If you are a UVa undergraduate or graduate student interested in joining my research group, please look over our project pages (below), browse our group blog, and send me email to arrange a meeting or drop by my office hours. If you are considering applying to our PhD program, please read my advice for prospective research students. If you think you are ready for graduate school, you may also want to try our previous pre-qualification exam [PDF].

Active Projects

Protects vulnerable programs by storing security-critical data in a separate store that is protected by page-level hardware mechanisms, except during short update periods.
Uses the disk processor to improve virus detection and response by recognizing viruses by their disk-level activity.
The Helix self-regenerative architecture is designed to protect systems from sophisticated and motivated adversaries by automatically and continuously changing the attack surface of a running system.
RFID tags have already been widely deployed in security-sensitive applications including public transportation tokens and access cards. These applications raise important security and privacy concerns, but current design methods are ad hoc and have proven insufficient. We are investigating new approaches to cryptography, protocol, and system design to provide adequate security on minimal devices.
Mashups combine scripts from multiple sources and deliver them to clients as a single page. We are investigating mechanisms that allow clients to enforce meaningful security policies on untrusted content in mashup web pages.
Explores a systems framework that uses structured artificial diversity to provide high security assurances against large classes of attacks.
Q: How realistic is the depiction of SIS in the James Bond films?
James Bond, as Ian Fleming originally conceived him was based on reality. But any author needs to inject a level of glamour and excitement beyond reality in order to sell. By the time the filmmakers focused on Bond the gap between truth and fiction had already widened. Nevertheless, staff who join SIS can look forward to a career that will have moments when the gap narrows just a little and the certainty of a stimulating and rewarding career which, like Bond's, will be in the service of their country.
Q: Why can't I download or write to you via this site?
SIS has kept this site browse only for security reasons.
Perracotta with Jinlin Yang (NSF CPA)
Develops techniques for automatically inferring temporal properties of real world software using dynamic analysis.
Social networking platforms integrate third-party content into the site and give third-party developers access to user data. These open interfaces pose serious privacy risks by exposing user data to third-party developers. We are developing a privacy-by-proxy design for a privacy-preserving API.

Recent Projects

Genesis with Jack Davidson, John Knight, and Anh Nguyen-Tuong (DARPA)
Explores the potential for using automatically generated diversity at various levels of abstraction to protect computer systems.
Inexpensive Program Analysis (NASA, NSF CAREER)
Reducing the cost and improves the scalability of program analysis using lightweight static analysis (Splint).
Physicrypt (NSF ITR)
How computing in the physical world impacts security.
Programming the Swarm (NSF CAREER)
Getting sensible behavior from collections of unreliable, unorganized components.

Recent and Upcoming Conferences

All it took was for a University of Virginia student to finally outsmart the popular SMART cards... Falling into the wrong hands, this security loophole can be and will surely be used in high profile heists and break-ins, seemingly straight from a James Bond movie.
Hacked RFIDs Render Smart Cards Less Smarter, TrendLabs Malware Blog, 18 March 2008.
28th International Conference on Distributed Computing Systems (ICDCS 2008) (Security and Privacy Track), Program Committee Member
Ninth International Conference on Information and Communications Security (ICICS 2007), Program Committee Member
Verified Software: Theories, Tools, Experiments (10-14 October 2005), Program Committee Member
ACM Workshop on Program Analysis for Software Tools and Engineering (PASTE) (Sept 2005), Program Committee Member
Network and Distributed System Security Symposium (NDSS 2005), Program Committee Member
2nd International Workshop on Dynamic Analysis (WODA) (May 2004), General and PC co-chair

Teaching

My teaching has been supported by an NSF CCLI Award (PDF) and University Teaching Fellowship (2001-2002, PDF). I won the Harold Morton Jr. SEAS Award for Teaching (2003-4) and the All-University Teaching Award (2008). This essay explains my teaching philosophy.

UVa Courses

Spring 2004: cs851/651: Cryptography Applications Bistro (Crab Seminar)
Anyone who slaps a this page is best viewed with Browser X label on a Web page appears to be yearning for the bad old days, before the Web, when you had very little chance of reading a document written on another computer, another word processor, or another network.
Tim Berners-Lee, Technology Review, July 1996
(This page is best viewed with Lynx or a toaster, but on a good day Firefox or even Internet Explorer should work too.)

Other Courses

Cryptography in World War II (4-class course for Jefferson Institute for Life-Long Learning)
Dragon Crypto (2-day cryptography course for middle school students)