Sign In

Communications of the ACM

Table of Contents


On Digital Diplomacy

It is apparent that the world needs thoughtful and technically credible debate on alternatives for containing the problem of harmful behavior on the Internet.

Protecting Computers and People From Viruses

Robin K. Hill considers why the comparison of organic viruses and computer viruses is so compelling.

Bouncing Balls and Quantum Computing

A lighthearted method for calculating π is analogous to a fundamental algorithm for quantum computing.

Thwarting Side-Channel Attacks

Deep learning challenges chip security.

Who Has Access to Your Smartphone Data?

ISPs, app developers, and even the government may know more about you than you think.

Fran Allen: 1932-2020

Frances E. Allen was the first woman recipient of the ACM A.M. Turing Award.
COLUMN: Technology strategy and management

Self-Driving Vehicle Technology: Progress and Promises

Seeking the answer to the elusive question, 'Are we there yet'?
COLUMN: Inside risks

A Holistic View of Future Risks

Almost everything is somehow interrelated with everything else—and that should not surprise us.
COLUMN: Kode Vicious

Sanity vs. Invisible Markings

Tabs vs. spaces
COLUMN: Viewpoint

We Need to Automate the Declaration of Conflicts of Interest

Leveraging existing data sources to improve the declaration and management of authorship conflicts of interest.

Using Computer Programs and Search Problems for Teaching Theory of Computation

Recognizing the significance of a cornerstone of computer science.
SECTION: Practice

The History, Status, and Future of FPGAs

Hitting a nerve with field-programmable gate arrays.

Debugging Incidents in Google's Distributed Systems

How experts debug production issues in complex distributed systems.
SECTION: Contributed articles

What Do Agile, Lean, and ITIL Mean to DevOps?

The value of learning skillsets within a trio of disciplines and the role each plays in DevOps.

Real Time Spent on Real Time

The story of the development of a sound, static method for worst-case execution-time analysis.
SECTION: Review articles

Responsible Vulnerability Disclosure in Cryptocurrencies

Software weaknesses in cryptocurrencies create unique challenges in responsible revelations.

A Decade of Social Bot Detection

Bots increasingly tamper with political elections and economic discussions. Tracing trends in detection strategies and key suggestions on how to win the fight.
SECTION: Research highlights

Technical Perspective: Analyzing Smart Contracts with MadMax

"MadMax: Analyzing the Out-of-Gas World of Smart Contracts," by Neville Grech et al., effectively discovers a new smart contract vulnerability, and proposes a detection approach based on a static analysis.

MadMax: Analyzing the Out-of-Gas World of Smart Contracts

We identify gas-focused vulnerabilities and present MadMax: a static program analysis technique that automatically detects gas-focused vulnerabilities with very high confidence.

Technical Perspective: Two for the Price of One

"Lower Bounds for External Memory Integer Sorting via Network Coding" proves a remarkable connection between how efficiently computers can perform sorting and transmitting.

Lower Bounds for External Memory Integer Sorting via Network Coding

In this paper, we present a tight conditional lower bound on the complexity of external memory sorting of integers.
COLUMN: Last byte

Privacy-Preserving Polling

Can you answer a poll without revealing your true preferences and have the results of the poll still be accurate?