Caitlin Sadowski

I am a computer science Ph.D. candidate at the University of California at Santa Cruz. I work with my advisors Cormac Flanagan and Jim Whitehead on research at the intersection of Programming Languages (PL) and Human Computer Interaction (HCI). I am interested in making it easier to write correct, high-performance code, with an emphasis on parallel programs. To that end, I am currently researching the usability of different parallel and concurrent programming concepts and course materials. I also do research on hard real-time multiprocessor scheduling with Scott Brandt.

In summer 2010 I worked at Microsoft Research with Tom Ball on developing and evaluating a parallel and concurrent programming course and with Sebastian Burckhardt and Daan Leijen on extending the concurrent revisions framework. In summer 2011 I worked at Google on adding a thread safety analysis to the Clang C/C++ compiler. Since Clang is all open source, you can check it out and play around with it.

I am the co-chair for the 2012 Workshop on User evaluation for Software Engineering Researchers (USER 2012), co-located with ICSE. I was the co-chair for the 2011 Workshop on Transistioning to MultiCore (TMC 2011), co-located with OOPSLA/SPLASH.
Contact
E-mail: supertri @ cs.ucsc.edu
Publications

My CV is available here; my resume is here.


Journal Publications

[ACM | pdf]
DP-Fair: a unifying theory for optimal hard real-time multiprocessor scheduling. Shelby Funk, Greg Levin, Caitlin Sadowski, Ian Pye, and Scott Brandt. Real-Time Systems 47(5): 389-429, 2011.

Peer-Reviewed Conference Publications

[ACM | pdf]
Sound Predictive Race Detection in Polynomial Time. Yannis Smaragdakis, Jacob M. Evans, Caitlin Sadowski, Jaeheon Yi, and Cormac Flanagan. Symposium on Principles of Programming Languages (POPL), 2012.
[ACM | pdf]
Benefits and Barriers of User Evaluation in Software Engineering Research. Raymond P.L. Buse, Caitlin Sadowski, and Westley Weimer. Conference on Object Oriented Programming Systems, Languages, and Applications (OOPSLA), 2011.
[ACM | pdf]
Two for the Price of One: A Model for Parallel and Incremental Computation. Sebastian Burckhardt, Daan Leijen, Jaeheon Yi, Caitlin Sadowski, and Thomas Ball. Conference on Object Oriented Programming Systems, Languages, and Applications (OOPSLA), 2011.
ACM OOPSLA Distinguished Paper Award.
[ACM | pdf]
An Empirical Analysis of the FixCache Algorithm. Caitlin Sadowski, Chris Lewis, Zhongpeng Lin, Xiaoyan Zhu, and E. James Whitehead, Jr. Working Conference on Mining Software Repositories (MSR), 2011.
[ACM | pdf | Poster]
Mental Models and Parallel Program Maintenance. Caitlin Sadowski. Doctoral Symposium at the International Conference on Software Engineering (ICSE), 2011.
[ACM | pdf]
Cooperative Reasoning for Preemptive Execution. Jaeheon Yi, Caitlin Sadowski, and Cormac Flanagan. Annual Symposium on Principles and Practice of Parallel Programming (PPoPP), 2011.
[ACM | pdf]
Practical Parallel and Concurrent Programming. Caitlin Sadowski, Thomas Ball, Judith Bishop, Sebastian Burckhardt, Ganesh Gopalakrishnan, Joseph Mayo, Shaz Qadeer, and Madanlal Musuvathi. ACM Technical Symposium on Computer Science Education (SIGCSE), 2011.
[IEEE | pdf]
DP-Fair: a Simple Model for Understanding Optimal Multiprocessor Scheduling. Greg Levin, Shelby Funk, Caitlin Sadowski, Ian Pye, and Scott Brandt. Euromicro Conference on Real-time Systems (ECRTS), 2010.
ECRTS Best Paper Award.
[ACM | pdf]
SingleTrack: A Dynamic Determinism Checker for Multithreaded Programs. Caitlin Sadowski, Stephen N. Freund, and Cormac Flanagan. European Symposium on Programming (ESOP), 2009.


Peer-Reviewed Workshop Publications

[ ACM | pdf | Tech Report | Poster]
Heuristic Evaluation of Programming Language Features. Caitlin Sadowski and Sri Kurniawan. Onward! Workshop on Evaluation and Usability of Programming Languages and Tools (PLATEAU), 2011.
[ACM | pdf]
The Last Mile: Parallel Programming and Usability. Caitlin Sadowski and Andrew Shewmaker. FSE/SDP Workshop on the Future of Software Engineering Research (FoSER), 2010.
[ACM | pdf]
Applying Usability Studies to Correctness Conditions: A Case Study of Cooperability. Caitlin Sadowski and Jaeheon Yi. Onward! Workshop on Evaluation and Usability of Programming Languages and Tools (PLATEAU), 2010.
[WCCP | pdf]
A Tool-based Approach to Teaching Parallel and Concurrent Programming. Caitlin Sadowski, Thomas Ball, Judith Bishop, Sebastian Burckhardt, Ganesh Gopalakrishnan, Joseph Mayo, Shaz Qadeer, Madanlal Musuvathi, and Stephen Toub. SPLASH Workshop on Curricula for Concurrency and Parallelism, 2010.
[WODA | pdf]
Tiddle: A Trace Description Language for Generating Concurrent Benchmarks to Test Dynamic Analyses. Caitlin Sadowski and Jaeheon Yi. Workshop on Dynamic Analysis (WODA), 2009.
[ACM | pdf]
Sidetrack: Generalizing Dynamic Atomicity Analysis. Jaeheon Yi, Caitlin Sadowski, and Cormac Flanagan. Workshop on Parallel and Distributed Systems: Testing, Analysis, and Debugging (PADTAD), 2009.
[WMM | pdf]
Proving Correctness of a Dynamic Atomicity Analysis in Coq. Caitlin Sadowski, Jaeheon Yi, Kenneth Knowles, and Cormac Flanagan. Workshop on Mechanizing Metatheory (WMM), 2008.


Technical Reports

[UCSC | pdf]
SimiHash: Hash-based Similarity Detection. Caitlin Sadowski and Greg Levin. UCSC-SOE-11-07, 2011.
[MSR | LtU | pdf]
A Preliminary Survey on Functional Programming. Caitlin Sadowski and Daan Leijen. MSR-TR-2010-147, 2010.
[UCSC | pdf]
SNS: A Simple Model for Understanding Optimal Hard Real-Time Multiprocessor Scheduling. Greg Levin, Caitlin Sadowski, Ian Pye, and Scott Brandt. UCSC-SOE-11-09, 2009.


Panels

A Richer Life: Family and Academic Careers. Caitlin Sadowski (Moderator). Women in Science and Engineering (WiSE). Winter panel and luncheon, UCSC, 2011.
[pdf]
Mommies Know Best: Pregnancy, Graduate School, & Beyond. Alexandra Holloway, Caitlin Sadowski (Moderator), and Laurian Vega. Grace Hopper Celebration of Women in Computing (GHC), 2010.
[pdf]
Girls, Games, and Getting to the First Day. Gillian Smith, Caitlin Sadowski (Moderator), and Gail Carmichael. Grace Hopper Celebration of Women in Computing (GHC), 2010.
Links