acm-header
Sign In

Communications of the ACM

Latest Practice



Testing Web Applications with State Objects
From Communications of the ACM

Testing Web Applications with State Objects

Use states to drive your tests.

Using Free and Open Source Tools to Manage Software Quality
From Communications of the ACM

Using Free and Open Source Tools to Manage Software Quality

An agile process implementation

The Science of Managing Data Science
From Communications of the ACM

The Science of Managing Data Science

Lessons learned managing a data science research team.

Parallel Processing with <code>Promises</code>
From Communications of the ACM

Parallel Processing with Promises

A simple method of writing a collaborative system.

Internal Access Controls
From Communications of the ACM

Internal Access Controls

Trust, but verify.

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.

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?

Evolution of the Product Manager
From Communications of the ACM

Evolution of the Product Manager

Better education needed to develop the discipline.

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.

Privacy, Anonymity, and Big Data in the Social Sciences
From Communications of the ACM

Privacy, Anonymity, and Big Data in the Social Sciences

Quality social science research and the privacy of human subjects require trust.

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.

Quality Software Costs Money - Heartbleed Was Free
From Communications of the ACM

Quality Software Costs Money - Heartbleed Was Free

How to generate funding for free and open source software.

Undergraduate Software Engineering
From Communications of the ACM

Undergraduate Software Engineering

Addressing the needs of professional software development.

Who Must You Trust?
From Communications of the ACM

Who Must You Trust?

You must have some trust if you want to get anything done.

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

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