Sign In

Communications of the ACM

Table of Contents

The Moral Hazard of Complexity-Theoretic Assumptions

In November 2015, the computing world was abuzz with the news that László Babai proved the Graph-Isomorphism Problem. If Babai’s result holds under scrutiny, it is likely to become one of the most celebrated results in theoretical …

Apps and the Web

There are trade-offs to be found between a native mode implementation of an application and a browser-based implementation. 
DEPARTMENT: Letters to the Editor

Expect 'Ungoverned Actors' to Use AI-Supported Weapons, Too

Both sides of the Point/Counterpoint "The Case for Banning Killer Robots" (Dec. 2015) over lethal autonomous weapons systems seemed to agree the argument concerns weapons "…that once activated, would be able to select and engage targets …

Drumming Up Support For AP CS Principles

Mark Guzdial issues a "call to action" to encourage high schools to offer, and students to take, the Advanced Placement course in Computer Science Principles.

Self-Repair Techniques Point to Robots That Design Themselves

Robots are being taught to brainstorm alternatives when damaged.

How a Supervillain (or a Hacker in His Basement) Could Destroy the Internet

Network experts share their greatest fears about attacks and accidents that could destroy the Internet.

In Privacy Law, It's the U.S. vs. the World

Snowden revelations force changes, but Facebook (and others) resist.

ACM Inducts Fellows

ACM has recognized 42 of its members for significant contributions to the development and application of computing, in areas ranging from data management and spoken-language processing to robotics and cryptography.
COLUMN: Economic and business dimensions

Revealing the API Ecosystem and Enterprise Strategy via Visual Analytics

Seeking better understanding of digital transformation.
COLUMN: Privacy and security

Privacy Research Directions

What must we learn in order to support privacy requirements as technology advances?
COLUMN: Education

Broadening Access to Computing Education State By State

Influencing computer science education at the state level.
COLUMN: Kode Vicious

Code Hoarding

Committing to commits, and the beauty of summarizing graphs.
COLUMN: Viewpoint

Lessons from the Tech Transfer Trenches

Moving from the research realm to real-world business application.

Having a Conversation About Bulk Surveillance

Considering a controversial subject that extends far beyond the collection of phone metadata.
SECTION: Practice Evolution of Structured Data on the Web

Big data makes common schemas even more necessary.

The Verification of a Distributed System

A practitioner's guide to increasing confidence in system correctness.

Accountability in Algorithmic Decision Making

A view from computational journalism.
SECTION: Contributed articles

YFCC100M: The New Data in Multimedia Research

This publicly available curated dataset of almost 100 million photos and videos is free and legal for all.
SECTION: Turing Lecture

The Land Sharks Are on the Squawk Box

It turns out riding across America is more than a handy metaphor for building system software.
SECTION: Contributed articles

Phonetic Analytics Technology and Big Data: Real-World Cases

Data from phone interactions can help address customers' complaints, and predict their future purchasing behavior.
SECTION: Review articles

The Beckman Report on Database Research

Database researchers paint big data as a defining challenge. To make the most of the enormous opportunities at hand will require focusing on five research areas.
SECTION: Research highlights

Technical Perspective: Catching Lies (and Mistakes) in Offloaded Computation

The system described in "Pinocchio: Nearly Practical Verifiable Computation" refines an important theoretical advance by Gennaro et al. Together, these two works represent a dramatic improvement in speed, generality, and functionality …

Pinocchio: Nearly Practical Verifiable Computation

We introduce Pinocchio, a built system for efficiently verifying general computations while relying only on cryptographic assumptions.

Technical Perspective: Program Synthesis Using Stochastic Techniques

The authors of "Stochastic Program Optimization" have developed a stochastic search technique and applied it to program optimization.

Stochastic Program Optimization

By encoding constraints of transformation correctness as terms in a cost function, and using a Markov Chain Monte Carlo sampler to explore the space of all possible code sequences, we are able to generate aggressively optimized …
COLUMN: Last byte

Future Tense: Chatterbox

A social network can sometimes make more of us than we ought to be.