Hans-J. Boehm's Selected Publications

Hans-J. Boehm, Sarita V. Adve, "You Don't Know Jack about Shared Variables or Memory Models", Communications of the ACM 55, 2, Feb. 2012, ACM Queue 9, 12, December 2011.

Laura Effinger-Dean, Hans-J, Boehm, Dhruva Chakrabarti, Pramod Joisha, ``Extended Sequential Reasoning for Data-Race-Free Programs'', MSPC 11, Technical report version. Official version.

ACM DL Author-ize servicePerformance implications of fence-based memory models
Hans-J. Boehm
MSPC '11 Proceedings of the 2011 ACM SIGPLAN Workshop on Memory Systems Performance and Correctness, 2011

Hans-J. Boehm, ``How to miscompile programs with "benign" data races'', HotPar 11. Official version on Usenix site. Unofficial version.

Sarita V. Adve, Hans-J. Boehm, ``Memory Models: A Case for Rethinking Parallel Languages and Hardware'', Communications of the ACM 53, 8, August 2010. Official version. Unofficial version on UIUC server.

Brandon Lucia, Luis Ceze, Karin Strauss, and Shaz Qadeer, Hans-J. Boehm, ``Conflict Exceptions: Simplifying Concurrent Language Semantics with Precise Hardware Exceptions for Data-Races'', ISCA 2010, Official version. Unofficial version on Microsoft's server.

Hans-J. Boehm, Mike Spertus, ``Garbage Collection in the Next C++ Standard'', ISMM 09, Official version. Technical report version.

``Threads Basics'', HP Labs Technical Report 2009-259. (More introductory, not a research paper.)

``Transactional Memory Should Be an Implementation Technique, Not a Programming Interface'', presented at HotPar 09, Official HTML version. Technical report version.

``Foundations of the C++ Concurrency Memory Model'', with Sarita V. Adve, Proceedings of the ACM SIGPLAN 2008 Conference on Programming Language Design and Implementation, June 2008. Official version. 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. Official version.

``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.