High-level languages are growing in popularity. However, decades of C software development have produced large libraries of fast, time-tested, meritorious code that are impractical to recreate from scratch. Cross-language bindings can expose low-level C code to high-level languages. Unfortunately, writing bindings by hand is tedious and error-prone, while… (More)
ii First and foremost, I thank my wife, Katie, for her continued support and patience. When we moved to Paris for a year to accompany my advisor Professor omas Reps during his sabbatical, Katie did not hesitate to put her career on hold so that I could focus on my dissertation research. Katie, you made the completion of the dissertation possible, and your… (More)
Programs written in multiple languages are known as <i>polyglot programs</i>. In part due to the proliferation of new and productive high-level programming languages, these programs are becoming more common in environments that must interoperate with existing systems. Polyglot programs must manage resource lifetimes across language boundaries. Resource… (More)
Android's popularity has given rise to myriad application analysis techniques to improve the security and robustness of mobile applications, motivated by the evolving adversarial landscape. These techniques have focused on identifying undesirable behaviors in individual applications, either due to malicious intent or programmer error. We present a… (More)
—Statistical debugging identifies program behaviors that are highly correlated with failures. Traditionally, this approach has been applied to desktop software on which it is effective in identifying the causes that underlie several difficult classes of bugs including: memory corruption, non-deterministic bugs, and bugs with multiple temporally-distant… (More)
Jackson for many productive technical discussions and valuable feedback for both practice talks and paper submissions. I would also like to thank my advisor Ben Liblit for consistent encouragement and support. for numerous bicycle rides and the many other things that have made Madison enjoyable.