acm-header
Sign In

Communications of the ACM

Latest Research



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...

Apprenticeship Learning For Helicopter Control
From Communications of the ACM

Apprenticeship Learning For Helicopter Control

Autonomous helicopter flight is widely regarded to be a highly challenging control problem. As helicopters are highly unstable and exhibit complicated dynamical...

From Communications of the ACM

Technical Perspective: The Ultimate Pilot Program

In one scene from The Matrix, two leaders of the human resistance are trapped on the roof of a skyscraper. The only means of escape is by helicopter, which neither...

Two Hardware-Based Approaches For Deterministic Multiprocessor Replay
From Communications of the ACM

Two Hardware-Based Approaches For Deterministic Multiprocessor Replay

Modern computer systems are inherently nondeterministic due to a variety of events that occur during an execution. The lack of repeatability that arises from this...

From Communications of the ACM

Technical Perspective: Software and Hardware Support For Deterministic Replay of Parallel Programs


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