acm-header
Sign In

Communications of the ACM

Latest Research



From Communications of the ACM

Technical Perspective: Proving File Systems Meet Expectations

"Certifying a File System Using Crash Hoare Logic: Correctness in the Presence of Crashes" presents a big step toward real-world file systems that are crash-safe...

Certifying a File System Using Crash Hoare Logic
From Communications of the ACM

Certifying a File System Using Crash Hoare Logic: Correctness in the Presence of Crashes

This paper introduces Crash Hoare logic, which extends traditional Hoare logic with a crash condition, a recovery procedure, and logical address spaces for specifying...

From Communications of the ACM

Technical Perspective: Data Distribution For Fast Joins

What is the most drastic way to reduce the cost of communication for parallel data processing algorithms? This is the question studied in "Reasoning on Data Partitioning...

Reasoning on Data Partitioning For Single-Round Multi-Join Evaluation in Massively Parallel Systems
From Communications of the ACM

Reasoning on Data Partitioning For Single-Round Multi-Join Evaluation in Massively Parallel Systems

We introduce a framework for reasoning about data partitioning to detect when we can avoid the data reshuffling step. 

From Communications of the ACM

Technical Perspective: Cleaning Up Flaws in TLS Implementations

One unfortunate fact about protocols is that as they get older and applied to more scenarios — and TLS is used basically everywhere — they tend to gain weight....

A Messy State of the Union
From Communications of the ACM

A Messy State of the Union: Taming the Composite State Machines of TLS

We systematically test popular TLS implementations and find unexpected transitions in many of their state machines that have stayed hidden for years. We show how...

From Communications of the ACM

Technical Perspective: 3D Image Editing Made Easy

The authors of "Extracting 3D Objects from Photographs Using 3-Sweep" present an important step toward achieving 3D editing.

Extracting 3D Objects from Photographs Using 3-Sweep
From Communications of the ACM

Extracting 3D Objects from Photographs Using 3-Sweep

We introduce an interactive technique to extract and manipulate simple 3D shapes in a single photograph.

From Communications of the ACM

Technical Perspective: The Chemistry of Software-Defined Batteries

A time-tested principle in computer systems design is to use an interface to separate an abstraction from its implementation. "Software-Defined Batteries" represents...

Software-Defined Batteries
From Communications of the ACM

Software-Defined Batteries

In this paper, we present a new hardware-software system, called Software Defined Battery, which allows system designers to integrate batteries of different chemistries...

From Communications of the ACM

Technical Perspective: FPGA Compute Acceleration Is First About Energy Efficiency

"A Reconfigurable Fabric for Accelerating Large-Scale Datacenter Services" presents a research deployment of Field Programmable Gate Arrays (FPGAs) in a Microsoft...

A Reconfigurable Fabric For Accelerating Large-Scale Datacenter Services
From Communications of the ACM

A Reconfigurable Fabric For Accelerating Large-Scale Datacenter Services

We describe a medium-scale deployment of a composable, reconfigurable hardware fabric on a bed of 1,632 servers, and measure its effectiveness in accelerating the...

From Communications of the ACM

Technical Perspective: The Power of Parallelizing Computations

"Efficient Parallelization Using Rank Convergence in Dynamic Programming Algorithms" shows how some instances of dynamic programming can be effectively parallelized...

Efficient Parallelization Using Rank Convergence in Dynamic Programming Algorithms
From Communications of the ACM

Efficient Parallelization Using Rank Convergence in Dynamic Programming Algorithms

This paper proposes an efficient parallel algorithm for an important class of dynamic programming problems that includes Viterbi, Needleman-Wunsch, Smith-Waterman...

From Communications of the ACM

Technical Perspective: Naiad

"Incremental, Iterative Data Processing with Timely Dataflow" describes Naiad, which combines three classes of dataflow systems, supporting high-throughput batch...

Incremental, Iterative Data Processing with Timely Dataflow
From Communications of the ACM

Incremental, Iterative Data Processing with Timely Dataflow

We describe the timely dataflow model for distributed computation and its implementation in the Naiad system. 

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