Memory scaling is in jeopardy as charge storage and sensing mechanisms become less reliable for prevalent memory technologies. In contrast, phase change memory...Benjamin C. Lee, Engin Ipek, Onur Mutlu, Doug Burger From Communications of the ACM | July 2010
As predicted by Intel's Gordon Moore in 1965, the number of transistors that can be integrated on one die continues to double approximately...Mary Jane Irwin From Communications of the ACM | July 2010
Exploiting the multiprocessors that have recently become ubiquitous requires high-performance and reliable concurrent systems code. However, concurrent programming...Peter Sewell, Susmit Sarkar, Scott Owens, Francesco Zappa Nardelli, Magnus O. Myreen From Communications of the ACM | July 2010
Multithreaded programs that communicate through shared memory are pervasive. Today they are the most obvious...Hans-J. Boehm From Communications of the ACM | July 2010
We report on the formal, machine-checked verification of the seL4 microkernel from an abstract specification down to its C implementation. We assume correctness...Gerwin Klein, June Andronick, Kevin Elphinstone, Gernot Heiser, David Cock, Philip Derrin, Dhammika Elkaduwe, Kai Engelhardt, Rafal Kolanski, Michael Norrish, Thomas Sewell, Harvey Tuch, Simon Winwood From Communications of the ACM | June 2010
When you decide to use a piece of software, how do you know it will do what you need it to do? Will it be safe to run? Will it interfere...K. Rustan M. Leino From Communications of the ACM | June 2010
The trend towards processors with more and more parallel cores is increasing the need for software that can take advantage of...Jacob Burnim, Koushik Sen From Communications of the ACM | June 2010
Surprises may be fun in real life, but not so in software. One approach to avoiding surprises in software is to establish its...Vivek Sarkar From Communications of the ACM | June 2010
There are many methods for detecting and mitigating software errors but few generic methods for automatically repairing errors once they are discovered. Recent...Westley Weimer, Stephanie Forrest, Claire Le Goues, ThanhVu Nguyen From Communications of the ACM | May 2010
Finding bugs is technically demanding and yet economically vital. How much more difficult yet valuable would it be to...Mark Harman From Communications of the ACM | May 2010
The success and proliferation of dark pool stock exchanges have created challenging and interesting problems in algorithmic trading—in particular, the problem of...Kuzman Ganchev, Yuriy Nevmyvaka, Michael Kearns, Jennifer Wortman Vaughan From Communications of the ACM | May 2010
The problem of decision making in an uncertain environment arises in many diverse contexts. The key issue in effectively solving problems like this is known as...Peter L. Bartlett From Communications of the ACM | May 2010
Recent challenges organized by DARPA have induced a significant advance in technology for autopilots for cars; similar to those already used in aircraft and marine...Sebastian Thrun From Communications of the ACM | April 2010
Sebastian Thrun gives us a glimpse into the design and implementation of two winning DARPA grand challenge entries...Leslie Pack Kaelbling From Communications of the ACM | April 2010
Customer preferences for products are drifting over time. Product perception and popularity are constantly changing as new selection emerges. Similarly, customer...Yehuda Koren From Communications of the ACM | April 2010
The past decade has seen an explosion of interest in machine learning and data mining, with significant advances in terms of...Padhraic Smyth, Charles Elkan From Communications of the ACM | April 2010
Recognizing objects in images is an active area of research in computer vision. However, most of the algorithms for detecting objects perform an exhaustive search...A. Torralba, K. P. Murphy, W. T. Freeman From Communications of the ACM | March 2010
Bristling with cameras, microphones, and other sensors, today's portable phones are nevertheless essentially deaf and...Pietro Perona From Communications of the ACM | March 2010
Suppose that you want to delegate the ability to process your data, without giving away access to it. This separation is possible: we describe a "fully homomorphic"...Craig Gentry From Communications of the ACM | March 2010
We all know how to protect our private or most valuable data from unauthorized access: encrypt it. Still, the use of encryption to protect...Daniele Micciancio From Communications of the ACM | March 2010