Java']Java consistency: Nonoperational characterizations for Java']Java memory behavior

被引:7
|
作者
Gontmakher, A [1 ]
Schuster, A [1 ]
机构
[1] Technion Israel Inst Technol, Dept Comp Sci, IL-32000 Haifa, Israel
来源
ACM TRANSACTIONS ON COMPUTER SYSTEMS | 2000年 / 18卷 / 04期
关键词
verification; !text type='Java']Java[!/text] memory models; ultithreading; nonoperational specification;
D O I
10.1145/362670.362673
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
The Java Language Specification (JLS) [Gosling et al. 1996] provides an operational definition for the consistency of shared variables. This definition remains unchanged in the JLS 2nd edition, currently under peer review. The definition, which relies on a specific abstract machine as its underlying model, is very complicated. Several subsequent works have tried to simplify and formalize it. However, these revised definitions are also operational, and thus have failed to highlight the intuition behind the original specification. In this work we provide a complete nonoperational specification for Java and for the JVM, excluding synchronized operations. We provide a simpler definition, in which we clearly distinguish the consistency model that is promised to the programmer from that which should be implemented in the JVM. This distinction, which was implicit in the original definition, is crucial for building the JVM. We find that the programmer model is strictly weaker than that of the JVM, and precisely define their discrepancy. Moreover, our definition is independent of any specific (or even abstract) machine, and can thus be used to verify JVM implementations and compiler optimizations on any platform. Finally, we show the precise range of consistency relaxations obtainable for the Java memory model when a certain compiler optimization-called prescient stores in JLS-is applicable.
引用
收藏
页码:333 / 386
页数:54
相关论文
共 50 条
  • [31] Flow Java']Java: Declarative concurrency for Java']Java
    Drejhammar, F
    Schulte, C
    Brand, P
    Haridi, S
    [J]. LOGIC PROGRAMMING, PROCEEDINGS, 2003, 2916 : 346 - 360
  • [32] AGGREGATED ACCOUNTING OF MEMORY USAGE IN JAVA']JAVA
    Bouche, Paul
    von Loewis, Martin
    Troeger, Peter
    [J]. ICSOFT 2009: PROCEEDINGS OF THE 4TH INTERNATIONAL CONFERENCE ON SOFTWARE AND DATA TECHNOLOGIES, VOL 1, 2009, : 177 - +
  • [33] Research on Memory Leakage in Java']Java Application
    Peng Hao-lin
    Liu Yi-min
    You Xiang-bai
    [J]. ICCSIT 2010 - 3RD IEEE INTERNATIONAL CONFERENCE ON COMPUTER SCIENCE AND INFORMATION TECHNOLOGY, VOL 2, 2010, : 146 - 148
  • [34] The Java']Java memory model is fatally flawed
    Pugh, W
    [J]. CONCURRENCY-PRACTICE AND EXPERIENCE, 2000, 12 (06): : 445 - 455
  • [35] Memory Organization and Optimization for Java']Java Workloads
    Chong, K. F.
    Fong, Anthony S.
    [J]. INTERNATIONAL JOURNAL OF COMPUTER SCIENCE AND NETWORK SECURITY, 2006, 6 (11): : 284 - 291
  • [36] Evaluating the importance of virtual memory for Java']Java
    Becerra, Y
    Cortes, T
    Garcia, J
    Navarro, N
    [J]. ISPASS: 2003 IEEE INTERNATIONAL SYMPOSIUM ON PERFORMANCE ANALYSIS OF SYSTEMS AND SOFTWARE, 2003, : 101 - 110
  • [37] Java']Java testing moves beyond memory
    Varhol, P
    [J]. COMPUTER DESIGN, 1998, 37 (08): : 34 - +
  • [38] Analyzing the CRF Java']Java Memory Model
    Yang, Y
    Gopalakrishnan, G
    Lindstrom, G
    [J]. APSEC 2001: EIGHTH ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE, PROCEEDINGS, 2001, : 21 - 28
  • [39] Executing Java']Java programs with transactional memory
    Carlstrom, Brian D.
    Chung, JaeWoong
    Chafi, Hassan
    McDonald, Austen
    Minh, Chi Cao
    Hammond, Lance
    Kozyrakis, Christos
    Olukotun, Kunle
    [J]. SCIENCE OF COMPUTER PROGRAMMING, 2006, 63 (02) : 111 - 129
  • [40] A Multifaceted Memory Analysis of Java']Java Benchmarks
    Papadakis, Orion
    Andronikakis, Andreas
    Foutris, Nikos
    Papadimitriou, Michail
    Stratikopoulos, Athanasios
    Zakkak, Foivos S.
    [J]. PROCEEDINGS OF THE 20TH ACM SIGPLAN INTERNATIONAL CONFERENCE ON MANAGED PROGRAMMING LANGUAGES AND RUNTIMES, MPLR 2023, 2023, : 70 - 84