Sign In

Communications of the ACM

Table of Contents

DEPARTMENT: Departments

What Do Computing and Economics Have to Say to Each Other?

A culminating chapter in the information revolution is the development of computing and communication technologies in the 20th century, where we learned to transmit as well as process information.
DEPARTMENT: Editor's Letter

Corrigendum for February 2024 Article

In the February 2024 Communications article titled, "Energy and Emissions of Machine Learning on Smartphones vs. the Cloud," the authors found and corrected two arithmetic errors after it was printed. The following is a detailed …
DEPARTMENT: Career Paths in Computing

Computations for This World and out of This World

In many ways, my career has been chasing chances to do mathematics.

Pondering the Ugly Underbelly, and Whether Images Are Real

Robin K. Hill teaches how proofs lead to the truth, while Carlos Baquero searches for truth in imagery.

Service Robots Roll Forward

Transitioning from classic 'programmed automation' to modern 'AI-powered autonomy.'

The Battle to Mitigate E-Waste

As electronic waste grows by the metric ton, companies and citizens work to stem the tide.

What's That Smell?

Digital scent technologies bring aromas to virtual reality.

In Memoriam: Niklaus Wirth

The overriding philosophy of computing pioneer Niklaus Wirth, who died on January 1, 2024, was that systems should be simple, efficient, and "elegant."
COLUMN: Opinion

Innovation Is Overrated: A Provocation

Digital innovation is not working in the interest of the whole of society. It is time to radically rethink its purpose without sacrificing the benefits it entails.
COLUMN: Legally Speaking

U.S. Copyright Office's Questions about Generative AI

Generating more questions than answers.
COLUMN: Privacy

Internet of Things Security and Privacy Labels Should Empower Consumers

Designs should offer useful information and convenience.
COLUMN: The Profession of IT

Can Machines Be in Language?

Large language models brought language to machines. Machines are not up to the challenge.
COLUMN: Opinion

Disinformation 2.0 in the Age of AI: A Cybersecurity Perspective

Why disinformation is a cyber threat.

Generative AI Degrades Online Communities

How large language models are influencing online communities.
SECTION: Practice

Improving Testing of Deep-Learning Systems

A combination of differential and mutation testing results in better test data.

Software Managers' Guide to Operational Excellence

The secret to being a great engineering leader? Setting up the right checks and balances.
SECTION: Research

Measuring GitHub Copilot's Impact on Productivity

Case study asks Copilot users about its impact on their productivity, and seeks to find their perceptions mirrored in user data.

The Internet of Batteryless Things

Batteryless, energy-harvesting systems could reshape the Internet of Things into a more sustainable societal infrastructure.

A Unifying Framework for Incompleteness, Inconsistency, and Uncertainty in Databases

Deploying possible world semantics and the challenge of computing the certain answers to queries.

Co-Developing Programs and Their Proof of Correctness

The SPARK programming language and analyzer.
SECTION: Research Highlights

Technical Perspective: Hiding Secrets in Programs

"Indistinguishability Obfuscation from Well-Founded Assumptions," by Aayush Jain et al., gives a new construction of indistinguishability obfuscation that is provably secure.

Indistinguishability Obfuscation from Well-Founded Assumptions

We examine a formalization of the "one-way compiler" concept with the notion of indistinguishability obfuscation.
COLUMN: Last Byte

Verifying Correctness

Yael Tauman Kalai on her career, proof systems, and certifying correctness.