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.

Bill McCloskey

dblp:82/4731 · DBLP profile ↗
← Back
7ranked-venue papers
3as first author
1since 2021 · last 2023
—ORCID · none

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

Software engineering, systems software and programming languages · 6 · 3 first-author · 1 since 2021Systems, architecture and hardware · 1 · 1 since 2021Applied, interdisciplinary, general and emerging computing · 1

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.

Computer architecture, parallel and distributed computing, and storage systems
1 paper
Memory systems · 61% Cloud and datacenter computing · 39%
Software engineering, system software, and programming languages
3 papers
Program analysis · 41% Concurrent programming · 35% Software maintenance and evolution · 15%

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

TopicWeightPapersLastEvidence papers
Memory systems
DRAM
0.712023
Towards an Adaptable Systems Architecture for Memory Tiering at Warehouse-Scale · ASPLOS (3) 2023
Memory systems
tiered memory
0.712023
Towards an Adaptable Systems Architecture for Memory Tiering at Warehouse-Scale · ASPLOS (3) 2023
Cloud and datacenter computing
warehouse-scale computing
0.712023
Towards an Adaptable Systems Architecture for Memory Tiering at Warehouse-Scale · ASPLOS (3) 2023
Cloud and datacenter computing › resource management
datacenter memory management
0.212023
Towards an Adaptable Systems Architecture for Memory Tiering at Warehouse-Scale · ASPLOS (3) 2023
Program analysis › static analysis
abstract interpretation
0.112008
Lifting abstract interpreters to quantified logical domains · POPL 2008
Concurrent programming › atomicity
atomic sections
0.112006
Autolocker: synchronization inference for atomic sections · POPL 2006
Program analysis
static analysis
0.112006
Autolocker: synchronization inference for atomic sections · POPL 2006
Concurrent programming › synchronization
synchronization synthesis
0.112006
Autolocker: synchronization inference for atomic sections · POPL 2006
Software maintenance and evolution
refactoring
0.112005
ASTEC: a new approach to refactoring C · ESEC/SIGSOFT FSE 2005
Programming languages and type systems
language design
0.012005
ASTEC: a new approach to refactoring C · ESEC/SIGSOFT FSE 2005
Compilers and program optimization › program transformation
source-to-source transformation
0.012005
ASTEC: a new approach to refactoring C · ESEC/SIGSOFT FSE 2005

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

application-transparent tiering · 0.7under-approximation · 0.1over-approximation · 0.1lattice theory · 0.1program analysis · 0.1program transformation · 0.1macro analysis · 0.1
YearPublicationVenuePosition
2023 Towards an Adaptable Systems Architecture for Memory Tiering at Warehouse-Scale
abstract
Fast DRAM increasingly dominates infrastructure spend in large scale computing environments and this trend will likely worsen without an architectural shift. The cost of deployed memory can be reduced by replacing part of the conventional DRAM with lower cost albeit slower memory media, thus creating a tiered memory system where both tiers are directly addressable and cached. But, this poses numerous challenges in a highly multi-tenant warehouse-scale computing setting. The diversity and scale of its applications motivates an application-transparent solution in the general case, adaptable to specific workload demands.
Padmapriya Duraisamy, Scott Hare, Ravi Rajwar, David E. Culler, Zhiyi Xu, Jianing Fan, Chris Kennelly, Bill McCloskey, Danijela Mijailovic, Brian Morris, Chiranjit Mukherjee, Jingliang Ren, Greg Thelen, Carlos Villavieja, Parthasarathy Ranganathan, Amin Vahdat
ASPLOS (3)9
2010 Statically Inferring Complex Heap, Array, and Numeric Invariants
Bill McCloskey, Thomas W. Reps, Shmuel Sagiv
SAS1
2008 Tax-and-spend: democratic scheduling for real-time garbage collection
abstract
Real-time Garbage Collection (RTGC) has recently advanced to the point where it is being used in production for financial trading, military command-and-control, and telecommunications. However, among potential users of RTGC, there is enormous diversity in both application requirements and deployment environments.
Joshua S. Auerbach, David F. Bacon, Perry Cheng, David Grove, Ben Biron, Charlie Gracie, Bill McCloskey, Aleksandar Micic, Ryan Sciampacone
EMSOFT7
2008 Lifting abstract interpreters to quantified logical domains
abstract
We describe a general technique for building abstract interpreters over powerful universally quantified abstract domains that leverage existing quantifier-free domains. Our quantified abstract domain can represent universally quantified facts like ∀i(0 ≤ i < n ⇒ α[i] = 0). The principal challenge in this effort is that, while most domains supply over-approximations of operations like join, meet, and variable elimination, working with the guards of quantified facts requires under-approximation. We present an automatic technique to convert the standard over-approximation operations provided with all domains into sound under-approximations. We establish the correctness of our abstract interpreters by identifying two lattices---one that establishes the soundness of the abstract interpreter and another that defines its precision, or completeness. Our experiments on a variety of programs using arrays and pointers (including several sorting algorithms) demonstrate the feasibility of the approach on challenging examples.
Sumit Gulwani, Bill McCloskey, Ashish Tiwari 0001
POPL2
2006 Autolocker: synchronization inference for atomic sections
abstract
The movement to multi-core processors increases the need for simpler, more robust parallel programming models. Atomic sections have been widely recognized for their ease of use. They are simpler and safer to use than manual locking and they increase modularity. But existing proposals have several practical problems, including high overhead and poor interaction with I/O. We present pessimistic atomic sections, a fresh approach that retains many of the advantages of optimistic atomic sections as seen in "transactional memory" without sacrificing performance or compatibility. Pessimistic atomic sections employ the locking mechanisms familiar to programmers while relieving them of most burdens of lock-based programming, including deadlocks. Significantly, pessimistic atomic sections separate correctness from performance: they allow programmers to extract more parallelism via finer-grained locking without fear of introducing bugs. We believe this property is crucial for exploiting multi-core processor designs.We describe a tool, Autolocker, that automatically converts pessimistic atomic sections into standard lock-based code. Autolocker relies extensively on program analysis to determine a correct locking policy free of deadlocks and race conditions. We evaluate the expressiveness of Autolocker by modifying a 50,000 line high-performance web server to use atomic sections while retaining the original locking policy. We analyze Autolocker's performance using microbenchmarks, where Autolocker outperforms software transactional memory by more than a factor of 3.
Bill McCloskey, David Gay, Eric A. Brewer
POPL1
2005 Thirty Years Is Long Enough: Getting Beyond C
Eric A. Brewer, Jeremy Condit, Bill McCloskey
HotOS3
2005 ASTEC: a new approach to refactoring C
abstract
The C language is among the most widely used in the world, particularly for critical infrastructure software. C programs depend upon macros processed using the C preprocessor, but these macros are difficult to analyze and are often error-prone[4]. Existing tools that analyze and transform C source code have rudimentary support for the preprocessor, leading to obscure error messages and difficulty refactoring. We present a three part solution: (1) a replacement macro language, ASTEC, that addresses the most important important deficiencies of the preprocessor and that eliminates many of the errors it introduces; (2) a translator, MACROSCOPE, that converts existing code into ASTEC semi-automatically; and (3), an ASTEC-aware refactoring tool that handles preprocessor constructs naturally.ASTEC's primary benefits are its analyzability and its refactorability. We present several refactorings that are enabled by ASTEC. Additionally, ASTEC eliminates many of the sources of errors that can plague C preprocessor macros; Ernst et al.[4] estimate that more than 20% of macros may contain errors. In this paper, we describe our translation and refactoring tools and evaluate them on a suite of programs including OpenSSH and the Linux kernel.
Bill McCloskey, Eric A. Brewer
ESEC/SIGSOFT FSE1