Academic Journal
Will It Fit? Verifying Heap Space Bounds of Concurrent Programs under Garbage Collection.
| 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 |