Nonblocking Algorithms and Scalable Multicore Programming
Practice
Structured Deferral: Synchronization via Procrastination
Proving the Correctness of Nonblocking Data Structures
Resolved: The Internet Is No Place For Critical Infrastructure
There Is No Getting Around It: You Are Building a Distributed System
Discrimination in Online Ad Delivery
Eventual Consistency Today: Limitations, Extensions, and Beyond
The Evolution of Web Development For Mobile Devices
FPGA Programming For the Masses
Hazy: Making It Easier to Build and Maintain Big-Data Analytics
The Story of the Teapot in DHTML
Thinking Methodically About Performance
A Decade of OS Access-Control Extensibility
Browser Security: Appearances Can Be Deceiving
The Web Won’t Be Safe or Secure Until We Break It
Anatomy of a Solid-State Drive
The Essence of Software Engineering: The SEMAT Kernel
Sender-Side Buffers and the Case For Multimedia Adaptation
Shape the Future of Computing
ACM encourages its members to take a direct hand in shaping the future of the association. There are more ways than ever to get involved.
Get InvolvedCommunications of the ACM (CACM) is now a fully Open Access publication.
By opening CACM to the world, we hope to increase engagement among the broader computer science community and encourage non-members to discover the rich resources ACM has to offer.
Learn More