{"title":"KStruct: preserving consistency through C annotations","authors":"Alexander Schmidt, M. V. Löwis, A. Polze","doi":"10.1145/1745438.1745447","DOIUrl":null,"url":null,"abstract":"Debuggers and instrumentation tools have been proven valuable for understanding the inner workings of software systems. Although these tools are essential for various people, e.g., system administrators, developers, or teachers, they have one major drawback, especially in multi-threaded environments: They completely ignore data races.\n Within this paper, we present KStruct, a holistic approach for inspecting state information of a system while running. We therefore use a multi-level approach: First KStruct Access, our domain-specific language, can be used to model lock dependencies. Second, based on that model, we generate an access driver that dynamically attaches to the system under investigation and leverages that model to access state information. Our proposed approach can therefore improve quality in two dimensions: The code by making locking first-class primitives, and second the retrieved data is more reliable to be consistent.","PeriodicalId":89892,"journal":{"name":"ASPLOS ... proceedings. International Conference on Architectural Support for Programming Languages and Operating Systems","volume":"586 1","pages":"6:1-6:5"},"PeriodicalIF":0.0000,"publicationDate":"2009-10-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"5","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"ASPLOS ... proceedings. International Conference on Architectural Support for Programming Languages and Operating Systems","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/1745438.1745447","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 5
Abstract
Debuggers and instrumentation tools have been proven valuable for understanding the inner workings of software systems. Although these tools are essential for various people, e.g., system administrators, developers, or teachers, they have one major drawback, especially in multi-threaded environments: They completely ignore data races.
Within this paper, we present KStruct, a holistic approach for inspecting state information of a system while running. We therefore use a multi-level approach: First KStruct Access, our domain-specific language, can be used to model lock dependencies. Second, based on that model, we generate an access driver that dynamically attaches to the system under investigation and leverages that model to access state information. Our proposed approach can therefore improve quality in two dimensions: The code by making locking first-class primitives, and second the retrieved data is more reliable to be consistent.