Title :
Scalable and precise symbolic analysis for atomicity violations
Author_Institution :
NEC Labs. America, Princeton, NJ, USA
Abstract :
We present a symbolic testing tool BEST for finding atomicity violations. We automatically infer and generate potential atomicity properties from an observed run of a multi-threaded program, and use precise modeling and constraint-based symbolic search to find atomicity violating schedules in the most generalization of the observed run. We focus mainly on the tool scalability by devising various simplification steps to reduce the formula and the search space by orders-of-magnitude. To that effect, we also introduce a new notion of atomicity that is useful and simple to check. We demonstrate the effectiveness of the combined techniques on several public C/C++/Java benchmarks in finding known/unknown atomicity bugs.
Keywords :
C++ language; Java; multi-threading; program debugging; program testing; symbol manipulation; BEST; C benchmarks; C++ benchmarks; Java benchmarks; atomicity bugs; atomicity violations; constraint based symbolic search; multithreaded program; symbolic analysis; symbolic testing tool; tool scalability; Computer bugs; Concurrent computing; Generators; Java; Runtime; Schedules; Synchronization;
Conference_Titel :
Automated Software Engineering (ASE), 2011 26th IEEE/ACM International Conference on
Conference_Location :
Lawrence, KS
Print_ISBN :
978-1-4577-1638-6
DOI :
10.1109/ASE.2011.6100045