A.M. TURING AWARD WINNERS BY...

Barbara Liskov

United States – 2008
Short Annotated Bibliography
  1. Liskov, Barbara Jane, “The Design of the Venus Operating System,” Communications of the ACM, Vol. 15, Num. 3, 1972, pp. 144-149.  Describes the Venus operating system and some results of experiments with it.
  2. Liskov, Barbara Jane, “Design Methodology for Reliable Software Systems,” Proceedings of the AFIPS Fall Joint Computer Conference, Vol. 41, Part 1, December 1972. Also published in Tutorial on Software Design Techniques, P. Freeman and A. Wasserman (editors), IEEE, 1977, pp. 53-61.  
  3. Liskov, Barbara Jane and Stephen N. Zilles, “Programming with Abstract Data Types,” SIGPLAN Notices, Vol. 9, Num. 4, 1974, pp. 50-59.
  4. Liskov, Barbara Jane, Alan Snyder, Russell R. Atkinson and Craig Schaffert, “Mechanisms for abstraction in the very high level language for structured programming, CLU,” Communications of the ACM, Vol. 20, Num. 8, 1977, pp. 564-576. Describes the abstraction mechanisms in CLU.
  5. Liskov, Barbara Jane and A. K. Jones,  “A Language Extension for Expressing Constraints on Data Access,” Communications of the ACM, Vol. 21, Num. 5, May 1978, pp. 358-367.  How to extend programming languages to support controlled data sharing.
  6. Liskov, Barbara Jane, Russell R. Atkinson, Toby Bloom, J. Eliot B. Moss, Craig Schaffert, Robert Scheifler andAlan Snyder, CLU Reference Manual, Springer 1981. Also published as Lecture Notes in Computer Science 114, G. Goos and J. Hartmanis, Eds., Springer-Verlag, 1981.
  7. Liskov, Barbara Jane, The Argus Language and System, Proceedings Distributed Systems: Methods and Tools for Specification, An Advanced Course, April 3-12, 1984 and April 16-25, 1985, Munich, pp. 343-430.  CLU-like language supporting distributed programming.
  8. Liskov, Barbara Jane, “Distributed Programming in Argus,” Communications of the ACM, Vol. 31, Num. 3, 1988, pp. 300-312.  How Argus mechanisms deal with problems such as network partitions and crashes of remote nodes.
  9. Liskov, Barbara Jane, Robert Gruber, Paul Johnson and Liuba Shrira “A replicated Unix file system,” ACM SIGOPS European Workshop, 1990.  Improved availability with a file system replicated using NFS.
  10. Liskov, Barbara Jane, “Practical Uses of Synchronized Clocks in Distributed Systems,” Distributed Computing, Vol. 6, August 1993, pp. 211-219. Describes how synchronized clocks improve performance in distributed systems.
  11. Liskov, Barbara Jane and Jeannette Wing, “A Behavioral Notion of Subtyping,” ACM Transactions on Programming Languages and Systems, Vol. 16, Num. 6, November 1994, pp. 1811-1841.Defines the Liskov Substitution Principle for correct subtyping that preserves safety properties.
  12. Liskov, Barbara Jane and Andrew C. Myers, “A Decentralized Model for Information Flow Control,” ACM Symposium on Operating Systems Principles (SOSP), 1997, pp. 129-142.  Describes a model for controlling information flow in systems with mutual distrust and decentralized authority.
  13. Liskov, Barbara Jane and Andrew C. Myers, “Protecting Privacy Using the Decentralized Label Model,” Transactions on Computer Systems, Vol. 9, Num. 4, October 2000.  Describes how Jif provides static information flow checking and centralized declassification for security and integrity policies.
  14. Liskov, Barbara Jane and John Guttag, Abstraction and Specification in Program Development, MIT Press and McGraw Hill, 1986.Describes a methodology that will enable construction of programs that are reliable and reasonably easy to understand, modify, and maintain.
  15. Liskov, Barbara Jane and John Guttag, Program Development in Java - Abstraction, Specification, and Object-Oriented Design, Addison-Wesley, 2001.Constructing production-quality programs using a collection of modules that correspond to abstractions.
  16. Liskov, Barbara Jane, Ben Vandiver, Hari Balakrishnan and Samuel Madden, “Tolerating byzantine faults in transaction processing systems using commit barrier scheduling,” ACM Symposium on Operating Systems Principles (SOSP), 2007, pp. 59-72.  Describes a replication scheme that handles Byzantine faults by comparing answers from queries and updates on multiple replicas.
  17. Liskov, Barbara Jane, Daniel S. Myers, Jennifer N. Carlisle and James A. Cowling, “MapJAX: Data Structure Abstractions for Asynchronous Web Applications,” USENIX Annual Technical Conference, 2007, pp. 101-114.  A programming model that provides abstractions shared between client and server, based on objects, locks, and threads.