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...
Autores principales: | , , , , |
---|---|
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 |