acm-header
Sign In

Communications of the ACM

Latest Practice



A New Objective-C Runtime
From Communications of the ACM

A New Objective-C Runtime: From Research to Production

Backward compatibility always trumps new features.

Software Needs Seatbelts and Airbags
From Communications of the ACM

Software Needs Seatbelts and Airbags

Finding and fixing bugs in deployed software is difficult and time-consuming. Here are some alternatives.

All Your Database Are Belong To Us
From Communications of the ACM

All Your Database Are Belong To Us

In the big open world of the cloud, highly available distributed objects will rule.

Extending the Semantics of Scheduling Priorities
From Communications of the ACM

Extending the Semantics of Scheduling Priorities

Increasing parallelism demands new paradigms.

Multitier Programming in Hop
From Communications of the ACM

Multitier Programming in Hop

A first step toward programming 21st-century applications.

My Compiler Does Not Understand Me
From Communications of the ACM

My Compiler Does Not Understand Me

Until our programming languages catch up, code will be full of horrors.

Getting What You Measure
From Communications of the ACM

Getting What You Measure

There are four common pitfalls to avoid when using software metrics in a project management setting.

Modeling People and Places with Internet Photo Collections
From Communications of the ACM

Modeling People and Places with Internet Photo Collections

Understanding the world from the sea of online photos.

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.

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.

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.
Sign In for Full Access
» Forgot Password? » Create an ACM Web Account