Hans-Juergen Boehm

Hans Boehm joined Google as a software engineer in the Android runtime group in 2014. Before that he held various positions at the University of Washington, Rice University, Xerox PARC, SGI (on the same campus as now), and most recently as research manager at HP Labs. He is an ACM Fellow.

Google Publications

  •   

    Outlawing ghosts: avoiding out-of-thin-air results

    Hans-J. Boehm, Brian Demsky

    Workshop on Memory Systems Performance and Correctness (MSPC), ACM, New York, NY (2014)

Previous Publications

  •  

    Durability Semantics for Lock-based Multithreaded Programs

    Dhruva R. Chakrabarti, Hans-Juergen Boehm

    HotPar (2013)

  •  

    Can seqlocks get along with programming language memory models?

    Hans-Juergen Boehm

    MSPC (2012), pp. 12-20

  •  

    IFRit: interference-free regions for dynamic data-race detection

    Laura Effinger-Dean, Brandon Lucia, Luis Ceze, Dan Grossman, Hans-Juergen Boehm

    OOPSLA (2012), pp. 467-484

  •  

    On a Technique for Transparently Empowering Classical Compiler Optimizations on Multithreaded Code

    Pramod G. Joisha, Robert S. Schreiber, Prithviraj Banerjee, Hans-Juergen Boehm, Dhruva R. Chakrabarti

    ACM Trans. Program. Lang. Syst., vol. 34 (2012), pp. 9

  •  

    You don't know jack about shared variables or memory models

    Hans-Juergen Boehm, Sarita V. Adve

    Commun. ACM, vol. 55 (2012), pp. 48-54

  •  

    A technique for the effective and automatic reuse of classical compiler optimizations on multithreaded code

    Pramod G. Joisha, Robert S. Schreiber, Prithviraj Banerjee, Hans-Juergen Boehm, Dhruva R. Chakrabarti

    POPL (2011), pp. 623-636

  •  

    Extended sequential reasoning for data-race-free programs

    Laura Effinger-Dean, Hans-Juergen Boehm, Dhruva R. Chakrabarti, Pramod G. Joisha

    MSPC (2011), pp. 22-29

  •  

    How to Miscompile Programs with "Benign" Data Races

    Hans-Juergen Boehm

    HotPar (2011)

  •  

    Memory Models

    Sarita V. Adve, Hans-Juergen Boehm

    Encyclopedia of Parallel Computing (2011), pp. 1107-1110

  •  

    Multi-Core Memory Models and Concurrency Theory (Dagstuhl Seminar 11011)

    Hans-Juergen Boehm, Ursula Goltz, Holger Hermanns, Peter Sewell

    Dagstuhl Reports, vol. 1 (2011), pp. 1-26

  •  

    Performance implications of fence-based memory models

    Hans-Juergen Boehm

    MSPC (2011), pp. 13-19

  •  

    The runtime abort graph and its application to software transactional memory optimization

    Dhruva R. Chakrabarti, Prithviraj Banerjee, Hans-Juergen Boehm, Pramod G. Joisha, Robert S. Schreiber

    CGO (2011), pp. 42-53

  •  

    A solid foundation for x86 shared memory: technical perspective

    Hans-Juergen Boehm

    Commun. ACM, vol. 53 (2010), pp. 88

  •  

    Conflict exceptions: simplifying concurrent language semantics with precise hardware exceptions for data-races

    Brandon Lucia, Luis Ceze, Karin Strauss, Shaz Qadeer, Hans-Juergen Boehm

    ISCA (2010), pp. 210-221

  •  

    Memory models: a case for rethinking parallel languages and hardware

    Sarita V. Adve, Hans-Juergen Boehm

    Commun. ACM, vol. 53 (2010), pp. 90-101

  •  

    Garbage collection in the next C++ standard

    Hans-Juergen Boehm, Mike Spertus

    ISMM (2009), pp. 30-38

  •  

    Foundations of the C++ concurrency memory model

    Hans-Juergen Boehm, Sarita V. Adve

    PLDI (2008), pp. 68-78

  •  

    Reordering constraints for pthread-style locks

    Hans-Juergen Boehm

    PPOPP (2007), pp. 173-182

  •  

    The constructive reals as a Java library

    Hans-Juergen Boehm

    J. Log. Algebr. Program., vol. 64 (2005), pp. 3-11

  •  

    Threads cannot be implemented as a library

    Hans-Juergen Boehm

    PLDI (2005), pp. 261-268

  •  

    An almost non-blocking stack

    Hans-Juergen Boehm

    PODC (2004), pp. 40-49

  •  

    The space cost of lazy reference counting

    Hans-Juergen Boehm

    POPL (2004), pp. 210-219

  •  

    Destructors, finalizers, and synchronization

    Hans-Juergen Boehm

    POPL (2003), pp. 262-272

  •  

    Bounding space usage of conservative garbage collectors

    Hans-Juergen Boehm

    POPL (2002), pp. 93-100

  •  

    Letter from the Newly Elected Chair

    Hans-Juergen Boehm

    SIGPLAN Notices, vol. 36 (2001), pp. 1-2

  •  

    SIGPLANet - A Modest Proposal for SIGPLAN in the 21st Century

    Thomas Ball, Hans-Juergen Boehm

    SIGPLAN Notices, vol. 36 (2001), pp. 1-2

  •  

    Reducing Garbage Collector Cache Misses

    Hans-Juergen Boehm

    ISMM (2000), pp. 59-64

  •  

    Understanding memory allocation of scheme programs

    Manuel Serrano, Hans-Juergen Boehm

    ICFP (2000), pp. 245-256

  •  

    Simple Garbage-Collector-Safety

    Hans-Juergen Boehm

    PLDI (1996), pp. 89-98

  •  

    Ropes: An Alternative to Strings

    Hans-Juergen Boehm, Russell R. Atkinson, Michael F. Plass

    Softw., Pract. Exper., vol. 25 (1995), pp. 1315-1330

  •  

    Implementing Multiple Locks Using Lamport's Mutual Exclusion Algorithm

    Hans-Juergen Boehm, Alan J. Demers, Christ Uhler

    LOPLAS, vol. 2 (1993), pp. 46-58

  •  

    Space Efficient Conservative Garbage Collection

    Hans-Juergen Boehm

    PLDI (1993), pp. 197-206

  •  

    Space efficient conservative garbage collection (with retrospective)

    Hans-Juergen Boehm

    Best of PLDI (1993), pp. 490-501

  •  

    Mostly Parallel Garbage Collection

    Hans-Juergen Boehm, Alan J. Demers, Scott Shenker

    PLDI (1991), pp. 157-164

  •  

    Combining Generational and Conservative Garbage Collection: Framework and Implementations

    Alan J. Demers, Mark Weiser, Barry Hayes, Hans-Juergen Boehm, Daniel G. Bobrow, Scott Shenker

    POPL (1990), pp. 261-269

  •  

    Optimizing Programs over the Constructive Reals

    Vernon A. Lee Jr., Hans-Juergen Boehm

    PLDI (1990), pp. 102-111

  •  

    Type Inference in the Presence of Type Abstraction

    Hans-Juergen Boehm

    PLDI (1989), pp. 192-206

  •  

    Garbage Collection in an Uncooperative Environment

    Hans-Juergen Boehm, Mark Weiser

    Softw., Pract. Exper., vol. 18 (1988), pp. 807-820

  •  

    Constructive real interpretation of numerical programs

    Hans-Juergen Boehm

    PLDI (1987), pp. 214-221

  •  

    Parallel Attribute Grammar Evaluation

    Hans-Juergen Boehm, Willy Zwaenepoel

    ICDCS (1987), pp. 347-355

  •  

    Exact Real Arithmetic: A Case Study in Higher Order Programming

    Hans-Juergen Boehm, Robert Cartwright, Mark Riggle, Michael J. O'Donnell

    LISP and Functional Programming (1986), pp. 162-173

  •  

    Implementing RUSSELL

    Hans-Juergen Boehm, Alan J. Demers

    SIGPLAN Symposium on Compiler Construction (1986), pp. 186-195

  •  

    Partial Polymorphic Type Inference Is Undecidable

    Hans-Juergen Boehm

    FOCS (1985), pp. 339-345

  •  

    Side Effects and Aliasing Can Have Simple Axiomatic Descriptions

    Hans-Juergen Boehm

    ACM Trans. Program. Lang. Syst., vol. 7 (1985), pp. 637-655

  •  

    A Logic for Expressions with Side-Effects

    Hans-Juergen Boehm

    POPL (1982), pp. 268-280