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.
? Tutorial for this page

Aaron Greenhouse

dblp:01/3863 · DBLP profile ↗
← Back
4ranked-venue papers
3as first author
0since 2021 · last 2005
0009-0000-6794-5816ORCID · reported

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

Software engineering, systems software and programming languages · 4 · 3 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
1 paper
Concurrent programming · 44% Program analysis · 44% Software maintenance and evolution · 13%

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

TopicWeightPapersLastEvidence papers
Program analysis › static analysis
annotation-based analysis
0.012002
Assuring and evolving concurrent programs: annotations and policy · ICSE 2002
Concurrent programming
concurrency bugs
0.012002
Assuring and evolving concurrent programs: annotations and policy · ICSE 2002
Software maintenance and evolution
refactoring
0.012002
Assuring and evolving concurrent programs: annotations and policy · ICSE 2002

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

static analysis · 0.0annotation-based analysis · 0.0
YearPublicationVenuePosition
2005 Observations on the assured evolution of concurrent Java programs
Aaron Greenhouse, Timothy J. Halloran, William L. Scherlis
Sci. Comput. Program.1
2002 Assuring and evolving concurrent programs: annotations and policy
abstract
Assuring and evolving concurrent programs requires understanding the concurrency-related design decisions used in their implementation. In Java-style shared-memory programs, these decisions include which state is shared, how access to it is regulated, the roles of threads, and the policy that distinguishes desired concurrency from race conditions. These decisions rarely have purely local manifestations in code.In this paper, we use case studies from production Java code to explore the costs and benefits of a new annotation-based approach for expressing design intent. Our intent is both to assist in establishing "thread safety" attributes in code and to support tools that safely restructure code---for example, shifting critical section boundaries or splitting locks. The annotations we use express "mechanical" properties such as lock-state associations, uniqueness of references, and encapsulation of state into named aggregations. Our analyses revealed race conditions in our case study samples, drawn from open-source projects and library code.The novel technical features of this approach include (1) flexible encapsulation via aggregations of state that can cross object boundaries, (2) the association of locks with state aggregations, (3) policy descriptions for allowable method interleavings, and (4) the incremental process for inserting, validating, and exploiting annotations.
Aaron Greenhouse, William L. Scherlis
ICSE1
2002 The code of many colors: relating threads to code and shared state
abstract
We introduce a thread colors model as a way to express design intent concerning the relationships between threads, executable code, and shared state. By expressing the model as annotations in code, it is possible to formally link the model with source code and to analyze the consistency of model and code in a composable manner. By using annotations as cut-points, APIs can be annotated and compliance with library threading policies can be evaluated. This is illustrated using case study examples from published code that show how thread coloring models can assist in assuring policy compliance and in identifying concurrency errors.
Dean F. Sutherland, Aaron Greenhouse, William L. Scherlis
PASTE2
1999 An Object-Oriented Effects System
Aaron Greenhouse, John Tang Boyland
ECOOP1