The Moral Imperative of Artificial Intelligence
The big news on March 12 of this year was of the Go-playing AI-system AlphaGo securing victory against world champion Lee Se-dol. AlphaGo's victory is a stunning achievement and another milestone in the inexorable march of AI …
Moshe Y. Vardi
Page 5
The IANA Transition
This month I explore the proposal sent in March 2016 by ICANN to the U.S. Department of Commerce, National Telecommunication and Information Agency (NTIA) to end the long-standing contractual relationship between ICANN and NTIA …
Vinton G. Cerf
Page 7
DEPARTMENT:
Letters to the Editor
Why All Writs Is a Trojan Horse
Citing the All Writs act as a way to give the government the power to compel companies to redesign or reimplement their electronic products to government specifications represents a threat to everyone's civil liberties.
CACM Staff
Pages 8-9
ACM's 2016 General Election: Please Take This Opportunity to Vote
Meet the candidates who introduce their plans — and stands — for the Association.
CACM Staff
Pages 11-22
DEPARTMENT:
BLOG@CACM
Bringing Computer Science to U.S. Schools, State By State
Mark Guzdial considers the crucial role of states in Computer Science for All.
Mark Guzdial
Pages 24-25
COLUMN:
News
Silicon Photonics: Ready to Go the Distance?
Processes for making CMOS chips are adapted for optical components.
Don Monroe
Pages 26-28
Cybersecurity Gets Smart
Researchers aim to apply artificial intelligence and machine-learning methods to take cybersecurity to a new, higher, and better level.
Samuel Greengard
Pages 29-31
Coding as Sport
Programming competitions help identify and reward those who excel in coding.
Keith Kirkpatrick
Pages 32-33
COLUMN:
Law and technology
The Internet of Things We Don't Own?
Who will control the 'ordinary pursuits of life' in the digital economy?
Jason Schultz
Pages 36-38
COLUMN:
Education
Beyond Blocks: Syntax and Semantics
How the future of general-purpose programming tools could include blocks-based structured editing, and how we should study students transitioning to text-based programming tools.
R. Benjamin Shapiro, Matthew Ahrens
Pages 39-41
COLUMN:
Economic and business dimensions
Do Patent Commons and Standards-Setting Organizations Help Navigate Patent Thickets?
Examining the institutions underlying the patent system for information and communication technologies.
Wen Wen, Chris Forman
Pages 42-43
COLUMN:
Historical reflections
Preserving Hybrid Objects
Brutal lessons from contemporary art.
David P. Anderson
Pages 44-46
COLUMN:
Viewpoint
How to Increase the Security of Smart Buildings?
Surveying unresolved security problems for automated buildings.
Steffen Wendzel
Pages 47-49
SECTION:
Practice
Borg, Omega, and Kubernetes
Lessons learned from three container-management systems over a decade.
Brendan Burns, Brian Grant, David Oppenheimer, Eric Brewer, John Wilkes
Pages 50-57
Delegation as Art
Be someone who makes everyone else better.
Kate Matsudaira
Pages 58-60
Use-Case 2.0
The hub of software development.
Ivar Jacobson, Ian Spence, Brian Kerr
Pages 61-69
SECTION:
Contributed articles
The Challenges of Partially Automated Driving
Car automation promises to free our hands from the steering wheel but might demand more from our minds.
Stephen M. Casner, Edwin L. Hutchins, Don Norman
Pages 70-77
Parallel Graph Analytics
Data-centric abstractions and execution strategies are needed to exploit parallelism in large-scale graph analytics.
Andrew Lenharth, Donald Nguyen, Keshav Pingali
Pages 78-87
Static Presentation Consistency Issues in Smartphone Mapping Apps
Comparing smartphone mapping apps leads to unexpected surprises.
Hanan Samet, Sarana Nutanong, Brendan C. Fruin
Pages 88-98
SECTION:
Review articles
A Survey of Robotic Musicianship
Reviewing the technologies that enable robot musicians to jam.
Mason Bretan, Gil Weinberg
Pages 100-109
SECTION:
Research highlights
Technical Perspective: A Breakthrough in Software Obfuscation
In "Hiding Secrets in Software," Garg et al. construct a "one-way compiler" of the type envisioned by Diffie and Hellman.
Boaz Barak
Page 112
Hiding Secrets in Software: A Cryptographic Approach to Program Obfuscation
Can we hide secrets in software? Can we make programs unintelligible while preserving their functionality? Why would we even want to do this? In this article, we describe some rigorous cryptographic answers to these quasi-philosophical …
Sanjam Garg, Craig Gentry, Shai Halevi, Mariana Raykova, Amit Sahai, Brent Waters
Pages 113-120
Technical Perspective: Software Is Natural
"On the Naturalness of Software" by Hindle et al. takes an entirely new approach to providing tools to help build software.
Gail C. Murphy
Page 121
On the Naturalness of Software
We begin with the conjecture that most software is natural, with all the attendant constraints and limitations — and thus, like natural language, it is also likely to be repetitive and predictable.
Abram Hindle, Earl T. Barr, Mark Gabel, Zhendong Su, Premkumar Devanbu
Pages 122-131
COLUMN:
Last byte
Future Tense: Becoming a Multi-Planet Species
Imagine hyper-realistic virtual space exploration limited only by the data we are able to collect.
Louis Friedman
Pages 136-ff