{"title":"The Permission Approach to Comprehend Lock-Based Synchronization Policy","authors":"Yang Zhao, Ligong Yu, Jia Bei","doi":"10.1109/ICACTE.2008.51","DOIUrl":null,"url":null,"abstract":"Lock-based synchronization is widely used to avoid data races in multithreaded programs. However, it is usually painful to verify the safety and correctness of lock usage because there may be some unpredictable interferences among different threads in parallel. In order to assure the usage of mutual-exclusion locks, we propose to interpret the synchronization policy as permission representations. A permission is a value associated with some piece of state in a program and it is designed to permit certain operations. Permission includes a characteristic property: \"nesting,\" such that one permission may be designed to be nested into the other, with which we are able to simulate lock protection annotations and hence detect whether high level annotations match with underlying program code.","PeriodicalId":364568,"journal":{"name":"2008 International Conference on Advanced Computer Theory and Engineering","volume":"46 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2008-12-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"3","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2008 International Conference on Advanced Computer Theory and Engineering","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICACTE.2008.51","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 3
Abstract
Lock-based synchronization is widely used to avoid data races in multithreaded programs. However, it is usually painful to verify the safety and correctness of lock usage because there may be some unpredictable interferences among different threads in parallel. In order to assure the usage of mutual-exclusion locks, we propose to interpret the synchronization policy as permission representations. A permission is a value associated with some piece of state in a program and it is designed to permit certain operations. Permission includes a characteristic property: "nesting," such that one permission may be designed to be nested into the other, with which we are able to simulate lock protection annotations and hence detect whether high level annotations match with underlying program code.