Avoiding State-Space Explosion in Multithreaded Programs with Input-Covering Schedules and Symbolic Execution

dc.contributor.advisorCeze, Luis Hen_US
dc.contributor.authorBergan, Thomasen_US
dc.date.accessioned2014-04-30T16:18:48Z
dc.date.available2014-04-30T16:18:48Z
dc.date.issued2014-04-30
dc.date.submitted2014en_US
dc.descriptionThesis (Ph.D.)--University of Washington, 2014en_US
dc.description.abstractThis dissertation makes two high-level contributions: First, we propose an algorithm to perform symbolic execution of multithreaded programs from arbitrary program contexts. We argue that this can enable more efficient symbolic exploration of deep code paths in multithreaded programs by allowing the symbolic engine to jump directly to program contexts of interest. We are the first to attack this problem. Second, we propose constraining multithreaded executions to small sets of input-covering schedules, which are defined as follows: given a program P, we say that a set of schedules S covers all inputs of program P if, when given any input, P's execution can be constrained to some schedule in S and still produce a semantically valid result. Our approach is to first compute a small S for a given program P, and then, at runtime, constrain P's execution to always follow some schedule in S, and never deviate. This approach has the following advantage: because all possible runtime schedules are known a priori, we can seek to validate the program by thoroughly verifying each schedule in S, in isolation, without needing to reason about the huge space of thread interleavings that arises due to conventional nondeterministic execution. To tie both contributions together, we show how our symbolic execution techniques can be used to speed the search for input-covering schedules.en_US
dc.embargo.termsNo embargoen_US
dc.format.mimetypeapplication/pdfen_US
dc.identifier.otherBergan_washington_0250E_12804.pdfen_US
dc.identifier.urihttp://hdl.handle.net/1773/25357
dc.language.isoen_USen_US
dc.rightsCopyright is held by the individual authors.en_US
dc.subjectconcurrency; static analysis; symbolic executionen_US
dc.subject.otherComputer scienceen_US
dc.subject.othercomputer science and engineeringen_US
dc.titleAvoiding State-Space Explosion in Multithreaded Programs with Input-Covering Schedules and Symbolic Executionen_US
dc.typeThesisen_US

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Bergan_washington_0250E_12804.pdf
Size:
759.63 KB
Format:
Adobe Portable Document Format