pldi05.pdf