Behavioural separation with parallel usages

Iaroslav Golovanov, Hans Hüttel, Mathias Jakobsen, Mikkel Kettunen

Research output: Contribution to book/anthology/report/conference proceedingArticle in proceedingResearchpeer-review

1 Citation (Scopus)

Abstract

Mungo is an object-oriented language that uses typestates with a behavioural type system to ensure the absence of null-dereferencing. Typestates are usages that specify the admissible sequences of method calls on objects. Previous type systems for Mungo have all had a linearity constraint on objects. We present an extension of these systems, where usage specifications can now include a parallel construct that lets us describe separate local behaviour. A parallel usage describes a separation of the heap, and this allows us to reason about aliasing and to express arbitrary interleaving of local protocols. This also solves the state-space explosion problem for usages. Our extension retains the safety properties of previous type systems for Mungo.

Original languageEnglish
Title of host publicationFTfJP 2021 - Proceedings of the 23rd ACM International Workshop on Formal Techniques for Java-Like Programs, co-located with ECOOP/ISSTA 2021
EditorsDavid R. Cok
Number of pages8
PublisherAssociation for Computing Machinery
Publication date13 Jul 2021
Pages51-58
ISBN (Electronic)978-1-4503-8543-5
DOIs
Publication statusPublished - 13 Jul 2021
Event23rd ACM International Workshop on Formal Techniques for Java-Like Programs, FTfJP 2021, co-located with ECOOP/ISSTA 2021 - Virtual, Online, Denmark
Duration: 13 Jul 202113 Jul 2021

Conference

Conference23rd ACM International Workshop on Formal Techniques for Java-Like Programs, FTfJP 2021, co-located with ECOOP/ISSTA 2021
Country/TerritoryDenmark
CityVirtual, Online
Period13/07/202113/07/2021
SponsorACM SIGPLAN

Bibliographical note

Publisher Copyright:
© 2021 ACM.

Keywords

  • Behavioural types
  • separation logic

Fingerprint

Dive into the research topics of 'Behavioural separation with parallel usages'. Together they form a unique fingerprint.

Cite this