acm-header
Sign In

Communications of the ACM

Latest Practice



Disambiguating Databases
From Communications of the ACM

Disambiguating Databases

Use the database built for your access model.

The Responsive Enterprise
From Communications of the ACM

The Responsive Enterprise: Embracing the Hacker Way

Soon every company will be a software company.

No Such Thing as a General-Purpose Processor
From Communications of the ACM

No Such Thing as a General-Purpose Processor

And the belief in such a device is harmful.

A New Software Engineering
From Communications of the ACM

A New Software Engineering

What happened to the promise of rigorous, disciplined, professional practices for software development?

A Decade of Progress in Parallel Programming Productivity
From Communications of the ACM

A Decade of Progress in Parallel Programming Productivity

Looking at the design and benefits of X10.

JavaScript and the Netflix User Interface
From Communications of the ACM

JavaScript and the Netflix User Interface

Conditional dependency resolution.

Certificate Transparency
From Communications of the ACM

Certificate Transparency

Public, verifiable, append-only logs.

Security Collapse in the HTTPS Market
From Communications of the ACM

Security Collapse in the HTTPS Market

Assessing legal and technical solutions to secure HTTPS.

Why Is It Taking So Long to Secure Internet Routing?
From Communications of the ACM

Why Is It Taking So Long to Secure Internet Routing?

Routing security incidents can still slip past deployed security defenses.

The Network Is Reliable
From Communications of the ACM

The Network Is Reliable

An informal survey of real-world communications failures.

Securing the Tangled Web
From Communications of the ACM

Securing the Tangled Web

Preventing script injection vulnerabilities through software design.

Bringing Arbitrary Compute to Authoritative Data
From Communications of the ACM

Bringing Arbitrary Compute to Authoritative Data

Many disparate use cases can be satisfied with a single storage system.

Undergraduate Software Engineering
From Communications of the ACM

Undergraduate Software Engineering

Addressing the needs of professional software development.

Automated QA Testing at Electronic Arts
From Communications of the ACM

Automated QA Testing at Electronic Arts

A discussion with Michael Donat, Jafar Husain, and Terry Coatta

Finding More Than One Worm in the Apple
From Communications of the ACM

Finding More Than One Worm in the Apple

If you see something, say something.

Domain-Specific Languages and Code Synthesis Using Haskell
From Communications of the ACM

Domain-Specific Languages and Code Synthesis Using Haskell

Looking at embedded DSLs.

The Curse of the Excluded Middle
From Communications of the ACM

The Curse of the Excluded Middle

"Mostly functional" programming does not work.

Design Exploration Through Code-Generating DSLs
From Communications of the ACM

Design Exploration Through Code-Generating DSLs

High-level DSLs for low-level programming.

The NSA and Snowden
From Communications of the ACM

The NSA and Snowden: Securing the All-Seeing Eye

How good security at the NSA could have stopped him.

A Primer on Provenance
From Communications of the ACM

A Primer on Provenance

Better understanding data requires tracking its history and context.
Sign In for Full Access
» Forgot Password? » Create an ACM Web Account