The University of Texas at Austin

William R. Cook

Associate Professor
Phone: 
(512) 471-9555
Email: 
wcook [at] cs [dot] utexas [dot] edu
Research: 

Cook’s research focuses on improving the ability of programming languages to facilitate the development of efficient and maintainable software. His early work focused on the semantic and type-theoretic foundations of object-oriented programming and applying these results to improve widely-used programming languages, including Java. His current near-term research involves developing constructs for distributed and data-centric computing. His longer-term research goal is to develop a theory of model-driven development that enables integration of multiple domain-specific languages needed to build complex interactive software systems, including user interfaces, distributed workflow orchestration, authorization policies, and data/synchronization models.

Selected Awards & Honors: 
  • NSF CAREER Award
Selected Publications: 
  • Remote Batch Invocation for Compositional Object Services, with Ali Ibrahim, Yang Jiao, Eli Tilevich. In Proceedings of the 23rd European Conference Object-Oriented Programming (ECOOP). Lecture Notes in Computer Science 5653, pp. 595-617, 2009.
  • AppleScript. In Proceedings of the Third ACM SIGPLAN Conference on History of Programming Languages (HOPL III), ACM, 2007.
  • A Timed Semantics of Orc, with Ian Wehrman, David Kitchin, and Jayadev Misra, Theoretical Computer Science, 402(2-3):234-248, August 2008. 
  • Mixin-Based Inheritance, with Gilad Bracha. In Proceedings of the Joint European Conference on Object-Oriented Programming and ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA/ECOOP), 303-311, 1990.
Professional Activities: 
  • Member of the ACM, IEEE, and the IFIP Working Groups on Programming Methodology (WG2.3) and Program Generation (WG2.11)
  • General Conference Chair for ACM Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA), 2010
  • Program Chair for ACM Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA), 2006
  • Co-organizer and program committee chair First Dynamic Languages Symposium (DLS)
  • Steering committee member of the International Conference on Object Databases (ICOODB) and the editorial board of Scalazine
  • Program committees:
  • ACM Conference on Principles of Programming Languages (POPL)
  • European Conference on Object-Oriented Programming (ECOOP) 
  • ACM Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA)
  • Compiler Construction (CC)