acm-header
Sign In

Communications of the ACM

Table of Contents


DEPARTMENT: Cerf's up

Libraries Considered Hazardous

Libraries of the future cannot merely be catalogs of digital content. The objects in the digital library will need to interact in some fashion so that truth value of their contents can be adjusted as new knowledge becomes available …
DEPARTMENT: Letters to the editor

Between the Lines in the China Region Special Section

I thought privacy in China deserved better treatment than was expressed in the foreword of the special section on the China Region (Nov. 2018), that "People in China seem less sensitive about privacy."
DEPARTMENT: BLOG@CACM

Seeking Digital Humanities, IT Tech Support

Herbert Bruderer explains why the opposite of digital is not analog; Robin K. Hill describes how the challenges of user support are aggravated by indeterminate client responsibility.
COLUMN: News

A Brave New World of Genetic Engineering

Genetic engineering technologies are advancing at a furious rate, changing the world one cell at a time.

Technologizing Agriculture

An array of technologies are making farms more efficient, safer, and profitable.

Being Recognized Everywhere

How facial and voice recognition are reshaping society.
COLUMN: Privacy and security

2018: A Big Year for Privacy

Retracing the pivotal privacy and security-related events and ensuing issues from the past year.
COLUMN: Broadening participation

How Computer Science at CMU Is Attracting and Retaining Women

Carnegie Mellon University's successful efforts enrolling, sustaining, and graduating women in computer science challenge the belief in a gender divide in CS education.
COLUMN: Kode Vicious

Writing a Test Plan

Establish your hypotheses, methodologies, and expected results.
COLUMN: Viewpoint

Tony's Law

Seeking to promote regulations for reliable software for the long-term prosperity of the software industry.

Do We Really Need Computational Thinking?

Considering the expression "computational thinking" as an entry point to understand why the fundamental contribution of computing to science is the shift from solving problems to having problems solved.
SECTION: Practice

CodeFlow: Improving the Code Review Process at Microsoft

A discussion with Jacek Czerwonka, Michaela Greiler, Christian Bird, Lucas Panjer, and Terry Coatta

The Importance of a Great Finish

You have to finish strong, every time.
SECTION: Contributed articles

A New Golden Age for Computer Architecture

Innovations like domain-specific hardware, enhanced security, open instruction sets, and agile chip development will lead the way.

Even Central Users Do Not Always Drive Information Diffusion

Diffusion speed and scale depend on all kinds of information, not just which users have the most or fewest connections.

SONYC: A System for Monitoring, Analyzing, and Mitigating Urban Noise Pollution

SONYC integrates sensors, machine listening, data analytics, and citizen science to address noise pollution in New York City.
SECTION: Review articles

Blockchains From a Distributed Computing Perspective

The roots of blockchain technologies are deeply interwoven in distributed computing.

Separation Logic

Separation logic is a key development in formal reasoning about programs, opening up new lines of attack on longstanding problems.
SECTION: Research highlights

Technical Perspective: How Economic Theories Can Help Computers Beat the Heat

The authors of "Distributed Strategies for Computational Sprints" bring the rich theory of allocating scarce resources to the challenge of managing computational sprinting in datacenters.

Distributed Strategies for Computational Sprints

We describe a computational sprinting architecture in which many, independent chip multiprocessors share a power supply and sprints are constrained by the chips' thermal limits and the rack's power limits.

Technical Perspective: To Do or Not To Do: Extending SQL with Integer Linear Programming?

"Scalable Computation of High-Order Optimization Queries," by Brucato et al., makes a case for marrying the well-established paradigms of constrained optimization (specifically ILP) and traditional SQL querying.

Scalable Computation of High-Order Optimization Queries

We present a complete system that supports package queries, a new query model that extends traditional database queries to handle complex constraints and preferences over answer sets, allowing the declarative specification and …
COLUMN: Last byte

Hawking's Nightmare

Stephen Hawking warned us not to contact E.T.