What Past Computing Breakthroughs Teach Us About AI
Software Engineering and Programming Languages
It’s the Specification, Stupid!
Focusing on early life-cycle design, assurance, and verification may be a better paradigm for software development.
Communications Practice Section Welcomes Submissions
We look forward to working with authors whose articles expand both the utility and the delights of computing.
When Is WebAssembly Going to Get DOM Support?
There are still ways to further reduce the overhead of programs that span the JavaScript/Wasm boundary.
WebAssembly: Yes, but for What?
Identifying winning and losing patterns of Wasm deployments.
Automatically Translating C to Rust
Static analysis is helping the research community improve automatic C-to-Rust translators.
Rediscovering Reinforcement Learning
The initial development of modern RL was purely exploratory; projects at UMass critically depended on basic research support from AFOSR and NSF.
Shields for Safe Reinforcement Learning
Shielding is a principled and effective approach to ensuring the safety of reinforcement learning, even during training.
Restoring Reliability in the AI-Aided Software Development Life Cycle
Generative AI has shifted the measure of producing code from engineering time to trust, or confidence that a system will meet its service-level objective in real-world operation.
Essential Skills for Next-Gen Product Managers
Product managers need a mix of technical, strategic, and human-centered skills to lead in the AI-powered world.
The way we refer to and address data matters, and can have unexpected effects down the line.
Fifty Years of Open Source Software Supply-Chain Security
Problems with software supply-chain security are fundamental and have no easy answers.
Unlocking the Potential of Arabic Voice-Generation Technologies
Developing Arabic text-to-speech remains challenging due to the morphological richness, phonetic complexity, and diglossic nature of the language.
Remembering Marge Hoogeboom: A Remote Software Development Pioneer (in 1969!)
A jokey suggestion about working from home led to the creation of a dedicated remote system and workflow.
AI is sometimes not truthful, raising questions about how safe and reliable AI tools are in software development.
Scaling Deep Learning Education in a College of Arts & Sciences
Prerequisites were reduced and students were engaged collecting data using their sense of smell.
Nonsense and Malicious Packages: LLM Hallucinations in Code Generation
Researchers cognizant of the impact of hallucinations on software development are devising methods to mitigate their effect.
Benchmarks for AI in Software Engineering
Benchmarks are important for those of us who build software development products that incorporate AI.
Protect Your Code Against Licensing Risks
Copyleft is a type of restrictive open source code that requires that any derivative uses of that specific code in other programs or products be made available under the same terms.
Security Principles for Designing an Unhackable Crypto Wallet
Resilience requires formal rigor, verification tools, and zero-trust assumptions.
Rethinking Distributed Computing for the AI Era
DeepSeek’s mixture-of-experts approach fundamentally changes the distributed computing equation by making computation sparse again.
How AI/LLMs Can Help, Hinder Developers
How to create a coding culture that harnesses AI’s potential while preserving software integrity and security.
How Can Vibe Coding Transform Programming Education?
Vibe coding development platforms enable an experimental, motivating approach to learning.
The Rational Programmer: Investigating Programming Language Pragmatics
The rational-programmer method helps assess whether linguistic features and tools can deliver useful information with software development tasks.
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






















