MPI-INF Logo
Campus Event Calendar

Event Entry

What and Who

On producing scheduling that makes concurrent programs fail

Yaniv Eytani
University of Haifa
Talk
AG 1, AG 2, AG 3, AG 4, AG 5  
AG Audience
-- Not specified --

Date, Time and Location

Friday, 16 September 2005
10:15
-- Not specified --
46.1 - MPII
024
Saarbrücken

Abstract

In this work we explore the theory and practice of deciding

on the program locations in which to induce thread switches
during the program's execution for the purpose of reviling
concurrent bugs. We introduce a model that classifies the
locations as "good", "neutral", and "bad" according to the
effect a thread switch has at each location. Intuitively,
all good locations must be seeded with a thread switch,
while none of the bad locations should be seeded. Using the
model we justify of the use of probabilistic algorithms for
efficient detection of real-life concurrent bugs and explain
why using a non-uniform probability to select the program
location may be superior over the previously used uniform
probability. To validate the correctness of our model we
implemented a scheme that randomly chooses and then seeds a
subset of the program locations with a thread switch. We
predict that since there are bad program locations, bug
finding performance should not monotonically increase with
the more locations we choose. Rather, it should act in a
convex-like manner. We show using experiments that there is
a sweet spot in which the bugs manifest the most and that
this rate goes down with increase or decrease of the chosen
probability.

Contact

Bernd Finkbeiner
--email hidden
passcode not visible
logged in users only

Uwe Waldmann, 09/15/2005 12:26
Uwe Waldmann, 09/15/2005 12:25 -- Created document.