- I successfully defended and deposited my doctoral dissertation in December 2008.
- I work on distributed computing and machine learning for Red Hat, Inc.. From 2008 until 2017, I maintained an affiliation with the University via a non-salaried appointment as a Researcher.
- My dissertation work, which was supervised by Prof. Charles Fischer, focused on developing novel program analyses to find implicit parallelism in object-oriented programs. At Red Hat, my research and development efforts relate to distributed computing, configuration management, and applications of declarative programming at scale.
- William C. Benton. Fast, Effective Program Analyis for Object-Level Parallelism. Ph.D. dissertation. University of Wisconsin, December 2008. More information.
- William C. Benton, Robert H. Rati, and Erik J. Erlandson. Wallaby: A Scalable Semantic Configuration Service for Grids and Clouds. In Proceedings of the Conference for High Performance Computing, Networking, Storage and Analysis (SC '11). Seattle, Washington, USA 12-18 November 2011. PDF (489kb).
- William C. Benton and Charles N. Fischer. Mostly-Functional Behavior in Java Programs. In Proceedings of the Tenth International Conference on Verification, Model Checking, and Abstract Interpretation (VMCAI '09). Savannah, Georgia, USA 18-20 January 2009. PDF (408kb), talk slides (396kb). © Springer.
- William C. Benton and Charles N. Fischer. Interactive, Scalable, Declarative Program Analysis: From Prototype to Implementation. In Proceedings of the 9th International ACM SIGPLAN Conference on Principles and Practice of Declarative Programming (PPDP '07). Wrocław, Poland, 14-16 July 2007. PDF (696kb). © ACM, 2007. This is the author's version of the work. It is posted here by permission of ACM for your personal use. Not for redistribution.
Projects and software
- Silex is a library of helpers for doing real-world data science with Apache Spark.
- I developed DIMPLE, a logic programming framework for rapid development of static analyses and other programs that operate on programs (including preprocessors and interpreters).
- capricious is a framework for repeatable randomness including a family of pseudorandom number generators and several probability distribution simulators. (capricious is also available as a RubyGem.)
- Wallaby is a sophisticated semantic configuration service for HTCondor pools (see our SC2011 paper for more information), and Wallaroo is an experimental evolution of Wallaby.
- Some more projects are linked from my GitHub profile or my personal software page.
Things to read
- Handouts on developing better course materials.
- Notes on using JUnit for grading CS 302 (beta)
- Notes on accessing AFS from a Macintosh. (These instructions are UW-specific and have not been tested with OS X 10.5.)
- A template for writing your dissertation in LaTeX.
- My personal web site