JavaScript Language Design and Implementation in Tandem
Software Engineering and Programming Languages
Technical Perspective: The Software-Centric Approach of SYNERGY
Compiler-Driven FPGA Virtualization with SYNERGY
Nand to Tetris: Building a Modern Computer System from First Principles
A Roadmap for Using Continuous Integration Environments
The Risks of Source Code Breaches
Vendor-Locked DevOps Strategies
Adopting and Sustaining Microservice-Based Software Development
Dynamic Placement in Refugee Resettlement
Technical Perspective: Improving Refugees’ Integration with Online Resource Allocation
Language-Based Software Testing
Combining Machine Learning and Lifetime-Based Resource Management for Memory Allocation and Beyond
Technical Perspective: Learning-Based Memory Allocation for C++ Server Workloads
Co-Developing Programs and Their Proof of Correctness
Measuring GitHub Copilot’s Impact on Productivity
Computations for This World and out of This World
Why Bother Localizing Information Technology Products?
Creating the First Confidential GPUs
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