Moving Forward
As my tenure as ACM president ends, I find myself reflecting on the past two years.
Alexander L. Wolf
Page 5
Celebrations!
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.
Vinton G. Cerf
Page 7
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 …
CACM Staff
Pages 8-9
DEPARTMENT:
[email protected]
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.
John Langford, Bertrand Meyer, Mark Guzdial
Pages 10-11
COLUMN:
News
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.
Neil Savage
Pages 12-14
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.
Logan Kugler
Pages 15-16
Reimagining Search
Search engine developers are moving beyond the problem of document analysis, toward the elusive goal of figuring out what people really want.
Alex Wright
Pages 17-19
What's Next For Digital Humanities?
New computational tools spur advances in an evolving field.
Gregory Mone
Pages 20-21
COLUMN:
Inside risks
The Risks of Self-Auditing Systems
Unforeseen problems can result from the absence of impartial independent evaluations.
Rebecca T. Mercuri, Peter G. Neumann
Pages 22-25
COLUMN:
Kode Vicious
What Are You Trying to Pull?
A single cache miss is more expensive than many instructions.
George V. Neville-Neil
Pages 26-27
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.
Peter J. Denning
Pages 28-30
COLUMN:
Interview
An Interview with Yale Patt
ACM Fellow Professor Yale Patt reflects on his career in industry and academia.
Derek Chiou
Pages 31-36
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.
Boaz Barak
Pages 37-38
Privacy Is Dead, Long Live Privacy
Protecting social norms as confidentiality wanes.
Jean-Pierre Hubaux, Ari Juels
Pages 39-41
A Byte Is All We Need
A teenager explores ways to attract girls into the magical world of computer science.
Ankita Mitra
Pages 42-44
SECTION:
Practice
Nine Things I Didn't Know I Would Learn Being an Engineer Manager
Many of the skills aren't technical at all.
Kate Matsudaira
Pages 45-47
The Flame Graph
This visualization of software execution is a new necessity for performance profiling and debugging.
Brendan Gregg
Pages 48-57
Standing on Distributed Shoulders of Giants
Farsighted physicists of yore were danged smart!
Pat Helland
Pages 58-61
SECTION:
Contributed articles
Improving API Usability
Human-centered design can make application programming interfaces easier for developers to use.
Brad A. Myers, Jeffrey Stylos
Pages 62-69
Physical Key Extraction Attacks on PCs
Computers broadcast their secrets via inadvertent physical emanations that are easily measured and exploited.
Daniel Genkin, Lev Pachmanov, Itamar Pipman, Adi Shamir, Eran Tromer
Pages 70-79
SECTION:
Review articles
Randnla: Randomized Numerical Linear Algebra
Randomization offers new benefits for large-scale linear algebra computations.
Petros Drineas, Michael W. Mahoney
Pages 80-90
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.
Koushik Sen
Page 92
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).
Thanassis Avgerinos, Alexandre Rebert, Sang Kil Cha, David Brumley
Pages 93-100
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 …
Siddharth Suri
Page 101
Automan: A Platform For Integrating Human-Based and Digital Computation
We introduce AutoMan, the first fully automatic crowdprogramming system.
Daniel W. Barowy, Charlie Curtsinger, Emery D. Berger, Andrew McGregor
Pages 102-109
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.
Leah Hoffmann
Pages 112-ff