Cargando…
Higher-Ranked Annotation Polymorphic Dependency Analysis
The precision of a static analysis can be improved by increasing the context-sensitivity of the analysis. In a type-based formulation of static analysis for functional languages this can be achieved by, e.g., introducing let-polyvariance or subtyping. In this paper we go one step further by defining...
Autores principales: | , |
---|---|
Formato: | Online Artículo Texto |
Lenguaje: | English |
Publicado: |
2020
|
Materias: | |
Acceso en línea: | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7702240/ http://dx.doi.org/10.1007/978-3-030-44914-8_24 |
_version_ | 1783616574173741056 |
---|---|
author | Thorand, Fabian Hage, Jurriaan |
author_facet | Thorand, Fabian Hage, Jurriaan |
author_sort | Thorand, Fabian |
collection | PubMed |
description | The precision of a static analysis can be improved by increasing the context-sensitivity of the analysis. In a type-based formulation of static analysis for functional languages this can be achieved by, e.g., introducing let-polyvariance or subtyping. In this paper we go one step further by defining a higher-ranked polyvariant type system so that even properties of lambda-bound identifiers can be generalized over. We do this for dependency analysis, a generic analysis that can be instantiated to a range of different analyses that in this way all can profit. We prove that our analysis is sound with respect to a call-by-name semantics and that it satisfies a so-called noninterference property. We provide a type reconstruction algorithm that we have proven to be terminating, and sound and complete with respect to its declarative specification. Our principled description can serve as a blueprint for making other analyses higher-ranked. |
format | Online Article Text |
id | pubmed-7702240 |
institution | National Center for Biotechnology Information |
language | English |
publishDate | 2020 |
record_format | MEDLINE/PubMed |
spelling | pubmed-77022402020-12-01 Higher-Ranked Annotation Polymorphic Dependency Analysis Thorand, Fabian Hage, Jurriaan Programming Languages and Systems Article The precision of a static analysis can be improved by increasing the context-sensitivity of the analysis. In a type-based formulation of static analysis for functional languages this can be achieved by, e.g., introducing let-polyvariance or subtyping. In this paper we go one step further by defining a higher-ranked polyvariant type system so that even properties of lambda-bound identifiers can be generalized over. We do this for dependency analysis, a generic analysis that can be instantiated to a range of different analyses that in this way all can profit. We prove that our analysis is sound with respect to a call-by-name semantics and that it satisfies a so-called noninterference property. We provide a type reconstruction algorithm that we have proven to be terminating, and sound and complete with respect to its declarative specification. Our principled description can serve as a blueprint for making other analyses higher-ranked. 2020-04-18 /pmc/articles/PMC7702240/ http://dx.doi.org/10.1007/978-3-030-44914-8_24 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 Thorand, Fabian Hage, Jurriaan Higher-Ranked Annotation Polymorphic Dependency Analysis |
title | Higher-Ranked Annotation Polymorphic Dependency Analysis |
title_full | Higher-Ranked Annotation Polymorphic Dependency Analysis |
title_fullStr | Higher-Ranked Annotation Polymorphic Dependency Analysis |
title_full_unstemmed | Higher-Ranked Annotation Polymorphic Dependency Analysis |
title_short | Higher-Ranked Annotation Polymorphic Dependency Analysis |
title_sort | higher-ranked annotation polymorphic dependency analysis |
topic | Article |
url | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7702240/ http://dx.doi.org/10.1007/978-3-030-44914-8_24 |
work_keys_str_mv | AT thorandfabian higherrankedannotationpolymorphicdependencyanalysis AT hagejurriaan higherrankedannotationpolymorphicdependencyanalysis |