acm-header
Sign In

Communications of the ACM

Latest Research



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...

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...

From Communications of the ACM

Technical Perspective: A New Way to Search Game Trees

Researchers in artificial intelligence know that computers still lag far behind human levels of play in many games of strategy. One such contest of wits is Go...

From Communications of the ACM

Technical Perspective: The Benefits of Capability-Based Protection

Affordable personal computing hardware and the usable GUI-based PC operating systems made the vision of "a computer on every desktop and in every home" a reality...

A Taste of Capsicum
From Communications of the ACM

A Taste of Capsicum: Practical Capabilities For Unix

Capsicum is a lightweight operating system capability and sandbox framework planned for inclusion in FreeBSD 9. Capsicum extends, rather than replaces, UNIX APIs...

From Communications of the ACM

Technical Perspective: Modeling High-Dimensional Data

Data in high dimension is difficult to visualize and understand. This has always been the case and is even more apparent now with the availability of large high...

Disentangling Gaussians
From Communications of the ACM

Disentangling Gaussians

The Gaussian mixture model is one of the oldest and most widely used statistical models. Our work focuses on the case where the mixture consists of a small but...

From Communications of the ACM

Technical Perspective: Compiling What to How

The following paper by Viktor Kuncak et al. integrates declarative programming into a general-purpose language, allowing one to escape the host language when...

Software Synthesis Procedures
From Communications of the ACM

Software Synthesis Procedures

Automated synthesis of program fragments from specifications can make programs easier to write and easier to reason about. To integrate synthesis into programming...

From Communications of the ACM

Technical Perspective: Where Do People Draw Lines?

Computer graphics once focused exclusively on realism. The field eventually broadened to include other pictorial...

Where Do People Draw Lines?
From Communications of the ACM

Where Do People Draw Lines?

This paper presents the results of a study in which artists made line drawings intended to convey specific 3D shapes.

From Communications of the ACM

Technical Perspective: Anonymity Is Not Privacy

We live in an era of data abundance. Every aspect of our online and offline behavior is captured and analyzed. The companies holding our data face the responsibility...

Wherefore Art Thou R3579X?
From Communications of the ACM

Wherefore Art Thou R3579X?: Anonymized Social Networks, Hidden Patterns, and Structural Steganography

In a social network, nodes correspond to people or other social entities, and edges correspond to social links between them. We describe a family of attacks such...
Sign In for Full Access
» Forgot Password? » Create an ACM Web Account