skip to main content
research-article

Atomicity refinement for verified compilation

Published:09 June 2014Publication History
Skip Abstract Section

Abstract

We consider the verified compilation of high-level managed languages like Java or C# whose intermediate representations provide support for shared-memory synchronization and automatic memory management. In this environment, the interactions between application threads and the language runtime (e.g., the garbage collector) are regulated by compiler-injected code snippets. Example of snippets include allocation fast paths among others. In our TOPLAS paper we propose a refinement-based proof methodology that precisely relates concurrent code expressed at different abstraction levels, cognizant throughout of the relaxed memory semantics of the underlying processor. Our technique allows the compiler writer to reason compositionally about the atomicity of low-level concurrent code used to implement managed services. We illustrate our approach with examples taken from the verification of a concurrent garbage collector.

References

  1. T. Domani, E. K. Kolodner, E. Lewis, E. E. Salant, K. Barabash, I. Lahan, Y. Levanoni, E. Petrank, and I. Yanover. Implementing an On-the-Fly Garbage Collector for Java. In ISMM, pages 155--166, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. S. Jagannathan, V. Laporte, G. Petri, D. Pichardie, and J. Vitek. Atomicity Refinement for Verified Compilation. ACM TOPLAS, 2014.Google ScholarGoogle Scholar
  3. S. Owens, S. Sarkar, and P. Sewell. A Better x86 Memory Model: x86-TSO. In TPHOLs, pages 391--407, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. J. Ševčík, V. Vafeiadis, F. Z. Nardelli, S. Jagannathan, and P. Sewell. CompCertTSO: A Verified Compiler for Relaxed-Memory Concurrency. J. ACM, 60(3):22, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Atomicity refinement for verified compilation

                    Recommendations

                    Comments

                    Login options

                    Check if you have access through your login credentials or your institution to get full access on this article.

                    Sign in

                    Full Access

                    • Published in

                      cover image ACM SIGPLAN Notices
                      ACM SIGPLAN Notices  Volume 49, Issue 6
                      PLDI '14
                      June 2014
                      598 pages
                      ISSN:0362-1340
                      EISSN:1558-1160
                      DOI:10.1145/2666356
                      • Editor:
                      • Andy Gill
                      Issue’s Table of Contents
                      • cover image ACM Conferences
                        PLDI '14: Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation
                        June 2014
                        619 pages
                        ISBN:9781450327848
                        DOI:10.1145/2594291

                      Copyright © 2014 Owner/Author

                      Publisher

                      Association for Computing Machinery

                      New York, NY, United States

                      Publication History

                      • Published: 9 June 2014

                      Check for updates

                      Qualifiers

                      • research-article

                    PDF Format

                    View or Download as a PDF file.

                    PDF

                    eReader

                    View online with eReader.

                    eReader
                    About Cookies On This Site

                    We use cookies to ensure that we give you the best experience on our website.

                    Learn more

                    Got it!