JavaScript Language Design and Implementation in Tandem
Research and Advances
Compiler-Driven FPGA Virtualization with SYNERGY
Computing Education in the Era of Generative AI
Nand to Tetris: Building a Modern Computer System from First Principles
mSAIL: Milligram-Scale Multi-Modal Sensor Platform for Monarch Butterfly Migration Tracking
A Roadmap for Using Continuous Integration Environments
Biocomputation: Moving Beyond Turing with Living Cellular Computers
Dynamic Placement in Refugee Resettlement
Language-Based Software Testing
Fast Parameterized Preprocessing for Polynomial-Time Solvable Graph Problems
Combining Machine Learning and Lifetime-Based Resource Management for Memory Allocation and Beyond
A Small Clue Made of Fragmented Pieces
The Science of Detecting LLM-Generated Text
Indistinguishability Obfuscation from Well-Founded Assumptions
Co-Developing Programs and Their Proof of Correctness
A Unifying Framework for Incompleteness, Inconsistency, and Uncertainty in Databases
Measuring GitHub Copilot’s Impact on Productivity
Taming Algorithmic Priority Inversion in Mission-Critical Perception Pipelines
Technical Perspective: Bridging AI with Real-Time Systems
Superpolynomial Lower Bounds Against Low-Depth Algebraic Circuits
Technical Perspective: How Easy Is It to Describe Hard Polynomials?
Anthropomorphism and Human-Robot Interaction
Talking about Large Language Models
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