Cargando…

ConSORT: Context- and Flow-Sensitive Ownership Refinement Types for Imperative Programs

We present ConSORT, a type system for safety verification in the presence of mutability and aliasing. Mutability requires strong updates to model changing invariants during program execution, but aliasing between pointers makes it difficult to determine which invariants must be updated in response t...

Descripción completa

Detalles Bibliográficos
Autores principales: Toman, John, Siqi, Ren, Suenaga, Kohei, Igarashi, Atsushi, Kobayashi, Naoki
Formato: Online Artículo Texto
Lenguaje:English
Publicado: 2020
Materias:
Acceso en línea:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7702259/
http://dx.doi.org/10.1007/978-3-030-44914-8_25
_version_ 1783616578663743488
author Toman, John
Siqi, Ren
Suenaga, Kohei
Igarashi, Atsushi
Kobayashi, Naoki
author_facet Toman, John
Siqi, Ren
Suenaga, Kohei
Igarashi, Atsushi
Kobayashi, Naoki
author_sort Toman, John
collection PubMed
description We present ConSORT, a type system for safety verification in the presence of mutability and aliasing. Mutability requires strong updates to model changing invariants during program execution, but aliasing between pointers makes it difficult to determine which invariants must be updated in response to mutation. Our type system addresses this difficulty with a novel combination of refinement types and fractional ownership types. Fractional ownership types provide flow-sensitive and precise aliasing information for reference variables. ConSORT interprets this ownership information to soundly handle strong updates of potentially aliased references. We have proved ConSORT sound and implemented a prototype, fully automated inference tool. We evaluated our tool and found it verifies non-trivial programs including data structure implementations.
format Online
Article
Text
id pubmed-7702259
institution National Center for Biotechnology Information
language English
publishDate 2020
record_format MEDLINE/PubMed
spelling pubmed-77022592020-12-01 ConSORT: Context- and Flow-Sensitive Ownership Refinement Types for Imperative Programs Toman, John Siqi, Ren Suenaga, Kohei Igarashi, Atsushi Kobayashi, Naoki Programming Languages and Systems Article We present ConSORT, a type system for safety verification in the presence of mutability and aliasing. Mutability requires strong updates to model changing invariants during program execution, but aliasing between pointers makes it difficult to determine which invariants must be updated in response to mutation. Our type system addresses this difficulty with a novel combination of refinement types and fractional ownership types. Fractional ownership types provide flow-sensitive and precise aliasing information for reference variables. ConSORT interprets this ownership information to soundly handle strong updates of potentially aliased references. We have proved ConSORT sound and implemented a prototype, fully automated inference tool. We evaluated our tool and found it verifies non-trivial programs including data structure implementations. 2020-04-18 /pmc/articles/PMC7702259/ http://dx.doi.org/10.1007/978-3-030-44914-8_25 Text en © The Author(s) 2020 Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license and indicate if changes were made. The images or other third party material in this chapter are included in the chapter's Creative Commons license, unless indicated otherwise in a credit line to the material. If material is not included in the chapter's Creative Commons license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder.
spellingShingle Article
Toman, John
Siqi, Ren
Suenaga, Kohei
Igarashi, Atsushi
Kobayashi, Naoki
ConSORT: Context- and Flow-Sensitive Ownership Refinement Types for Imperative Programs
title ConSORT: Context- and Flow-Sensitive Ownership Refinement Types for Imperative Programs
title_full ConSORT: Context- and Flow-Sensitive Ownership Refinement Types for Imperative Programs
title_fullStr ConSORT: Context- and Flow-Sensitive Ownership Refinement Types for Imperative Programs
title_full_unstemmed ConSORT: Context- and Flow-Sensitive Ownership Refinement Types for Imperative Programs
title_short ConSORT: Context- and Flow-Sensitive Ownership Refinement Types for Imperative Programs
title_sort consort: context- and flow-sensitive ownership refinement types for imperative programs
topic Article
url https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7702259/
http://dx.doi.org/10.1007/978-3-030-44914-8_25
work_keys_str_mv AT tomanjohn consortcontextandflowsensitiveownershiprefinementtypesforimperativeprograms
AT siqiren consortcontextandflowsensitiveownershiprefinementtypesforimperativeprograms
AT suenagakohei consortcontextandflowsensitiveownershiprefinementtypesforimperativeprograms
AT igarashiatsushi consortcontextandflowsensitiveownershiprefinementtypesforimperativeprograms
AT kobayashinaoki consortcontextandflowsensitiveownershiprefinementtypesforimperativeprograms