Sign In

Communications of the ACM

Latest Research



From Communications of the ACM

Technical Perspective: Solving Imperfect Information Games

"Heads-Up Limit Hold'em Poker Is Solved," by Michael Bowling, et al., takes the counterfactual regret minimization method for approximating a Nash equilibrium to...

Heads-Up Limit Hold'em Poker Is Solved
From Communications of the ACM

Heads-Up Limit Hold'em Poker Is Solved

This paper is an extended version of our original 2015 Science article, with additional results showing Cepheus' in-game performance against computer and human...

From Communications of the ACM

Technical Perspective: Shedding New Light on an Old Language Debate

"A Large-Scale Study of Programming Languages and Code Quality in GitHub," by Baishakhi Ray, et al., studies whether programming language choice and code quality...

A Large-Scale Study of Programming Languages and Code Quality in GitHub
From Communications of the ACM

A Large-Scale Study of Programming Languages and Code Quality in GitHub

What is the effect of programming languages on software quality? In this study, we gather a very large data set from GitHub in an attempt to shed some empirical...

From Communications of the ACM

Technical Perspective: Broadening and Deepening Query Optimization Yet Still Making Progress

"Multi-Objective Parametric Query Optimization," by Immanuel Trummer and Christoph Koch is a remarkable tour de force exploration of the combination of both parametric...

Multi-Objective Parametric Query Optimization
From Communications of the ACM

Multi-Objective Parametric Query Optimization

We propose a generalization of the classical database query optimization problem: multi-objective parametric query (MPQ) optimization.

From Communications of the ACM

Technical Perspective: Unexpected Connections

The inherent scalability of an interface is the focus of "The Scalable Commutativity Rule" by Austin T. Clements, et al.

The Scalable Commutativity Rule
From Communications of the ACM

The Scalable Commutativity Rule: Designing Scalable Software for Multicore Processors

This paper introduces an interface-driven approach to building scalable software.

From Communications of the ACM

Technical Perspective: IronFleet Simplifies Proving Safety and Liveness Properties

"IronFleet: Proving Safety and Liveness of Practical Distributed Systems," by Chris Hawblitzel, et al., describes mechanically checked proofs for two non-trivial...

IronFleet
From Communications of the ACM

IronFleet: Proving Safety and Liveness of Practical Distributed Systems

We demonstrate the methodology on a complex implementation of a Paxos-based replicated state machine library and a lease-based sharded key-value store. With our...

From Communications of the ACM

Technical Perspective: What Led Computer Vision to Deep Learning?

We are in the middle of the third wave of interest in artificial neural networks as the leading paradigm for machine learning. "ImageNet Classification with Deep...

ImageNet Classification with Deep Convolutional Neural Networks
From Communications of the ACM

ImageNet Classification with Deep Convolutional Neural Networks

In the 1980s backpropagation did not live up to the very high expectations of its advocates. Twenty years later, we know what went wrong: for deep neural networks...

From Communications of the ACM

Technical Perspective: Building Knowledge Bases from Messy Data

"DeepDive: Declarative Knowledge Base Construction" is a prime example of groundbreaking work in the area of Knowledge Base Construction.

DeepDive
From Communications of the ACM

DeepDive: Declarative Knowledge Base Construction

We describe DeepDive, a system that combines database and machine learning ideas to help to develop knowledge base construction systems.

From Communications of the ACM

Technical Perspective: Functional Compilers

"Exploiting Vector Instructions with Generalized Stream Fusion" points out that stream fusion by itself is not well suited for generating bulk instructions such...

Exploiting Vector Instructions with Generalized Stream Fusion
From Communications of the ACM

Exploiting Vector Instructions with Generalized Stream Fusion

Programmers should not have to sacrifice code clarity or good software engineering practices to obtain performance. This work shows how to attain this goal for...

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