Large disk arrays are everywhere. When we shop at an Internet retailer, the product and account data come from a disk...Arif Merchant From Communications of the ACM | April 2009
We address the problem of specifying and detecting emergent behavior in networks of cardiac myocytes, spiral electric waves in particular, a precursor to atrial...Radu Grosu, Scott A. Smolka, Flavio Corradini, Anita Wasilewska, Emilia Entcheva, Ezio Bartocci From Communications of the ACM | March 2009
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...Bud Mishra From Communications of the ACM | March 2009
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...Venkatesan Guruswami, Atri Rudra From Communications of the ACM | March 2009
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...Daniel A. Spielman From Communications of the ACM | March 2009
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...Constantinos Daskalakis, Paul W. Goldberg, Christos H. Papadimitriou From Communications of the ACM | February 2009
Computer science and game theory go back to the same individual, John von Neumann, and both subjects deal with the...Ehud Kalai From Communications of the ACM | February 2009
Swift is a new, principled approach to building Web applications that are secure by construction. Swift automatically partitions application code while providing...Stephen Chong, Jed Liu, Andrew C. Myers, Xin Qi, K. Vikram, Lantian Zheng, Xin Zheng From Communications of the ACM | February 2009
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...Dan Wallach From Communications of the ACM | February 2009
C programmers are are all too familiar with out-of-bounds memory errors. The paper here presents an intriguing technique for...Martin C. Rinard From Communications of the ACM | December 2008
Programs written in C and C++ are susceptible to memory errors, including buffer overflows and dangling pointers. We present Exterminator, a system that automatically...Gene Novark, Emery D. Berger, Benjamin G. Zorn From Communications of the ACM | December 2008
Users need storage that is highly reliable (it is not lost) and highly available (accessible when needed). Guaranteeing...Barbara Liskov From Communications of the ACM | November 2008
A longstanding vision in distributed systems is to build reliable systems from unreliable components. An enticing formulation of this vision is Byzantine fault-tolerant...Ramakrishna Kotla, Allen Clement, Edmund Wong, Lorenzo Alvisi, Mike Dahlin From Communications of the ACM | November 2008
"Graph partitioning" refers to a family of computational problems in which the vertices of a graph have to be partitioned...Sanjeev Arora, Satish Rao, Umesh Vazirani From Communications of the ACM | October 2008
Arora, Rao, and Vazirani discuss the most important developments in approximation algorithms over the last two decades.Éva Tardos From Communications of the ACM | October 2008
The long tradition of building ever-faster processors is ending, with the computer industry instead putting more...Mark Moir From Communications of the ACM | September 2008
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...Christopher J. Rossbach, Hany E. Ramadan, Owen S. Hofmann, Donald E. Porter, Aditya Bhandari, Emmett Witchel From Communications of the ACM | September 2008
Computer science has long had a solid foundation for evaluating the performance of algorithms. The asymptotic...William Pugh From Communications of the ACM | August 2008
In computer science, when we say "time is money," we typically refer to two types of time that determine the costs and benefits...Nir Shavit From Communications of the ACM | August 2008
In this paper we present a concurrency model based on transactional memory. All the usualblocking and choice...Tim Harris, Simon Marlow, Simon Peyton Jones, Maurice Herlihy From Communications of the ACM | August 2008