acm-header
Sign In

Communications of the ACM

Latest Practice



Managing Technical Debt
From Communications of the ACM

Managing Technical Debt

Shortcuts that save money and time today can cost you down the road.

Idempotence Is Not a Medical Condition
From Communications of the ACM

Idempotence Is Not a Medical Condition

Messages may be retried. Idempotence means that's OK.

Your Mouse Is a Database
From Communications of the ACM

Your Mouse Is a Database

Web and mobile applications are increasingly composed of asynchronous and real-time streaming services and push notifications.

Why LINQ Matters
From Communications of the ACM

Why LINQ Matters: Cloud Composability Guaranteed

The benefits of composability are becoming clear in software engineering.

Interactive Dynamics For Visual Analysis
From Communications of the ACM

Interactive Dynamics For Visual Analysis

A taxonomy of tools that support the fluent and flexible use of visualizations.

CPU DB: Recording Microprocessor History
From Communications of the ACM

CPU DB: Recording Microprocessor History

With the open CPU DB database, you can mine microprocessor trends over the past 40 years.

SAGE: Whitebox Fuzzing For Security Testing
From Communications of the ACM

SAGE: Whitebox Fuzzing For Security Testing

SAGE has had a remarkable impact at Microsoft.

Revisiting Network I/O APIs
From Communications of the ACM

Revisiting Network I/O APIs: The Netmap Framework

It is possible to achieve huge performance improvements in the way packet processing is done on modern operating systems.

The Hyperdimensional Tar Pit
From Communications of the ACM

The Hyperdimensional Tar Pit

Make a guess, double the number, and then move to the next larger unit of time.

Bufferbloat: What's Wrong With the Internet?
From Communications of the ACM

Bufferbloat: What's Wrong With the Internet?

A discussion with Vint Cerf, Van Jacobson, Nick Weaver, and Jim Gettys.

You Don't Know Jack About Shared Variables or Memory Models
From Communications of the ACM

You Don't Know Jack About Shared Variables or Memory Models

Data races are evil.

Advances and Challenges in Log Analysis
From Communications of the ACM

Advances and Challenges in Log Analysis

Logs contain a wealth of information to help manage systems.

Creating Languages in Racket
From Communications of the ACM

Creating Languages in Racket

Sometimes you just have to make a better mousetrap.

Bufferbloat
From Communications of the ACM

Bufferbloat: Dark Buffers in the Internet

Networks without effective AQM may again be vulnerable to congestion collapse.

I/O Virtualization
From Communications of the ACM

I/O Virtualization

Decoupling a logical device from its physical implementation offers many compelling advantages.

Postmortem Debugging in Dynamic Environments
From Communications of the ACM

Postmortem Debugging in Dynamic Environments

Many modern dynamic languages lack tools for understanding complex failures.

How Will Astronomy Archives Survive the Data Tsunami?
From Communications of the ACM

How Will Astronomy Archives Survive the Data Tsunami?

Astronomers are collecting more data than ever. What practices can keep them ahead of the flood?

Coding Guidelines: Finding the Art in the Science
From Communications of the ACM

Coding Guidelines: Finding the Art in the Science

Computer science is both a science and an art. Yet, when it comes time for implementation, there is a combination of artistic flare, nuanced style, and technical...

The Software Industry <i>is</i> the Problem
From Communications of the ACM

The Software Industry is the Problem

The time has come for software liability laws.

Java Security Architecture Revisited
From Communications of the ACM

Java Security Architecture Revisited

Difficult technical problems and tough business challenges.
Sign In for Full Access
» Forgot Password? » Create an ACM Web Account