{"title":"A Java dialect free of data races and without annotations","authors":"Luis Mateu","doi":"10.1109/IPDPS.2003.1213143","DOIUrl":null,"url":null,"abstract":"fWe introduce a dialect of Java, JShield, for concurrent object oriented programming, whose primary design goal is robustness. JShield preserves the Java syntax and the semantics of sequential Java programs. It modifies the semantics of concurrent programs to completely avoid data races without relying on the programmer ability, and without requiring special annotations. This is achieved by combining Hoare's monitors with remote method invocations of Java to ensure the proper request of a lock before manipulating shared data. We show that this can be done with a reasonable overhead in execution time compared to Java.","PeriodicalId":177848,"journal":{"name":"Proceedings International Parallel and Distributed Processing Symposium","volume":"37 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2003-04-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"3","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings International Parallel and Distributed Processing Symposium","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/IPDPS.2003.1213143","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 3
Abstract
fWe introduce a dialect of Java, JShield, for concurrent object oriented programming, whose primary design goal is robustness. JShield preserves the Java syntax and the semantics of sequential Java programs. It modifies the semantics of concurrent programs to completely avoid data races without relying on the programmer ability, and without requiring special annotations. This is achieved by combining Hoare's monitors with remote method invocations of Java to ensure the proper request of a lock before manipulating shared data. We show that this can be done with a reasonable overhead in execution time compared to Java.