© Andrew Jude Gacek 2009
Many people have supported me during the development of this thesis and I owe them all a debt of gratitude.
Firstly, I would like to thank my advisor Gopalan Nadathur for his patience and guidance which have played a significant part in my development as a researcher. His willingness to share his opinions on everything from academic life to playing squash has helped me to develop a perspective and to have fun while doing this. I look forward to continuing my interactions with him far into the future.
I am grateful to Dale Miller for sharing with me an excitement for research and an appreciation of the uncertainty that precedes understanding. I have never met anybody else who so enjoys when things seem amiss, because he knows that a new perspective will eventually emerge and bring clarity.
This thesis has been heavily influenced by the time I have spent working with Alwen Tiu, David Baelde, Zach Snow, and Xiaochu Qi. Understanding their work has given me a deeper understanding of my own research and its role in the bigger picture. I am thankful for the time I have had with each and every one of them.
I have been inspired in my studies by my friends Mike Whalen and Jared Davis. Their intelligence, drive, and curiosity are remarkable and have challenged me to work harder so that I may hope to be considered their equals.
I also want to thank my committee members Eric Van Wyk, Mats Heimdahl, and Wayne Richter for their time and for their guidance in my research career.
Finally, I am thankful to the many people who have supported me long before this thesis began. I want especially to thank my wife, Ann, for her patience, understanding, and love, and my parents for their never-ending encouragement and support. To the rest of my family and friends: I thank you all!
Work on this thesis has been partially funded by the NSF Grants CCR-0429572 and CCF-0917140. Support has also been received from a research contract from Boston Scientific and from funds provided by the Institute of Technology and the Department of Computer Science and Engineering at the University of Minnesota. Opinions, findings, and conclusions or recommendations expressed in this thesis should be understood as mine. In particular, they do not necessarily reflect the views of the National Science Foundation.