Multithreaded programs are notoriously prone to race conditions. Prior work developed precise dynamic race detectors that never report false alarms. However, these...Cormac Flanagan, Stephen N. Freund From Communications of the ACM | November 2010
GOLDILOCKS is a Java runtime that monitors program executions and throws a DataRaceException when a data race...Tayfun Elmas, Shaz Qadeer, Serdar Tasiran From Communications of the ACM | November 2010
Exploiting parallelism has become the primary means to higher performance. Shared memory is a pervasively used programming...Sarita Adve From Communications of the ACM | November 2010
Virtual machine monitors are a popular platform for Internet hosting centers and cloud-based compute services. But main memory is not amenable to multiplexed hardware...Diwaker Gupta, Sangmin Lee, Michael Vrable, Stefan Savage, Alex C. Snoeren, George Varghese, Geoffrey M. Voelker, Amin Vahdat From Communications of the ACM | October 2010
The past decade has witnessed a renaissance in server virtualization. Diwaker Gupta et al. present a novel approach for significantly improving the efficiency of...Carl Waldspurger From Communications of the ACM | October 2010
In a constraint satisfaction problem (CSP) the goal is to find an assignment of a given set of variables subject to specified constraints. A global cardinality...Andrei A. Bulatov, Dániel Marx From Communications of the ACM | September 2010
It takes little imagination to come up with a wealth of problems in scheduling and planning that can be expressed asConstraint Satisfaction...Mark Jerrum From Communications of the ACM | September 2010
Static program analysis techniques cannot know certain values, such as the value of user input or network state, at analysis...Isil Dillig, Thomas Dillig, Alex Aiken From Communications of the ACM | August 2010
You are given a program. Will it crash? Is it subject to a spoofing, buffer overflow, or injection attack? Is this part of...Fritz Henglein From Communications of the ACM | August 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
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