DocumentCode
2075150
Title
DETERMIN: inferring likely deterministic specifications of multithreaded programs
Author
Burnim, Jacob ; Sen, Koushik
Author_Institution
EECS Dept., UC Berkeley, Berkeley, CA, USA
Volume
1
fYear
2010
fDate
2-8 May 2010
Firstpage
415
Lastpage
424
Abstract
The trend towards multicore processors and graphic processing units is increasing the need for software that can take advantage of parallelism. Writing correct parallel programs using threads, however, has proven to be quite challenging due to nondeterminism. The threads of a parallel application may be interleaved nondeterministically during execution, which can lead to nondeterministic results---some interleavings may produce the correct result while others may not. We have previously proposed an assertion framework for specifying that regions of a parallel program behave deterministically despite nondeterministic thread interleaving. The framework allows programmers to write assertions involving pairs of program states arising from different parallel schedules. We propose an algorithm to dynamically infer likely deterministic specifications for parallel programs given a set of inputs and schedules. We have implemented our specification inference algorithm for Java and have applied it to a number of previously examined Java benchmarks. We were able to automatically infer specifications largely equivalent to or stronger than our manual assertions from our previous work. We believe that the inference of deterministic specifications can aid in understanding and documenting the deterministic behavior of parallel programs. Moreover, an unexpected deterministic specification can indicate to a programmer the presence of erroneous or unintended behavior.
Keywords
multi-threading; multiprocessing systems; parallel programming; DETERMIN; Java; deterministic specification; deterministic specifications; graphic processing units; multicore processors; multithreaded programs; parallel programs; Bridges; Instruction sets; Java; Lattices; Schedules; Semantics; Vegetation; determinism; parallel programs; specification inference;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Engineering, 2010 ACM/IEEE 32nd International Conference on
Conference_Location
Cape Town
ISSN
0270-5257
Print_ISBN
978-1-60558-719-6
Type
conf
DOI
10.1145/1806799.1806860
Filename
6062109
Link To Document