Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.

Doug Lea

dblp:l/DougLea · DBLP profile ↗
← Back
20ranked-venue papers
8as first author
1since 2021 · last 2025
0000-0002-6068-7866ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 13 · 5 first-author · 1 since 2021Systems, architecture and hardware · 3 · 1 first-authorDatabases, data management, data science and information retrieval · 1 · 1 first-authorHuman-computer interaction and ubiquitous computing · 1Theory of computation · 1 · 1 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
6 papers
Concurrent programming · 88% Programming languages and type systems · 10% Services computing and microservices · 1%
Computer architecture, parallel and distributed computing, and storage systems
3 papers
Parallel and multicore computing · 97% Distributed systems · 3%
Theoretical computer science
1 paper
Algorithms and data structures · 100%

Topics — the 12 heaviest of 15, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Concurrent programming
concurrency bug detection
0.912025
Soundness of Predictive Concurrency Analyses · Proc. ACM Program. Lang. 2025
Concurrent programming
memory models
0.912025
Soundness of Predictive Concurrency Analyses · Proc. ACM Program. Lang. 2025
Concurrent programming › memory models
weak memory models
0.912025
Soundness of Predictive Concurrency Analyses · Proc. ACM Program. Lang. 2025
Programming languages and type systems › type systems
soundness
0.312025
Soundness of Predictive Concurrency Analyses · Proc. ACM Program. Lang. 2025
Parallel and multicore computing › parallel programming models › task parallelism
fork-join parallelism
0.212014
Fast splittable pseudorandom number generators · OOPSLA 2014
Algorithms and data structures
pseudorandom number generation
0.212014
Fast splittable pseudorandom number generators · OOPSLA 2014
Concurrent programming
concurrent data structures
0.112006
Scalable synchronous queues · PPoPP 2006
Concurrent programming › synchronization
non-blocking synchronization
0.112006
Scalable synchronous queues · PPoPP 2006
Programming languages and type systems
object-oriented programming
0.122014
Fast splittable pseudorandom number generators · OOPSLA 2014
Formal Techniques for OO Software Development (Panel) · OOPSLA 1991
Services computing and microservices
web services
0.012002
Web services engineering: promises and challenges · ICSE 2002
Internet architecture and protocols › service architecture
service-oriented architecture
0.012002
Web services engineering: promises and challenges · ICSE 2002
Distributed systems
middleware
0.011998
Building Distributed Systems (Panel) · OOPSLA 1998

Methods — techniques the papers use, named apart from their topics

graph-based soundness definition · 0.9splitmix algorithm · 0.6dual stack · 0.1dual queue · 0.1
YearPublicationVenuePosition
2025 Soundness of Predictive Concurrency Analyses
abstract
A predictive analysis takes an execution trace as input and discovers concurrency bugs without accessing the program source code. A sound predictive analysis reports no false positives, which sounds like a property that can be defined easily, but which has been defined in many different ways in previous work. In this paper, we unify, simplify, and generalize those soundness defInitions for analyses that discover concurrency bugs that can be represented as a consecutive sequence of events. Our soundness defInition is graph based, separates thread-local properties and whole-execution properties, and works well with weak memory executions. We also present a three-step proof recipe, and we use it to prove six existing analyses sound. This includes the first proof of soundness for a predictive analysis that works with weak memory.
Doug Lea, Jens Palsberg
Proc. ACM Program. Lang.2
2014 Fast splittable pseudorandom number generators
abstract
We describe a new algorithm SplitMix for an object-oriented and splittable pseudorandom number generator (PRNG) that is quite fast: 9 64-bit arithmetic/logical operations per 64 bits generated. A conventional linear PRNG object provides a generate method that returns one pseudorandom value and updates the state of the PRNG, but a splittable PRNG object also has a second operation, split, that replaces the original PRNG object with two (seemingly) independent PRNG objects, by creating and returning a new such object and updating the state of the original object. Splittable PRNG objects make it easy to organize the use of pseudorandom numbers in multithreaded programs structured using fork-join parallelism. No locking or synchronization is required (other than the usual memory fence immediately after object creation). Because the generate method has no loops or conditionals, it is suitable for SIMD or GPU implementation.
Guy L. Steele Jr., Doug Lea, Christine H. Flood
OOPSLA2
2012 Abstraction failures in concurrent programming
abstract
Creating components based on concurrent and parallel algorithms and data structures often requires more attention to "engineering" issues not seen with most other libraries. Components created in the "obvious" way sometimes turn out to be wrong, to perform poorly, or are unusable in most applications, because the abstractions in which they are expressed are leaky, imprecise, or incorrectly specified. While many of these issues are encountered in other aspects of concurrent programming, the impact is accentuated when they continue to leak through to APIs provided by library components. This presentation surveys some examples and lessons learned from the design, implementation, and applications of the java.util.concurrent library, including those surrounding memory models, resource management and garbage collection, thread management, optimization, and code generation.
Doug Lea
SPAA1
2010 Code Roots
Doug Lea
ECOOP1
2010 Guest editors' foreword
Doug Lea, Gianluigi Zavattaro
Sci. Comput. Program.1
2008 Solving Large, Irregular Graph Problems Using Adaptive Work-Stealing
abstract
Solving large, irregular graph problems efficiently is challenging. Current software systems and commodity multiprocessors do not support fine-grained, irregular parallelism well. We present XWS, the X10 Work Stealing framework, an open-source runtime for the parallel programming language X10 and a library to be used directly by application writers. XWS extends the Cilk work-stealing framework with several features necessary to efficiently implement graph algorithms, viz., support for improperly nested procedures, global termination detection, and phased computation. We also present a strategy to adaptively control the granularity of parallel tasks in the work-stealing scheme, depending on the instantaneous size of the work queue. We compare the performance of the XWS implementations of spanning tree algorithms with that of the hand-written C and Cilk implementations using various graph inputs. We show that XWS programs (written in Java) scale and exhibit comparable or better performance.
Guojing Cong, Sreedhar B. Kodali, Sriram Krishnamoorthy, Doug Lea, Vijay A. Saraswat, Tong Wen
ICPP4
2006 Scalable synchronous queues
abstract
We present two new nonblocking and contention-free implementations of synchronous queues ,concurrent transfer channels in which producers wait for consumers just as consumers wait for producers. Our implementations extend our previous work in dual queues and dual stacks to effect very high-performance handoff. We present performance results on 16-processor SPARC and 4-processor Opteron machines. We compare our algorithms to commonly used alternatives from the literature and from the Java SE 5.0 class java. util. concurrent. SynchronousQueue both directly in synthetic microbenchmarks and indirectly as the core of Java's Thread-PoolExecutor mechanism (which in turn is the core of many Java server programs).Our new algorithms consistently outperform the Java SE 5.0 SynchronousQueue by factors of three in unfair mode and 14 in fair mode; this translates to factors of two and ten for the ThreadPoolExecutor. Our synchronous queues have been adopted for inclusion in Java 6.
William N. Scherer III, Doug Lea, Michael L. Scott
PPoPP2
2006 Special issue on synchronization and concurrency in object-oriented languages
Tim Harris 0001, Doug Lea
Sci. Comput. Program.2
2005 The java.util.concurrent synchronizer framework
Doug Lea
Sci. Comput. Program.1
2002 Web services engineering: promises and challenges
abstract
Web services are emerging technologies to reuse software as services over the Internet by wrapping underlying computing models with XML. Web services are rapidly evolving and are expected to change the paradigms of both software development and use. This panel will discuss the current status and challenges of Web services technologies.
Mikio Aoyama, Sanjiva Weerawarana, Hiroshi Maruyama, Clemens A. Szyperski, Kevin J. Sullivan, Doug Lea
ICSE6
2001 Editorial: Aliasing in object-oriented systems
abstract
Aliasing in object-oriented systemsAliasing is naturally endemic in object-oriented programs.Every object in an object-oriented program can refer to many other objects, so the overall topology of a program is a general graph.The state of an object can rely on the states of all of the other objects it references.Aliasing occurs when one object is reachable via multiple paths, usually because it is referenced by several other objects.Aliasing results in 'action at a distance'-operations on one object can affect the logical state of apparently unrelated objects that (perhaps indirectly) refer to it.The articles in this issue address the costs and benefits of aliasing in a number of ways.The first three articles focus on programming techniques and language features that allow programmers to control aliasing and its effects.Boris Bokowski and Jan Vitek describe how Confined Types can be used to restrict potential aliasing within programs.John Boyland's article on Alias Burying describes how variables holding unique references to objects can be implemented without special programming language support.Günther Kniesel and Dirk Theisen describe how Java can be extended to support types that provide read-only access to objects, thus eliminating some of the unwanted effects of aliasing without restricting the program's topology.While new languages and language features can help reduce and control aliasing, compilers today must deal with programs filled with potential aliases.The article by Anthony Hosking et al. describes how partial redundancy elimination can support compiler-level optimizations in the presence of aliasing.Finally, Olivier Zenda and Dominque Colnet evaluate the use of aliasing in the implementation of the SmallEiffel compiler.This issue, then, represents the state of practice in dealing with aliasing in object-oriented systems.
James Noble 0001, Doug Lea
Softw. Pract. Exp.2
1999 TRUCE: Agent Coordination Through Concurrent Interpretation of Role-Based Protocols
Wilfred C. Jamison, Doug Lea
COORDINATION2
1998 Building Distributed Systems (Panel)
abstract
Everyone is building a distributed systems these days, but the "how" has become a matter for religious debate and the "why" is often neglected completely.This panel brings together a variety of practitioners to explain the joys and woes of building a distributed system including: .why a distributed solution was chosen .what middleware was selected and why .what issues and gotchas reared their ugly heads and what was done about it
Doug Lea, David W. Forslund, Tom Barry, Don Vines, Rajendra K. Raj, Ashutosh Tiwary
OOPSLA1
1997 Design for Open Systems in Java
Doug Lea
COORDINATION1
1995 Interface-Based Protocol Specification of Open Systems using PSL
Doug Lea, Jos Marlowe
ECOOP1
1995 Systematic Software Reuse - Panel Session
abstract
No abstract available.
Martin L. Griss, Ted J. Biggerstaff, Sallie M. Henry, Ivar Jacobson, Doug Lea, Will Tracz
OOPSLA5
1994 Developing an undergraduate software engineering program in a liberal arts college
abstract
Article Free Access Share on Developing an undergraduate software engineering program in a liberal arts college Authors: Paul T. Tymann State University of New York, Oswego, New York State University of New York, Oswego, New YorkView Profile , Douglas Lea State University of New York, Oswego, New York State University of New York, Oswego, New YorkView Profile , Rajendra K. Raj State University of New York, Oswego, New York State University of New York, Oswego, New YorkView Profile Authors Info & Claims SIGCSE '94: Proceedings of the twenty-fifth SIGCSE symposium on Computer science educationMarch 1994Pages 276–280https://doi.org/10.1145/191029.191143Published:12 March 1994Publication History 4citation146DownloadsMetricsTotal Citations4Total Downloads146Last 12 Months6Last 6 weeks0 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my AlertsNew Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteeReaderPDF
Paul T. Tymann, Doug Lea, Rajendra K. Raj
SIGCSE2
1992 The Process of Object-Oriented Design
abstract
The object-oriented design process is investigated within the classic software development classification of Analysis, Design, and Implementation.When all development is performed using object oriented methods, OOD is best characterized as a transformational process, mapping declarative descriptions of objects and classes to implementation plans.Subphases of class design, system design, and program design accommodate and rationalize 00 practices including abstraction, prototyping, refinement, bottom-up composition, delegation, interoperablity, clustering objects into processes, resource management design, tuning and optimization.
Dennis de Champeaux, Doug Lea, Penelope Faure
OOPSLA2
1991 Formal Techniques for OO Software Development (Panel)
abstract
Article Free Access Share on Formal techniques for OO software development Authors: Pierre America Philips Research Laboratories Philips Research LaboratoriesView Profile , Derek Coleman HP-Lab Bristol HP-Lab BristolView Profile , Roger Duke University of Queensland University of QueenslandView Profile , Doug Lea Syracuse University & SUNY-Oswego Syracuse University & SUNY-OswegoView Profile , Gary Leavens Iowa State University Iowa State UniversityView Profile Authors Info & Claims OOPSLA '91: Conference proceedings on Object-oriented programming systems, languages, and applicationsNovember 1991 Pages 166–170https://doi.org/10.1145/117954.117967Published:01 November 1991Publication History 2citation376DownloadsMetricsTotal Citations2Total Downloads376Last 12 Months13Last 6 weeks1 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my AlertsNew Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteeReaderPDF
Dennis de Champeaux, Pierre America, Derek Coleman, Roger Duke, Doug Lea, Gary T. Leavens, Fiona Hayes
OOPSLA5
1988 Digital and Hilbert k-d Trees
Doug Lea
Inf. Process. Lett.1