Sign In

Communications of the ACM

Table of Contents

DEPARTMENT: President's letter

ACM Europe

Increasing ACM's relevance and influence as a membership organization in the global computing community has been a top priority from the outset of my presidency.
DEPARTMENT: Letters to the editor

Time and Computing

Edward E. Lee's "Computing Needs Time" (May 2009) might be the most important, stimulating, and timely article I have read in Communications over the past 50 years.
DEPARTMENT: In the Virtual Extension

In the Virtual Extension

Communications' Virtual Extension brings more quality articles to ACM members. These articles are now available in the ACM Digital Library.

The Netflix Prize, Computer Science Outreach, and Japanese Mobile Phones

The Communications Web site,, features more than a dozen bloggers in the BLOG@CACM community. In each issue of Communications, we'll publish excerpts from selected posts. Greg Linden writes about machine learning …

Following the Leaders

The articles, sections, and services available on Communications' Web site all vie for visitor attention. According to our latest Web statistics, the following features …

Managing Data

Dealing with terabytes of data is not the monumental task it once was. The difficult part is presenting enormous amounts of information in ways that are most useful to a wide variety of users.

Debating Net Neutrality

Advocates seek to protect users from potential business practices, but defenders of the status quo say that concerns are overblown.

Shaping the Future

To create shape-shifting robotic ensembles, researchers need to teach micro-machines to work together.
COLUMN: Viewpoints

Contagious Craziness, Spreading Sanity

Some examples of the upward or downward spiral of behaviors in the workplace.

Computing in the Depression Era

Since its beginning, the computer industry has been through several major recessions, each occurring  approximately five years after the establishment of a new computing paradigm …

Reflections on Conficker

Conficker's alarming growth rate in early 2009 along with the apparent mystery surrounding its ultimate purpose had raised concern among whitehat security researchers. Here is an insider's view of the …

Dealing with the Venture Capital Crisis

The venture capital industry, like financial services in general, has fallen on hard times. Part of the problem is that large payoffs have become increasingly scarce. But perhaps …

Kode Reviews 101

A review of code review do's and don'ts.

Retrospective: An Axiomatic Basis For Computer Programming

C.A.R. Hoare revisits his past Communications article on the axiomatic approach to programming and uses it as a touchstone for the future.
SECTION: Practice

Probing Biomolecular Machines with Graphics Processors

GPU acceleration and other computer performance increases will offer critical benefits to biomedical science.

Unifying Biological Image Formats with HDF5

The biosciences need an image format capable of high performance and long-term maintenance. Is HDF5 the answer?

A Conversation with David E. Shaw

Stanford professor Pat Hanrahan sits down with the noted hedge fund founder, computational biochemist, and (above all) computer scientist.
SECTION: Contributed articles

A View of the Parallel Computing Landscape

Writing programs that scale with increasing numbers of cores should be as easy as writing programs for sequential computers. Here as a concrete example of a coordinated attack on the problem of parallelism …

Automated Support For Managing Feature Requests in Open Forums

The result is stable, focused, dynamic discussion threads that avoid redundant ideas and engage thousands of stakeholders.
SECTION: Review articles

Smoothed Analysis: An Attempt to Explain the Behavior of Algorithms in Practice

This Gödel Prize-winning work traces the steps toward modeling real data.
SECTION: Research highlights

Technical Perspective: Relational Query Optimization: Data Management Meets Statistical Estimation

Relational systems have made it possible to query large collections of data in a declarative style through languages such as SQL. There is a key component that is needed to support this declarative style of programming and that …

Distinct-Value Synopses For Multiset Operations

The task of estimating the number of distinct values (DVs) in a large dataset arises in a wide variety of settings in computer science and elsewhere. We provide DV estimation techniques for the case in which the dataset of interest …

Technical Perspective: Data Stream Processing - When You Only Get One Look

The database and systems communities have made great progress in developing database systems that allow us to store and query huge amounts of data. Real-time analysis is becoming mandatory. Here is where data stream processing …

Finding the Frequent Items in Streams of Data

Many data generation processes can be modeled as data streams. While this data may be archived and indexed within a data warehouse, it is also important to process the data "as it happens," to provide up to the minute analysis …
COLUMN: Last byte

Q&A: The Networker

Jon Kleinberg talks about algorithms, information flow, and the connections between Web search and social networks.
SECTION: Virtual extension

Do SAP Successes Outperform Themselves and Their Competitors?

It's been over 10 years since corporate America embraced ERP systems, but hard evidence on the financial benefits that ERP systems have provided has been elusive. This debate has spilled into the mainstream media, as America's …

Balancing Four Factors in System Development Projects

Introduction The success of system development is most often gauged by three primary indicators: the number of days of deviation from scheduled delivery date, the percentage of deviation from the proposed budget, and meeting …

Attaining Superior Complaint Resolution

Introduction In 2003, Dell computers shifted support calls for two of its corporate computer lines from its call center in Bangalore, India back to the U.S. The reason was that its customers were not satisfied with the level …

Making Ubiquitous Computing Available

The field of ubiquitous computing was inspired by Mark Weiser's vision of computing artifacts that disappear. "They weave themselves into the fabric of everyday life until they are indistinguishable from it." Although Weiserphysical …

De-Escalating IT Projects: The DMM Model

Taming runaway Information Technology (IT) projects is a challenge that most organizations have faced and that managers continue to wrestle with. These are projects that grossly exceed their planned budgets and schedules, often …

Human Interaction For High-Quality Machine Translation

Translation from a source language into a target language has become a very important activity in recent years, both in official institutions (such as the United Nations and the EU, or in the parliaments of multilingual countries …

How Effective Is Google's Translation Service in Search?

In multilingual countries (Canada, Hong Kong, India, among others) and large international organizations or companies (such as, WTO, European Parliament), and among Web users in general, accessing information written in other …

Overcoming the J-Shaped Distribution of Product Reviews

While product review systems that collect and disseminate opinions about products from recent buyers (Table 1) are valuable forms of word-of-mouth communication, evidence suggests that they are overwhelmingly positive. Kadet …