acm-header
Sign In

Communications of the ACM

Latest Research



And Then There Were None
From Communications of the ACM

And Then There Were None: A Stall-Free Real-Time Garbage Collector For Reconfigurable Hardware

We present a garbage collector synthesized directly to hardware, capable of collecting a heap of uniform objects completely concurrently. These heaps are composed...

From Communications of the ACM

Technical Perspective: Progress in Visual Categorization

Our visual system helps us carry out our daily business. Our eyes and brain help us by measuring shapes, trajectories, and distances in world around us, and by...

Visual Object Detection with Deformable Part Models
From Communications of the ACM

Visual Object Detection with Deformable Part Models

We describe a state-of-the-art system for finding objects in cluttered images. Our system is based on deformable models that represent objects using local part...

From Communications of the ACM

Technical Perspective: The Ray-Tracing Engine That Could

It has been an open question whether it is possible to build GPU-targeted high-performance software systems that are themselves programmable. "GPU Ray Tracing" shows...

GPU Ray Tracing
From Communications of the ACM

GPU Ray Tracing

The NVIDIA OptiX ray tracing engine builds on the key observation that most ray tracing algorithms can be implemented using a small set of programmable operations...

From Communications of the ACM

Technical Perspective: Video Quality Assessment in the Age of Internet Video

With video delivery, it appears that once again "the Internet changes everything." In this changed environment, what measures of quality are most relevant, and...

Understanding the Impact of Video Quality on User Engagement
From Communications of the ACM

Understanding the Impact of Video Quality on User Engagement

As Internet-based videos become mainstream, user expectation for high quality is constantly increasing. In this context, it is crucial for content providers to...

From Communications of the ACM

Technical Perspective: High-Level Data Structures

This lifting of data structure thinking to the relational level has long inspired computer scientists. In "An Introduction to Data Representation Synthesis," the...

An Introduction to Data Representation Synthesis
From Communications of the ACM

An Introduction to Data Representation Synthesis

We consider the problem of specifying combinations of data structures with complex sharing in a manner that is declarative and results in provably correct code.

From Communications of the ACM

Technical Perspective: Open Platforms For Computational Photography

A fundamental impediment to the widespread development and deployment of in-camera algorithms is the lack of a clean open architecture for controlling camera...

The Frankencamera
From Communications of the ACM

The Frankencamera: An Experimental Platform For Computational Photography

Progress in computational photography has been hampered by the lack of a portable, programmable camera with sufficient image quality and computing power. To address...

From Communications of the ACM

Technical Perspective: SQL on an Encrypted Database

There is some risk in trusting the cloud providers with sensitive data. Why not encrypt the data stored in cloud services?

CryptDB: Processing Queries on an Encrypted Database
From Communications of the ACM

CryptDB: Processing Queries on an Encrypted Database

An ideal solution to satisfying the dual goals of protecting data confidentiality and running computations is to enable a server to compute over encrypted data,...

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

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