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
Data represented geometrically in high-dimensional vector spaces can be found in many applications. The need to manipulate such data in huge corpora and to support...Nir Ailon, Bernard Chazelle From Communications of the ACM | February 2010
In studying the genetic basis of a disease, it is now common to select a set of relevant genes G, and to measure how strongly...Sanjoy Dasgupta From Communications of the ACM | February 2010
Native Client is a sandbox for untrusted x86 native code. It aims to give browser-based applications the computational performance of native applications without...Bennet Yee, David Sehr, Gregory Dardyk, J. Bradley Chen, Robert Muth, Tavis Ormandy, Shiki Okasaka, Neha Narula, Nicholas Fullagar From Communications of the ACM | January 2010
Google's Native Client is an intriguing new system that allows untrusted x86 binaries to run safely on bare metal.Dan Wallach From Communications of the ACM | January 2010
We introduce Plushie, an interactive system that allows nonprofessional users to design their own original plush toys. We successfully demonstrated that nonprofessional...Yuki Igarashi, Takeo Igarashi From Communications of the ACM | December 2009
There are many who believe we are on the verge of the biggest change in the way products are made since the Industrial...James A. Landay From Communications of the ACM | December 2009
Writing software for multicore processors is greatly simplified if we could automatically parallelize sequential programs. Although auto-parallelization has been...Milind Kulkarni, Keshav Pingali, Bruce Walter, Ganesh Ramanarayanan, Kavita Bala, L. Paul Chew From Communications of the ACM | September 2009
Looking for some new insight into an old problem? The familiar problem of writing parallel applications and a...Katherine Yelick From Communications of the ACM | September 2009
Existing literature on distributed development in software engineering and other fields discusses various challenges,...Christian Bird, Nachiappan Nagappan, Premkumar Devanbu, Harald Gall, Brendan Murphy From Communications of the ACM | August 2009
It was a problem that should not have taken three weeks to solve. The documentation claimed that if a function was called...James Herbsleb From Communications of the ACM | August 2009
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...Xavier Leroy From Communications of the ACM | July 2009
In the early 1970s, pioneers like Floyd, Dijkstra, and Hoare argued that programs should be formally specified and proven...Greg Morrisett From Communications of the ACM | July 2009
Autonomous helicopter flight is widely regarded to be a highly challenging control problem. As helicopters are highly unstable and exhibit complicated dynamical...Adam Coates, Pieter Abbeel, Andrew Y. Ng From Communications of the ACM | July 2009