Sign In

Communications of the ACM

Table of Contents

Moving Forward

As my tenure as ACM president ends, I find myself reflecting on the past two years.


There is a rhythm in the affairs of the Association for Computing Machinery and June marks our annual celebration of award recipients and the biennial election of new officers.
DEPARTMENT: Letters to the Editor

No Backdoor Required or Expected

I was disappointed by Eugene H. Spafford's "The Strength of Encryption" (Mar. 2016) which conflated law enforcement requests for access to the contents of specific smartphones with the prospect of the government requiring backdoors …

The Solution to AI, What Real Researchers Do, and Expectations For CS Classrooms

John Langford on AlphaGo, Bertrand Meyer on Research as Research, and Mark Guzdial on correlating CS classes with laboratory results.

The Key to Privacy

40 years ago, Whitfield Diffie and Martin E. Hellman introduced the public key cryptography used to secure today's online transactions.

What Happens When Big Data Blunders?

Big data is touted as a cure-all for challenges in business, government, and healthcare, but as disease outbreak predictions show, big data often fails.

Reimagining Search

Search engine developers are moving beyond the problem of document analysis, toward the elusive goal of figuring out what people really want.

What's Next For Digital Humanities?

New computational tools spur advances in an evolving field.
COLUMN: Inside risks

The Risks of Self-Auditing Systems

Unforeseen problems can result from the absence of impartial independent evaluations.
COLUMN: Kode Vicious

What Are You Trying to Pull?

A single cache miss is more expensive than many instructions.
COLUMN: The profession of IT

How to Produce Innovations

Making innovations happen is surprisingly easy, satisfying, and rewarding if you start small and build up.
COLUMN: Interview

An Interview with Yale Patt

ACM Fellow Professor Yale Patt reflects on his career in industry and academia.
COLUMN: Viewpoint

Computer Science Should Stay Young

Seeking to improve computer science publication culture while retaining the best aspects of the conference and journal publication processes.

Privacy Is Dead, Long Live Privacy

Protecting social norms as confidentiality wanes.

A Byte Is All We Need

A teenager explores ways to attract girls into the magical world of computer science.
SECTION: Practice

Nine Things I Didn't Know I Would Learn Being an Engineer Manager

Many of the skills aren't technical at all.

The Flame Graph

This visualization of software execution is a new necessity for performance profiling and debugging.

Standing on Distributed Shoulders of Giants

Farsighted physicists of yore were danged smart!
SECTION: Contributed articles

Improving API Usability

Human-centered design can make application programming interfaces easier for developers to use.

Physical Key Extraction Attacks on PCs

Computers broadcast their secrets via inadvertent physical emanations that are easily measured and exploited.
SECTION: Review articles

Randnla: Randomized Numerical Linear Algebra

Randomization offers new benefits for large-scale linear algebra computations.
SECTION: Research highlights

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 of path merging in symbolic execution.

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 execution (DSE).

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 Barowy et al., provides the first steps toward answering this question …

Automan: A Platform For Integrating Human-Based and Digital Computation

We introduce AutoMan, the first fully automatic crowdprogramming system.
COLUMN: Last byte

Q&A: Finding New Directions in Cryptography

Whitfield Diffie and Martin Hellman on their meeting, their research, and the results that billions use every day.