Research opportunity in the database group
Our recently-released PipeGen tool is designed to improve the performance of data transfer between Java-based database systems. We are looking for a talented, strongly-motivated individual to extend this tool to support databases written in C and C++. This is a low-level project that involves applying our existing techniques (e.g., static analysis and instrumentation) in this new runtime environment. It is an excellent opportunity to gain experience with applying state of the art technologies to a real-world, practical problem.
The right candidate will be experienced with lower-level C/C++ constructs and ISAs such as x86, comfortable working with (and potentially hacking on) compiler tools such as LLVM and Clang, be familiar with AST manipulation and code rewriting, and have strong software engineering skills. Strong performance in several of the following courses is preferred: 331, 333, 401, 344/444, 351/451.
Potential tasks include:
* Creating a framework that automatically executes and instruments selected C/C++ unit tests
* Developing a framework for C/C++ programs to identify and rewrite pattern-matched C/C++ idioms
* Writing rules to support targeted PipeGen modifications (e.g., find all export file open invocations)
Interested candidates should forward the following details to bhaynes@cs.washington.edu:
* CV or resume
* a current transcript
* any other relevant details (e.g., a personal website, GitHub/StackOverflow profile, direct links to a relevant projects)
* a one-paragraph summary of your understanding of the SoCC paper listed on our project website
We will contact selected students in a few weeks for interviews. We currently offer this opportunity as independent study credit, with the possibility of extending this to a 5th year M.S. project if there is mutual interest.