Sign In

Communications of the ACM

Research


Latest Research


From Communications of the ACM

Technical Perspective: Jupiter Rising

As "Jupiter Rising" makes clear, many of the Internet mechanisms for maintaining large-scale networks are suboptimal when the datacenter is largely homogeneous,...

Jupiter Rising
From Communications of the ACM

Jupiter Rising: A Decade of Clos Topologies and Centralized Control in Google's Datacenter Network

We present our approach for overcoming the cost, operational complexity, and limited scale endemic to datacenter networks a decade ago.

From Communications of the ACM

Technical Perspective: The Dawn of Computational Light Transport

What would the world look like if we had a chance to observe it with a trillion frame-per-second video camera? "Imaging the Propagation of Light through Scenes...

Imaging the Propagation of Light Through Scenes at Picosecond Resolution
From Communications of the ACM

Imaging the Propagation of Light Through Scenes at Picosecond Resolution

We present a novel imaging technique, which we call femtophotography, to capture and visualize the propagation of light through table-top scenes with an effective...

From Communications of the ACM

Technical Perspective: Toward Reliable Programming for Unreliable Hardware

"Verifying Quantitative Reliability for Programs that Execute on Unreliable Hardware" by Carbin et al. addresses challenges related to a bug, how likely it is to...

Verifying Quantitative Reliability for Programs that Execute on Unreliable Hardware
From Communications of the ACM

Verifying Quantitative Reliability for Programs that Execute on Unreliable Hardware

We present Rely, a programming language that enables developers to reason about the quantitative reliability of an application — namely, the probability that it...

From Communications of the ACM

Technical Perspective: Why Didn't I Think of That?

Until now, the database in a Web application has been treated as a global variable, accessible to all. In "Ur/Web: A Simple Model for Programming the Web," Adam...

Ur/Web
From Communications of the ACM

Ur/Web: A Simple Model for Programming the Web

This paper presents Ur/Web, a domain-specific, statically typed functional programming language that reduces the nest of Web standards for modern Web applications...

From Communications of the ACM

Technical Perspective: Combining Logic and Probability

In "Probabilistic Theorem Proving," Gogate and Domingos suggest how PTP could be turned in a fast approximate algorithm by sampling from the set of children of...

Probabilistic Theorem Proving
From Communications of the ACM

Probabilistic Theorem Proving

Many representation schemes combining first-order logic and probability have been proposed in recent years. We propose the first method that has the full power...

From Communications of the ACM

Technical Perspective: Mesa Takes Data Warehousing to New Heights

Producing reports at the scale of Google Ads, where billions of clicks happen per day, is the challenge addressed by the Mesa system described in "Mesa: A Geo-Replicated...

Mesa
From Communications of the ACM

Mesa: A Geo-Replicated Online Data Warehouse for Google's Advertising System

Mesa is a highly scalable analytic data warehousing system that stores critical measurement data related to Google's Internet advertising business. This paper presents...

From Communications of the ACM

Technical Perspective: Computing with the Crowd

What kinds of problems can be solved with combined human and machine computation? "AutoMan: A Platform for Integrating Human-Based and Digital Computation," by...

AutoMan
From Communications of the ACM

AutoMan: A Platform for Integrating Human-Based and Digital Computation

We introduce AutoMan, the first fully automatic crowdprogramming system.

From Communications of the ACM

Technical Perspective: Veritesting Tackles Path-Explosion Problem

 "Enhancing Symbolic Execution with Veritesting" by Avgerinos et al. proposes an effective technique called veritesting that addresses the scalability limitations...

Enhancing Symbolic Execution with Veritesting
From Communications of the ACM

Enhancing Symbolic Execution with Veritesting

In this article, we present a new technique for generating formulas called veritesting that alternates between static symbolic execution (SSE) and dynamic symbolic...

From Communications of the ACM

Technical Perspective: A Breakthrough in Software Obfuscation

In "Hiding Secrets in Software," Garg et al. construct a "one-way compiler" of the type envisioned by Diffie and Hellman.

Hiding Secrets in Software
From Communications of the ACM

Hiding Secrets in Software: A Cryptographic Approach to Program Obfuscation

Can we hide secrets in software? Can we make programs unintelligible while preserving their functionality? Why would we even want to do this? In this article, we...

From Communications of the ACM

Technical Perspective: Software Is Natural

"On the Naturalness of Software" by Hindle et al. takes an entirely new approach to providing tools to help build software.

On the Naturalness of Software
From Communications of the ACM

On the Naturalness of Software

We begin with the conjecture that most software is natural, with all the attendant constraints and limitations — and thus, like natural language, it is also likely...
Sign In for Full Access
» Forgot Password? » Create an ACM Web Account
Read CACM in a free mobile app!
Access the latest issue, plus archived issues and more
ACM Logo
  • ACM CACM apps available for iPad, iPhone and iPod Touch, and Android platforms
  • ACM Digital Library apps available for iOS, Android, and Windows devices
  • Download an app and sign in to it with your ACM Web Account
Find the app for your mobile device
ACM DL Logo