Academic Journal

Will It Fit? Verifying Heap Space Bounds of Concurrent Programs under Garbage Collection.

Bibliographic Details
Title: Will It Fit? Verifying Heap Space Bounds of Concurrent Programs under Garbage Collection.
Authors: Moine, Alexandre1 (AUTHOR) alexandre.moine@nyu.edu, Charguéraud, Arthur2 (AUTHOR) arthur.chargueraud@inria.fr, Pottier, François3 (AUTHOR) francois.pottier@inria.fr
Source: ACM Transactions on Programming Languages & Systems. Mar2025, Vol. 47 Issue 1, p1-71. 71p.
Subject Terms: Computer memory management, Parallel programs (Computer programs)
Abstract: We present IrisFit, a Separation Logic with space credits for reasoning about heap space in a concurrent call-by-value language equipped with tracing garbage collection and shared mutable state. We point out a fundamental difficulty in the analysis of the worst-case heap space complexity of concurrent programs in the presence of tracing garbage collection: If garbage collection phases and program steps can be arbitrarily interleaved, then there exist undesirable scenarios where a root held by a sleeping thread prevents a possibly large amount of memory from being freed. To remedy this problem and eliminate such undesirable scenarios, we propose several language features, namely possibly-blocking memory allocation, polling points, and protected sections. Polling points are meant to be automatically inserted by the compiler; protected sections are delimited by the programmer and represent regions where no polling points must be inserted. The heart of our contribution is IrisFit, a novel program logic that can establish worst-case heap space complexity bounds and whose reasoning rules can take advantage of the presence of protected sections. IrisFit is formalized inside the Coq proof assistant, on top of the Iris Separation Logic framework. We prove that IrisFit offers both a safety guarantee—programs cannot crash and cannot exceed a heap space limit—and a liveness guarantee—provided enough polling points have been inserted, every memory allocation request is satisfied in bounded time. We illustrate the use of IrisFit via several case studies, including a version of Treiber's stack whose worst-case behavior relies on the presence of protected sections. [ABSTRACT FROM AUTHOR]
Copyright of ACM Transactions on Programming Languages & Systems is the property of Association for Computing Machinery and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract. (Copyright applies to all Abstracts.)
Database: Business Source Index
FullText Text:
  Availability: 0
CustomLinks:
  – Url: https://resolver.ebsco.com/c/fiv2js/result?sid=EBSCO:bsx&genre=article&issn=01640925&ISBN=&volume=47&issue=1&date=20250301&spage=1&pages=1-71&title=ACM Transactions on Programming Languages & Systems&atitle=Will%20It%20Fit%3F%20Verifying%20Heap%20Space%20Bounds%20of%20Concurrent%20Programs%20under%20Garbage%20Collection.&aulast=Moine%2C%20Alexandre&id=DOI:10.1145/3716312
    Name: Full Text Finder (for New FTF UI) (ns324271)
    Category: fullText
    Text: Full Text Finder
    MouseOverText: Full Text Finder
Header DbId: bsx
DbLabel: Business Source Index
An: 188947144
RelevancyScore: 1339
AccessLevel: 6
PubType: Academic Journal
PubTypeId: academicJournal
PreciseRelevancyScore: 1339.33068847656
IllustrationInfo
Items – Name: Title
  Label: Title
  Group: Ti
  Data: Will It Fit? Verifying Heap Space Bounds of Concurrent Programs under Garbage Collection.
– Name: Author
  Label: Authors
  Group: Au
  Data: <searchLink fieldCode="AR" term="%22Moine%2C+Alexandre%22">Moine, Alexandre</searchLink><relatesTo>1</relatesTo> (AUTHOR)<i> alexandre.moine@nyu.edu</i><br /><searchLink fieldCode="AR" term="%22Charguéraud%2C+Arthur%22">Charguéraud, Arthur</searchLink><relatesTo>2</relatesTo> (AUTHOR)<i> arthur.chargueraud@inria.fr</i><br /><searchLink fieldCode="AR" term="%22Pottier%2C+François%22">Pottier, François</searchLink><relatesTo>3</relatesTo> (AUTHOR)<i> francois.pottier@inria.fr</i>
– Name: TitleSource
  Label: Source
  Group: Src
  Data: <searchLink fieldCode="JN" term="%22ACM+Transactions+on+Programming+Languages+%26+Systems%22">ACM Transactions on Programming Languages & Systems</searchLink>. Mar2025, Vol. 47 Issue 1, p1-71. 71p.
– Name: Subject
  Label: Subject Terms
  Group: Su
  Data: <searchLink fieldCode="DE" term="%22Computer+memory+management%22">Computer memory management</searchLink><br /><searchLink fieldCode="DE" term="%22Parallel+programs+%28Computer+programs%29%22">Parallel programs (Computer programs)</searchLink>
– Name: Abstract
  Label: Abstract
  Group: Ab
  Data: We present IrisFit, a Separation Logic with space credits for reasoning about heap space in a concurrent call-by-value language equipped with tracing garbage collection and shared mutable state. We point out a fundamental difficulty in the analysis of the worst-case heap space complexity of concurrent programs in the presence of tracing garbage collection: If garbage collection phases and program steps can be arbitrarily interleaved, then there exist undesirable scenarios where a root held by a sleeping thread prevents a possibly large amount of memory from being freed. To remedy this problem and eliminate such undesirable scenarios, we propose several language features, namely possibly-blocking memory allocation, polling points, and protected sections. Polling points are meant to be automatically inserted by the compiler; protected sections are delimited by the programmer and represent regions where no polling points must be inserted. The heart of our contribution is IrisFit, a novel program logic that can establish worst-case heap space complexity bounds and whose reasoning rules can take advantage of the presence of protected sections. IrisFit is formalized inside the Coq proof assistant, on top of the Iris Separation Logic framework. We prove that IrisFit offers both a safety guarantee—programs cannot crash and cannot exceed a heap space limit—and a liveness guarantee—provided enough polling points have been inserted, every memory allocation request is satisfied in bounded time. We illustrate the use of IrisFit via several case studies, including a version of Treiber's stack whose worst-case behavior relies on the presence of protected sections. [ABSTRACT FROM AUTHOR]
– Name: AbstractSuppliedCopyright
  Label:
  Group: Ab
  Data: <i>Copyright of ACM Transactions on Programming Languages & Systems is the property of Association for Computing Machinery and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract.</i> (Copyright applies to all Abstracts.)
PLink https://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=bsx&AN=188947144
RecordInfo BibRecord:
  BibEntity:
    Identifiers:
      – Type: doi
        Value: 10.1145/3716312
    Languages:
      – Code: eng
        Text: English
    PhysicalDescription:
      Pagination:
        PageCount: 71
        StartPage: 1
    Subjects:
      – SubjectFull: Computer memory management
        Type: general
      – SubjectFull: Parallel programs (Computer programs)
        Type: general
    Titles:
      – TitleFull: Will It Fit? Verifying Heap Space Bounds of Concurrent Programs under Garbage Collection.
        Type: main
  BibRelationships:
    HasContributorRelationships:
      – PersonEntity:
          Name:
            NameFull: Moine, Alexandre
      – PersonEntity:
          Name:
            NameFull: Charguéraud, Arthur
      – PersonEntity:
          Name:
            NameFull: Pottier, François
    IsPartOfRelationships:
      – BibEntity:
          Dates:
            – D: 01
              M: 03
              Text: Mar2025
              Type: published
              Y: 2025
          Identifiers:
            – Type: issn-print
              Value: 01640925
          Numbering:
            – Type: volume
              Value: 47
            – Type: issue
              Value: 1
          Titles:
            – TitleFull: ACM Transactions on Programming Languages & Systems
              Type: main
ResultId 1