acm-header
Sign In

Communications of the ACM

Latest Research



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

The Complexity of Computing a Nash Equilibrium
From Communications of the ACM

The Complexity of Computing a Nash Equilibrium

Traditionally, computational problems fall into two classes: those that have a polynomial-time algorithm and those that are NP-hard. However, the concept of NP-hardness...

From Communications of the ACM

Technical Perspective: The Complexity of Computing Nash Equilibrium

Computer science and game theory go back to the same individual, John von Neumann, and both subjects deal with the...

Building Secure Web Applications With Automatic Partitioning
From Communications of the ACM

Building Secure Web Applications With Automatic Partitioning

Swift is a new, principled approach to building Web applications that are secure by construction. Swift automatically partitions application code while providing...

From Communications of the ACM

Technical Perspective: Tools For Information to Flow Securely and Swift-ly

Back in the old days of the Web (before 1995), Web browsers were fairly simple devices. The server's Web interface was simple enough that an auditor could at least...

From Communications of the ACM

Technical Perspective: Patching Program Errors

C programmers are are all too familiar with out-of-bounds memory errors. The paper here presents an intriguing technique for...

Exterminator: Automatically Correcting Memory Errors with High Probability
From Communications of the ACM

Exterminator: Automatically Correcting Memory Errors with High Probability

Programs written in C and C++ are susceptible to memory errors, including buffer overflows and dangling pointers. We present Exterminator, a system that automatically...

From Communications of the ACM

Technical Perspective: Safeguarding Online Information Against Failures and Attacks

Users need storage that is highly reliable (it is not lost) and highly available (accessible when needed). Guaranteeing...

Zyzzyva: Speculative Byzantine Fault Tolerance
From Communications of the ACM

Zyzzyva: Speculative Byzantine Fault Tolerance

A longstanding vision in distributed systems is to build reliable systems from unreliable components. An enticing formulation of this vision is Byzantine fault-tolerant...

Geometry, Flows, and Graph-Partitioning Algorithms
From Communications of the ACM

Geometry, Flows, and Graph-Partitioning Algorithms

"Graph partitioning" refers to a family of computational problems in which the vertices of a graph have to be partitioned...

From Communications of the ACM

Technical Perspective: New Developments in Graph Partitioning

Arora, Rao, and Vazirani discuss the most important developments in approximation algorithms over the last two decades.

From Communications of the ACM

Technical Perspective: Transactional Memory in the Operating System

The long tradition of building ever-faster processors is ending, with the computer industry instead putting more...

From Communications of the ACM

TxLinux and MetaTM: Transactional Memory and the Operating System

TxLinux is the first operating system to use hardware transactional memory (HTM) as a synchronization primitive, and the first to manage HTM in the scheduler. TxLinux...

From Communications of the ACM

Technical Perspective: A Methodology For Evaluating Computer System Performance

Computer science has long had a solid foundation for evaluating the performance of algorithms. The asymptotic...

From Communications of the ACM

Technical Perspective: Transactions Are Tomorrow's Loads and Stores

In computer science, when we say "time is money," we typically refer to two types of time that determine the costs and benefits...

From Communications of the ACM

Composable Memory Transactions

In this paper we present a concurrency model based on transactional memory. All the usualblocking and choice...
Sign In for Full Access
» Forgot Password? » Create an ACM Web Account