acm-header
Sign In

Communications of the ACM

Latest Practice



Debugging Incidents in Google's Distributed Systems
From Communications of the ACM

Debugging Incidents in Google's Distributed Systems

How experts debug production issues in complex distributed systems.

Dark Patterns
From Communications of the ACM

Dark Patterns: Past, Present, and Future

The evolution of tricky user interfaces.

Is Persistent Memory Persistent?
From Communications of the ACM

Is Persistent Memory Persistent?

A simple and inexpensive test of failure-atomic update mechanisms.

To Catch a Failure
From Communications of the ACM

To Catch a Failure: The Record-and-Replay Approach to Debugging

A discussion with Robert O'Callahan, Kyle Huey, Devon O'Dell, and Terry Coatta.

The Best Place to Build a Subway
From Communications of the ACM

The Best Place to Build a Subway

Building projects despite (and because of) existing complex systems.

Beyond the 'Fix-It' Treadmill
From Communications of the ACM

Beyond the 'Fix-It' Treadmill

The use of post-incident artifacts in high-performing organizations.

Revealing the Critical Role of Human Performance in Software
From Communications of the ACM

Revealing the Critical Role of Human Performance in Software

It's time to appreciate the human side of Internet-facing software systems.

Above the Line, Below the Line
From Communications of the ACM

Above the Line, Below the Line

The resilience of Internet-facing systems relies on what is above the line of representation.

Optimizations in C++ Compilers
From Communications of the ACM

Optimizations in C++ Compilers

A practical journey.

The Reliability of Enterprise Applications
From Communications of the ACM

The Reliability of Enterprise Applications

Understanding enterprise reliability.

Blockchain Technology
From Communications of the ACM

Blockchain Technology: What Is It Good For?

Industry's dreams and fears for this new technology.

Space Time Discontinuum
From Communications of the ACM

Space Time Discontinuum

Combining data from many sources may cause painful delays.

Write Amplification vs. Read Perspiration
From Communications of the ACM

Write Amplification vs. Read Perspiration

The trade-offs between write and read.

Open Source Firmware
From Communications of the ACM

Open Source Firmware

Step into the world behind the kernel.

Demo Data as Code
From Communications of the ACM

Demo Data as Code

Automation helps collaboration.

Surviving Software Dependencies
From Communications of the ACM

Surviving Software Dependencies

Software reuse is finally here but comes with risks.

Velocity in Software Engineering
From Communications of the ACM

Velocity in Software Engineering

From tectonic plate to F-16.

Research for Practice: The DevOps Phenomenon
From Communications of the ACM

Research for Practice: The DevOps Phenomenon

An executive crash course.

Extract, Shoehorn, and Load
From Communications of the ACM

Extract, Shoehorn, and Load

Data doesn't always fit nicely into a new home.

Garbage Collection as a Joint Venture
From Communications of the ACM

Garbage Collection as a Joint Venture

A collaborative approach to reclaiming memory in heterogeneous software systems.
Sign In for Full Access
» Forgot Password? » Create an ACM Web Account