Exploiting purity for atomicity

被引:23
|
作者
Flanagan, C
Freund, SN
Qadeer, S
机构
[1] Univ Calif Santa Cruz, Dept Comp Sci, Santa Cruz, CA 95064 USA
[2] Williams Coll, Dept Comp Sci, Williamstown, MA 01267 USA
[3] Microsoft Corp, Res, Redmond, WA 98052 USA
基金
美国国家科学基金会;
关键词
atomicity; purity; reduction; concurrent programs;
D O I
10.1109/TSE.2005.47
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Multithreaded programs often exhibit erroneous behavior because of unintended interactions between concurrent threads. This paper focuses on the noninterference property of atomicity. A procedure is atomic if, for every execution, there is an equivalent serial execution in which the actions of the atomic procedure are not interleaved with actions of other threads. This key property makes atomic procedures amenable to sequential reasoning techniques, which significantly facilitates subsequent validation activities such as code inspection and testing. Several existing tools verify atomicity by using commutativity of actions to show that every execution reduces to a corresponding serial execution. However, experiments with these tools have highlighted a number of interesting procedures that, while intuitively atomic, are not reducible. In this paper, we exploit the notion of pure code blocks to verify the atomicity of such irreducible procedures. If a pure block terminates normally, then its evaluation does not change the program state and, hence, these evaluation steps can be removed from the program trace before reduction. We develop a static typed-based analysis for atomicity based on this insight, and we illustrate this analysis on a number of interesting examples that could not be verified using earlier tools based purely on reduction.
引用
收藏
页码:275 / 291
页数:17
相关论文
共 50 条
  • [31] THE ATOMICITY OF LUKASIEWICZ ALGEBRAS
    DEGLAS, M
    REVUE ROUMAINE DE MATHEMATIQUES PURES ET APPLIQUEES, 1984, 29 (03): : 231 - 233
  • [32] A global atomicity primitive
    Allison, C
    Harrington, P
    Huang, F
    Livesey, M
    PROCEEDINGS OF THE FIFTH INTERNATIONAL WORKSHOP ON OBJECT-ORIENTATION IN OPERATING SYSTEMS, 1996, : 25 - 29
  • [33] Atomicity for XML Databases
    Biswas, Debmalya
    Jiwane, Ashwin
    Genest, Blaise
    DATABASE AND XML TECHNOLOGIES, PROCEEDINGS, 2009, 5679 : 180 - +
  • [34] Atomicity for Anick's spaces
    Theriault, Stephen
    JOURNAL OF PURE AND APPLIED ALGEBRA, 2015, 219 (06) : 2346 - 2358
  • [35] Alternators in read/write atomicity
    Kulkarni, SS
    Bolen, C
    Oleszkiewicz, J
    Robinson, A
    INFORMATION PROCESSING LETTERS, 2005, 93 (05) : 207 - 215
  • [36] Atomicity and recovery in multidatabase systems
    Bhattacharjee, R
    Hurson, AR
    Spink, AH
    PDPTA'2001: PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED PROCESSING TECHNIQUES AND APPLICATIONS, 2001, : 610 - 616
  • [37] A type and effect system for atomicity
    Flanagan, C
    Qadeer, S
    ACM SIGPLAN NOTICES, 2003, 38 (05) : 338 - 349
  • [38] Monitoring atomicity in concurrent programs
    Farzan, Azadeh
    Madhusudan, P.
    COMPUTER AIDED VERIFICATION, 2008, 5123 : 52 - +
  • [39] Strict Linearizability and Abstract Atomicity
    Wen, Tangliu
    Peng, Jie
    Xue, Jinyun
    You, Zhen
    Song, Lan
    INTERNATIONAL JOURNAL OF FOUNDATIONS OF COMPUTER SCIENCE, 2021, 32 (01) : 1 - 35
  • [40] Atomicity Refinement for Verified Compilation
    Jagannathan, Suresh
    Laporte, Vincent
    Petri, Gustavo
    Pichardie, David
    Vitek, Jan
    ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2014, 36 (02):