acm-header
Sign In

Communications of the ACM

Latest Research



Optimistic Parallelism Requires Abstractions
From Communications of the ACM

Optimistic Parallelism Requires Abstractions

Writing software for multicore processors is greatly simplified if we could automatically parallelize sequential programs. Although auto-parallelization has been...

From Communications of the ACM

Technical Perspective: Abstraction For Parallelism

Looking for some new insight into an old problem? The  familiar problem of writing parallel applications and a...

Does Distributed Development Affect Software Quality?
From Communications of the ACM

Does Distributed Development Affect Software Quality?: An Empirical Case Study of Windows Vista

Existing literature on distributed development in software engineering and other fields discusses various challenges,...

From Communications of the ACM

Technical Perspective: Maintaining Quality in the Face of Distributed Development

It was a problem that should not have taken three weeks to solve. The documentation claimed that if a function was called...

From Communications of the ACM

Formal Verification of a Realistic Compiler

This paper reports on the development and formal verification of CompCert, a compiler from Clight (a large subset of the C programming language) to PowerPC assembly...

From Communications of the ACM

Technical Perspective: A Compiler's Story

In the early 1970s, pioneers like Floyd, Dijkstra, and Hoare argued that programs should be formally specified and proven...

Securing Frame Communication in Browsers
From Communications of the ACM

Securing Frame Communication in Browsers

Many Web sites embed third-party content in frames, relying on the browser's security policy to protect against malicious content. However, frames provide insufficient...

From Communications of the ACM

Technical Perspective: Reframing Security For the Web

The web has brought exciting new functionality while simultaneously requiring new mechanisms to make it secure. We've...

Scalable Synchronous Queues
From Communications of the ACM

Scalable Synchronous Queues

In a thread-safe concurrent queue, consumers typically wait for producers to make data available. In a synchronous queue, producers similarly wait for consumers...

From Communications of the ACM

Technical Perspective: Highly Concurrent Data Structures

The advent of multicore architectures has produced a Renaissance in the study of highly concurrent data structures.

Lest We Remember
From Communications of the ACM

Lest We Remember: Cold-Boot Attacks on Encryption Keys

DRAM retains its contents for several seconds after power is lost. Although DRAM becomes less reliable when it is not refreshed, it is not immediately erased, and...

From Communications of the ACM

Technical Perspective: A Chilly Sense of Security

Many systems rely on keeping a master key secret. But technological progress can undermine old assumptions.

Integrating Nand Flash Devices Onto Servers
From Communications of the ACM

Integrating Nand Flash Devices Onto Servers

In this paper, we examine the use of Flash storage in the server domain. Wear-out has the potential to limit the use of Flash in this domain. To seriously consider...

From Communications of the ACM

Technical Perspective: Integrating Flash Devices

Flash memory nowadays seems to be in every discussion about system architecture. Sure enough, flash memory boasts...

From Communications of the ACM

Relative Fitness Modeling

Relative fitness is a new approach to modeling the performance of storage devices. In contrast to a conventional model, which predicts the performance of an application's...

From Communications of the ACM

Technical Perspective: Disk Array Models For Automating Storage Management

Large disk arrays are everywhere. When we shop at an Internet retailer, the product and account data come from a disk...

From Communications of the ACM

Learning and Detecting Emergent Behavior in Networks of Cardiac Myocytes

We address the problem of specifying and detecting emergent behavior in networks of cardiac myocytes, spiral electric waves in particular, a precursor to atrial...

From Communications of the ACM

Technical Perspective: Where Biology Meets Computing

Alan Turing died in 1954 in his laboratory after eating a cyanide-laced apple. During his last years, Turing had become interested in bio-chemical systems. He had...

From Communications of the ACM

Error Correction Up to the Information-Theoretic Limit

Ever since the birth of coding theory almost 60 years ago, researchers have been pursuing the elusive goal of constructing the "best codes," whose encoding introduces...

From Communications of the ACM

Technical Perspective: The Beauty of Error-Correcting Codes

Error-correcting codes are the means by which we compensate for interference in communication, and are essential for the accurate transmission and storage of digital...
Sign In for Full Access
» Forgot Password? » Create an ACM Web Account