Sign In

Communications of the ACM

Table of Contents


Celebrating Excellence

ACM's most prestigious recognition is the ACM A.M. Turing Award and the 2017 award goes to John Hennessy and David Patterson: "For pioneering a systematic, quantitative approach to the design and evaluation of computer architectures …
DEPARTMENT: Letters to the editor

When to Hold 'Em

"Always Out of Balance" (April 2018) overstated (somewhat) the effect of intractability by claiming the intractability of computing Nash equilibrium necessitates researchers abandon this notion in favor of other competition-related …
DEPARTMENT: [email protected]

Programming Programming Languages, and Analyzing Facebook's Failure

Mark Guzdial considers an idea with significant educational implications, while Susan Landau looks into the Cambridge Analytica/Facebook scandal.

Rewarded for RISC

ACM A.M. Turing Award recipients David Patterson and John Hennessy developed the "dangerous" idea that software should be simpler so it can be executed more quickly, which evolved into the Reduced Instruction Set Computer architecture …

Deep Learning Hunts for Signals Among the Noise

Neural networks can deliver surprising, and sometimes unwanted, results.

3D Sensors Provide Security, Better Games

A variety of techniques allow sensors to locate and recognize objects in space.

Getting Hooked on Tech

Are technology companies maximizing profits by making users addicted to their products?
COLUMN: Inside risks

Risks of Cryptocurrencies

Considering the inherent risks of cryptocurrency ecosystems.
COLUMN: The profession of IT

An Interview with Dave Parnas

A discussion of ideas about software engineering.
COLUMN: Kode Vicious

Watchdogs vs. Snowflakes

Taking wild guesses.
COLUMN: Viewpoint

Effectiveness of Anonymization in Double-Blind Review

Assessing the effectiveness of anonymization in the review process.
SECTION: Practice

Designing Cluster Schedulers for Internet-Scale Services

Embracing failures for improving availability.

Thou Shalt Not Depend on Me

A look at JavaScript libraries in the wild.

Documentation Is Automation

A.B.A. = Always be automating.
SECTION: Contributed articles

Bias on the Web

Bias in Web data and use taints the algorithms behind Web-based applications, delivering equally biased results.

Ability-Based Design

By focusing on users' abilities rather than disabilities, designers can create interactive systems better matched to those abilities.

Identifying Patterns in Medical Records through Latent Semantic Analysis

Text analysis can reveal patterns of association among medical terms and medical codes.
SECTION: Review articles

Privacy in Decentralized Cryptocurrencies

When it comes to anonymizing cryptocurrencies, one size most definitely does not fit all.
SECTION: Research highlights

Technical Perspective: Measuring Optimization Potential with Coz

In "Coz: Finding Code that Counts with Causal Profiling," Curtsinger and Berger describe causal profiling, which tell programmers exactly how much speed-up bang to expect for their optimization buck.

Coz: Finding Code that Counts with Causal Profiling

This paper introduces causal profiling. Unlike past profiling approaches, causal profiling indicates exactly where programmers should focus their optimization efforts, and quantifies their potential impact.
COLUMN: Last byte

RISC Management

ACM A.M. Turing award recipients John Hennessy and David Patterson have introduced generations of students to reduced instruction set computing.