Dan Williams

In May 2012 I defended my dissertation. I am currently working for NVidia. Previously I was studying Computer Science at the University of Virginia, working under the guidance of Jack Davidson. I received my B.A. from the University of Wisconsin at Eau Claire in 2002.

The best way to contact me is via email: dan@osheim.org.


I'm interested in creating tools and processes build safer, more reliable, and more efficient software. These tools include traditional compiler infrastructures (gcc, VPO), run-time systems (JITs, SDT), as well as software development tools (source control, build systems).

My dissertation research is focused on improving all of these tools by enabling them to share information through a common, XML-based language. See the Metaman project for details.

Here are some of the projects I'm involved with:

Journal Papers

Security through Diversity: Leveraging Virtual Machine Technology by Daniel Williams, Wei Hu, Jack W. Davidson, Jason D. Hiser, John C. Knight, Anh Nguyen-Tuong published in IEEE Security & Privacy, Jan 2009.

Compile-Time Planning for Overhead Reduction in Software Dynamic Translation by Naveen Kumar, Bruce R. Childers, Daniel Williams, Jack W. Davidson, and Mary Lou Soffa in IJPP, June 2005

Conference Papers

A Cross-Layer Approach to Heterogeneity and Reliability by Daniel Williams, Aprotim Sanyal, Dan Upton, Jason Mars, Sudeep Ghosh, and Kim Hazelwood in MEMOCODE, July 2009.

Evaluating Indirect Branch Handling Mechanisms in Software Dynamic Translation Systems by Jason D. Hiser, Daniel Williams, Wei Hu, Jason Mars, Bruce R. Childers, and Jack W. Davidson published in CGO 2007.

Evaluating Fragment Construction Policies for SDT Systems by Jason D. Hiser, Daniel Williams, Adrian Filipi, Jack W. Davidson, and Bruce R. Childers published in VEE 2006

Secure and Practical Defense Against Code-injection Attacks by Wei Hu, Jason Hiser, Dan Williams, Adrian Filipi, Jack W. Davidson, David Evans, John C. Knight, Anh Nguyen-Tuong, and Jonathan Rowanhill published in VEE 2006

Workshop and other Papers

Metaman: System-wide Metadata Management by Daniel Williams and Jack W. Davidson to appear in the Workshop on Binary Instumentation and Applications, December 2009.

Using Program Metadata to Support SDT in Object-Oriented Applications by Daniel Williams, Jason D. Hiser, and Jack W. Davidson published in ICOOOLPS, July 2009.

A Reactive Unobtrusive Prefetcher for Multicore and Manycore Architectures. by Jason Mars, Daniel Williams, Dan Upton, Sudeep Ghosh, and Kim Hazelwood published in Workshop on Software and Hardware Challenges of Manycore Platforms, 2008.

Threaded Software Dynamic Translation by Daniel Williams. M.CS Project, 2005.