Title
Exploiting synchronization in the analysis of shared-memory asynchronous programs
Abstract
As asynchronous programming becomes more mainstream, program analyses capable of automatically uncovering programming errors are increasingly in demand. Since asynchronous program analysis is computationally costly, current approaches sacrifice completeness and focus on limited sets of asynchronous task schedules that are likely to expose programming errors. These approaches are based on parameterized task schedulers, each of which admits schedules which are variations of a default deterministic schedule. By increasing the parameter value, a larger variety of schedules is explored, at a higher cost. The efficacy of these approaches depends largely on the default deterministic scheduler on which varying schedules are fashioned. We find that the limited exploration of asynchronous program behaviors can be made more efficient by designing parameterized schedulers which better match the inherent ordering of program events, e.g., arising from waiting for an asynchronous task to complete. We follow a reduction-based \"sequentialization\" approach to analyzing asynchronous programs, which leverages existing (sequential) program analysis tools by encoding asynchronous program executions, according to a particular scheduler, as the executions of a sequential program. Analysis based on our new scheduler comes at no greater computational cost, and provides strictly greater behavioral coverage than analysis based on existing parameterized schedulers; we validate these claims both conceptually, with complexity and behavioral-inclusion arguments, and empirically, by discovering actual reported bugs faster with smaller parameter values.
Year
DOI
Venue
2014
10.1145/2632362.2632370
SPIN
Keywords
Field
DocType
asynchronous programs,software/program verification,concurrency,sequentialization,testing and debugging
Asynchronous communication,Synchronization,Parameterized complexity,Shared memory,Concurrency,Computer science,Theoretical computer science,Schedule,Program analysis,Asynchronous method invocation,Distributed computing
Conference
Citations 
PageRank 
References 
4
0.43
13
Authors
3
Name
Order
Citations
PageRank
Michael Emmi136521.76
Burcu Kulahcioglu Ozkan2131.94
Serdar Tasiran3103079.90