acm-header
Sign In

Communications of the ACM

Latest Research



Continuity and Robustness of Programs
From Communications of the ACM

Continuity and Robustness of Programs

Computer scientists have long believed that software is different from physical systems in one fundamental way: while the latter have continuous dynamics, the former...

From Communications of the ACM

Technical Perspective: Example-Driven Program Synthesis For End-User Programming

As information technology has come to permeate our society, broader classes of users have developed the need for more sophisticated data manipulation and processing...

Spreadsheet Data Manipulation Using Examples
From Communications of the ACM

Spreadsheet Data Manipulation Using Examples

Millions of computer end users need to perform tasks over large spreadsheet data, yet lack the programming knowledge to do such tasks automatically. We present...

From Communications of the ACM

Technical Perspective: Why Study the Price of Anarchy?

In 1999, Elias Koutsoupias and Christos Papadimitriou initiated the study of "How much worse off are we due to selfishness?" They compared the worst case pure...

Intrinsic Robustness of the Price of Anarchy
From Communications of the ACM

Intrinsic Robustness of the Price of Anarchy

The price of anarchy, defined as the ratio of the worst-case objective function value of a Nash equilibrium of a game and that of an optimal outcome, quantifies...

From Communications of the ACM

Technical Perspective: For Better or Worse, Benchmarks Shape a Field

Like other IT fields, computer architects initially reported incomparable results. We quickly saw the folly of this approach. We then went through a sequence...

Looking Back and Looking Forward
From Communications of the ACM

Looking Back and Looking Forward: Power, Performance, and Upheaval

The past 10 years have delivered two significant revolutions. Microprocessor design has been transformed — leading to multicore processors. And an entirely new...

Lightweight Modular Staging
From Communications of the ACM

Lightweight Modular Staging: A Pragmatic Approach to Runtime Code Generation and Compiled DSLs

Good software engineering practice demands generalization and abstraction, whereas high performance demands specialization and concretization. These goals are at...

From Communications of the ACM

Technical Perspective: The Fox and the Hedgehog

"The fox knows many things, but the hedgehog knows one big thing." Philosophers have used this line, attributed to the ancient Greek poet Archilochus, to capture...

Exact Matrix Completion via Convex Optimization
From Communications of the ACM

Exact Matrix Completion via Convex Optimization

Suppose that one observes an incomplete subset of entries selected from a low-rank matrix. When is it possible to complete the matrix and recover the entries that...

From Communications of the ACM

Technical Perspective: Reconstructing the Unknown, Balancing Structure and Uncertainty

The problem of estimating or reconstructing an unknown structured object from incomplete, partial, noisy measurements is a fundamental one in scientific and technological...

From Communications of the ACM

Technical Perspective: An Experiment in Determinism

It is widely held that parallel programming is far more difficult and error prone than writing sequential code. In particular, the myriad allowable interleavings...

Efficient System-Enforced Deterministic Parallelism
From Communications of the ACM

Efficient System-Enforced Deterministic Parallelism

We introduce a new parallel programming model addressing the issues facing current methods of executing parallel programs deterministically, and use Determinator...

From Communications of the ACM

Technical Perspective: Best Algorithms + Best Computers = Powerful Match

Say you want to simulate the motion over time of the stars in a galaxy to learn about how galaxies formed and why the universe appears as it does. Is it feasible...

A Massively Parallel Adaptive Fast Multipole Method on Heterogeneous Architectures
From Communications of the ACM

A Massively Parallel Adaptive Fast Multipole Method on Heterogeneous Architectures

We describe a parallel fast multipole method for highly nonuniform distributions of particles. We employ both distributed memory parallelism and shared memory parallelism...

Searching the Village
From Communications of the ACM

Searching the Village: Models and Methods For Social Search

With Aardvark, a social search engine, users ask a question, either by IM, e-mail, Web input, text message, or voice. Aardvark then routes the question to the person...

From Communications of the ACM

Technical Perspective: Who Knows?: Searching For Expertise on the Social Web

It is difficult to remember what people had to do to find the answer to a question before the Web. One option might be to call a friend who might know the answer...

Asynchronous Contact Mechanics
From Communications of the ACM

Asynchronous Contact Mechanics

Physicists have long observed physical phenomena and developed mathematical models to describe them. The advent of computers has allowed us to implement these...

From Communications of the ACM

Technical Perspective: Building Robust Dynamical Simulation Systems

Computational power has been widely used to predict the behavior of dynamical systems using computer simulations, which are often used as an adjunct to or substitute...

The Grand Challenge of Computer Go
From Communications of the ACM

The Grand Challenge of Computer Go: Monte Carlo Tree Search and Extensions

The ancient oriental game of Go has long been considered a grand challenge for artificial intelligence. However, computer Go programs based on Monte-Carlo tree...
Sign In for Full Access
» Forgot Password? » Create an ACM Web Account