Ben Hardekopf

Department of Computer Sciences
The University of Texas at Austin
benh@cs.utexas.edu

Navigation


  • About Me
  • My Research
  • Honors and Awards
  • Publications
  • Downloads

About Me

I have graduated in Spring 2009 with a Ph.D. from the Department of Computer Sciences at The University of Texas at Austin. In Fall 2009 I will begin as an Assistant Professor in the Department of Computer Science at the University of California at Santa Barbara.

Prior to attending UT Austin, I received a Masters in Computer Science from SUNY at Utica/Rome in 2000 while serving as an active duty officer in the United States Air Force. Before that, I received a BSE in Electrical Engineering (with a 2nd major in Computer Science) from Duke University in 1997.

My Research

My research focuses on programming languages and related systems. As part of my thesis work, I have created new algorithms that significantly improve on pointer analysis, a fundamental problem in program analysis:

  • I have made inclusion-based pointer analysis over 4x faster while using 7x less memory, allowing the practical analysis of millions of lines of code [PLDI'07 (Best Paper), SAS'07].
  • I have developed two new algorithms for flow-sensitive pointer analysis. The first increases the program size amenable to flow-sensitive analysis by an order of magnitude, making the analysis over 183x faster while using 47x less memory [POPL'09]. The second algorithm further improves on the first by an additional order of magnitude, allowing for the first time the flow-sensitive pointer analysis of millions of lines of code [(in submission)].

I am currently engaged in a long-term project to develop a radical new approach to pointer analysis, making it significantly more usable and accessible. My research interests also go beyond pointer analysis, to the broader area of programming languages and runtime systems in general.

Honors and Awards

  • Outstanding Dissertation Award from the University of Texas at Austin, 2009.
  • J.C. Browne Fellowship from the University of Texas at Austin, 2008.
  • Best Paper Award, Programming Language Design and Implementation (PLDI 2007).
  • Best Presentation Award, Programming Language Design and Implementation (PLDI 2007).
  • Air Force Commendation Medal, 2001.
  • Air Force Achievement Medal, 1998.

Recent Publications

Refereed publications during my studies at the University of Texas at Austin.

Semi-Sparse Flow-Sensitive Pointer Analysis
Ben Hardekopf and Calvin Lin
Symposium on Principles of Programming Languages (POPL 2009)
PDF
Exploiting Pointer and Location Equivalence to Optimize Pointer Analysis
Ben Hardekopf and Calvin Lin
14th International Static Analysis Symposium (SAS 2007)
PDF
The Ant and the Grasshopper: Fast and Accurate Pointer Analysis for Millions of Lines of Code
Ben Hardekopf and Calvin Lin
ACM Conference on Programming Language Design and Implementation (PLDI 2007)
[Best Paper Award] [Best Presentation Award]
PDF

Old Publications

Refereed publications during my time as a Masters student at SUNY Utica/Rome.

Specification and Verification of a Secure Distributed Voting Protocol
Ben Hardekopf, Kevin Kwiat, and Shambhu Upadhyaya
Symposium on Performance Evaluation of Computer and Telecommunication Systems (SPECTS), July 2001.
Secure and Fault-Tolerant Voting in Distributed Systems
Ben Hardekopf, Kevin Kwiat, and Shambhu Upadhyaya
IEEE Aerospace Conference, March 2001.
Performance Analysis of an Enhanced-Security Distributed Voting Algorithm
Ben Hardekopf and Kevin Kwiat
Symposium on Performance Evaluation of Computer and Telecommunication Systems (SPECTS), July 2000.
Exploiting the Overlap of Security and Fault-Tolerance
Ben Hardekopf and Kevin Kwiat
Academia/Industry Working Conference on Research Challenges (AIWORC), April 2000.

Downloads


Coming Soon: Code from POPL'09

The code used for the POPL'09 paper Semi-Sparse Flow-Sensitive Pointer Analysis.
(Delayed a bit due to looking for a job and writing my dissertation.)


Inclusion-Based Pointer Analysis using LLVM

A whole-program, field-sensitive inclusion-based pointer analysis using the LLVM compiler infrastructure. This implementation is an improved version of the code that was used for the PLDI'07 and SAS'07 papers, though it only includes our own algorithms and not the baseline implementations used for comparison in those papers.

The current version is 0.16; we plan to make a number of improvements and we will update this space as we implement them. Besides LLVM, the implementation depends on the Google Performance Tools and the BuDDy Binary Decision Diagram Package.


Code from PLDI'07 and SAS'07

Here are the source code and benchmarks used for the PLDI'07 paper The Ant and the Grasshopper: Fast and Accurate Pointer Analysis for Millions of Lines of Code and the SAS'07 paper Exploiting Pointer and Location Equivalence to Optimize Pointer Analysis.

The source code package contains public domain implementations of a number of different inclusion-based (i.e. Andersen-style) pointer analysis algorithms along with various optimizations. The code is in C++ and has been tested on the Ubuntu Linux distribution. To support profiling, we link to libraries from the Google Performance Tools. If desired, this dependency can be eliminated by editing the Makefiles. Some algorithms use BDDs and require the BuDDy Binary Decision Diagram Package.