``Foundations of the C++ Concurrency Memory Model'', with Sarita Adve, Proceedings of the ACM SIGPLAN 2008 Conference on Programming Language Design and Implementation, June 2008. Technical report version.
``Reordering Constraints for Pthread-Style Locks'', Proceedings of the 12th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, March 2007, pp. 173-182. Official version. HP Labs Technical Report HPL-2005-217R1.
``Threads Cannot Be Implemented As a Library'', Proceedings of the ACM SIGPLAN 2005 Conference on Programming Language Design and Implementation, June 2005, pp. 261-268. Official version. Technical report version.
``The Constructive Reals as a Java Library'', Special issue on practical development of exact real number computation, Journal of Logic and Algebraic Programming 64, 1, July 2005, pp. 3-11. Official version. Technical report version.
``An Almost Non-Blocking Stack'', Proceedings of the twenty-third annual ACM symposium on Principles of distributed computing (PODC), 2004, pp. 40-49. Official version. Technical report version.
``The Space Cost of Lazy Reference Counting'', Proceedings of the 2004 ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Jan. 2004, pp. 210-219. Official version. Technical report version.
``Destructors, Finalizers, and Synchronization'', Proceedings of the 2003 ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Jan. 2003, pp. 262-272. Official version. Technical report version. HTML slides. PDF slides.
``Bounding Space Usage of Conservative Garbage Collectors'', Proceedings of the 2002 ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Jan. 2002, pp. 93-100. Official version. Technical report version.
``Fast Multiprocessor Memory Allocation and Garbage Collection'', HP Labs Technical Report HPL 2000-165.
``Reducing Garbage Collector Cache Misses'', Proceedings of the 2000 International Symposium on Memory Management . Official version. Technical report version.
``Understanding Memory Allocation of Scheme Programs'', with Manuel Serrano, Proceedings of the Fifth ACM SIGPLAN International Conference on Functional Programming, 2000, Montreal, Canada, pp. 245-256. Official version. Earlier Technical Report version.
``Simple Garbage-Collector-Safety'', Proceedings of the ACM SIGPLAN '96 Conference on Programming Language Design and Implementation, SIGPLAN Notices 31, 5 (May 1996), pp. 89-98. Official version. Local copy.
``Ropes: an Alternative to Strings'', with Russ Atkinson, and Michael Plass, Software Practice & Experience 25(12), December 1995, pp. 1315-1330.
``Dynamic Memory Allocation and Garbage Collection'', Computers in Physics 9, 3 (May/June 1995), pp. 297-303.
``Inferring Type Maps During Garbage Collection'', with Zhong Shao, OOPSLA 93 workshop on Memory Management and Garbage Collection, Washington DC, September 1993.
``Space Efficient Conservative Garbage Collection'', Proceedings of the ACM SIGPLAN '93 Conference on Programming Language Design and Implementation, SIGPLAN Notices 28, 6 (June 1993), pp. 197-206. Official version. Local copy. Reprinted here as one of the 50 most influential PLDI papers. Winner of 2003 most influential PLDI paper award (chosen from 1993 papers).
``Implementing Multiple Locks Using Lamport's Mutual Exclusion Algorithm'', with Alan Demers and Chris Uhler, ACM LOPLAS 2 (Mar-Dec 1993), pp. 46-58.
``A Proposal for Garbage-Collector-Safe C Compilation'', with David Chase, The Journal of C Language Translation 4, 2 (December 1992), pp. 126-141.
``Hardware and Operating System Support for Conservative Garbage Collection'', Proceedings of the International Workshop on Object Orientation in Operating Systems, October, 1991, Palo Alto.
``Mostly Parallel Garbage Collection'', with A. Demers and S. Shenker, Proceedings of the ACM SIGPLAN '91 Conference on Programming Language Design and Implementation SIGPLAN Notices 26, 6 (June 1991), pp. 157-164. Official version. Local copy.
``Exact Real Arithmetic: Formulating Real Numbers as Functions'', with Robert Cartwright, in Research Topics in Functional Programming, David A. Turner, ed., Addison-Wesley, 1990, pp. 43-64.
``Optimizing Programs over the Constructive Reals'', with Vernon Lee, Jr., Proceedings of the ACM SIGPLAN '90 Conference on Programming Language Design and Implementation, SIGPLAN Notices 25, 6 (June 1990), pp. 102-111.
``Combining Generational and Conservative Garbage Collection: Framework and Implementations'', with A. Demers, M. Weiser, B. Hayes, D. Bobrow and S. Shenker, Proceedings of the Seventeenth Annual ACM Symposium on Principles of Programming languages, 1990.
``Type Inference in the Presence of Type Abstraction'', Proceedings of the SIGPLAN '89 Conference on Programming Language Design and Implementation, June 1989, pp. 192-206.
``Garbage Collection in an Uncooperative Environment'', with Mark Weiser, Software Practice & Experience 18, 9 (Sept. 1988), pp. 807-820. Resurrected preprint.
``Parallel Attribute Grammar Evaluation'', with Willy Zwaenepoel, Proceedings of the 7th International Conference on Distributed Computing Systems, September 1987, pp. 347-355.
``Constructive Real Interpretation of Numerical Programs'', Proceedings of the ACM SIGPLAN '87 Symposium on Interpreters and Interpretive Techniques, SIGPLAN Notices 22, 7 (July 1987), pp. 214-221.
``Exact Real Arithmetic: A Case Study in Higher Order Programming'', with R. Cartwright, Michael J. O'Donnell, and Mark Riggle, Proceedings of the 1986 Lisp and Functional Programming Conference, pp. 162-173.
``Implementing Russell'', with Alan Demers, Proceedings of the SIGPLAN '86 Symposium on Compiler Construction, SIGPLAN Notices 21, 7 (July 1986), pp. 186-195. An earlier version appeared as Rice Computer Science Technical Report 85-25, September 1985.
``Partial Polymorphic Type Inference is Undecidable'', Proceedings of the 26th Annual Symposium on Foundations of Computer Science, IEEE, 1985, pp. 339-345.
``Side Effects and Aliasing Can Have Simple Axiomatic Descriptions'', ACM Transactions on Programming Languages and Systems 7 , 4 (October 1985), pp. 637-655.
``A Logic for Expressions with Side-Effects'', Proceedings of the Ninth Annual Symposium on Principles of Programming Languages, ACM, 1982, pp. 268-280.