{"title":"Reachability in Multithreaded Programs Is Polynomial in the Number of Threads","authors":"A. Malkis","doi":"10.1109/PDCAT46702.2019.00078","DOIUrl":null,"url":null,"abstract":"Reachability in multithreaded programs is an important yet inherently difficult problem, even if they are finite-state and equipped with the interleaving semantics. So far, the complexity of this problem in the number of threads n, while keeping the maximal size of the thread-local memory and the size of shared memory bounded by a constant, has been explored poorly. We close this gap by measuring aspects such as (i) the diameter, i.e., the longest finite distance realizable in the transition graph of the program, (ii) the local diameter, i.e., the maximum distance from any program state to any thread-local state, and (iii) the computational complexity of bug-finding. We prove that all these are majorized by a polynomial in n and, in certain cases, by a linear, logarithmic, or even constant function in n. Such bounds shed more light on how the widely expressed claim, that one of the major obstacles to analyzing concurrent programs is the exponential state explosion in the number of threads, should (and should not) be understood.","PeriodicalId":166126,"journal":{"name":"2019 20th International Conference on Parallel and Distributed Computing, Applications and Technologies (PDCAT)","volume":"04 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2019-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2019 20th International Conference on Parallel and Distributed Computing, Applications and Technologies (PDCAT)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/PDCAT46702.2019.00078","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
Reachability in multithreaded programs is an important yet inherently difficult problem, even if they are finite-state and equipped with the interleaving semantics. So far, the complexity of this problem in the number of threads n, while keeping the maximal size of the thread-local memory and the size of shared memory bounded by a constant, has been explored poorly. We close this gap by measuring aspects such as (i) the diameter, i.e., the longest finite distance realizable in the transition graph of the program, (ii) the local diameter, i.e., the maximum distance from any program state to any thread-local state, and (iii) the computational complexity of bug-finding. We prove that all these are majorized by a polynomial in n and, in certain cases, by a linear, logarithmic, or even constant function in n. Such bounds shed more light on how the widely expressed claim, that one of the major obstacles to analyzing concurrent programs is the exponential state explosion in the number of threads, should (and should not) be understood.