Tuck Receives Research Award from NSF

September 25, 2013

Dr. James Tuck 
Dr. James Tuck

Dr. James Tuck, Associate Professor of Electrical and Computer Engineering, has been awarded $384,143 by the National Science Foundation for research on CSR: Small: A Practical Data Dependence Profiler for Program Characterization and Optimization.

The award will run from October 1st, 2013 to September 30th, 2016.


Society relies on an ever broadening array of computer systems for productivity, communication, entertainment, safety, and health. Systems capable of processing at faster rates and with greater efficiency are necessary to sustain the pace of innovation. A key part of achieving this goal is the development of tools and techniques that make it easier to build sophisticated software with a desired set of requirements. One aspect of these tools, the focus of this work, is data dependence profiling. A data dependence profiler (DDP) conveys to a programmer, compiler, or other program analysis tool the likelihood of a data dependence between two arbitrary memory operations while the program is running. DDPs are critical since compilers and programmers often do not know or cannot determine all such relationships simply by analyzing the source code; hence, DDPs provide important information for further optimization and tuning.

This project focuses on the design of a fast practical DDP that works effectively for a wide range of applications and for a wide range of program analysis needs. The first goal is speed: that the DDP impose only a small slowdown, the target being a factor of two. A second goal is to maintain accuracy: bounding the uncertainty and imprecision inherent in profiling, and providing information about the accuracy with the profiler feedback. The third goal is integration of the DDP into a feedback-directed optimization framework, to explore and understand its capabilities.

If the goals of the project are met, DDPs are expected to become more widely integrated into program development tools in support of existing technology and enabling new technologies that ultimately will benefit society. Open source distribution of the tools developed by the project strengthens and extends the available open-source software infrastructure relied upon by both academia and industry. The project integrates education with research through involvement of graduate, undergraduate, and high school students.