Improving the efficiency and reliability of gradual typing

Doctor en Ciencias, Mención Computación === Gradual Typing permite a un programador aplicar tipos estáticos a ciertas partes de un programa, dejando el resto dinámicamente tipeado. Sin embargo, esto viene con un costo en el rendimiento. Una razón es que el runtime tiene que realizar siempre un caste...

Full description

Bibliographic Details
Main Author: Allende Prieto, Esteban Armando
Other Authors: Fabry, Johan
Language:en
Published: Universidad de Chile 2015
Subjects:
Online Access:http://repositorio.uchile.cl/handle/2250/132317
id ndltd-UCHILE-oai-repositorio.uchile.cl-2250-132317
record_format oai_dc
spelling ndltd-UCHILE-oai-repositorio.uchile.cl-2250-1323172017-02-06T05:15:06Z Improving the efficiency and reliability of gradual typing Allende Prieto, Esteban Armando Fabry, Johan Tanter, Éric Facultad de Ciencias Físicas y Matemáticas Departamento de Ciencias de la Computación Bergel, Alexandre Röthlisberger, David Tratt, Laurence Lenguajes de programación (Computadores) Procesamiento electrónico de datos Software computacional - Desarrollo Gradual Typing Gradualtalk Doctor en Ciencias, Mención Computación Gradual Typing permite a un programador aplicar tipos estáticos a ciertas partes de un programa, dejando el resto dinámicamente tipeado. Sin embargo, esto viene con un costo en el rendimiento. Una razón es que el runtime tiene que realizar siempre un casteo en el borde entre tipos estáticos y dinámicos. Otra razón es que el borde puede ser creado accidentalmente. Esto también trae un efecto lateral de reducir la fiabilidad del código estático, porque ahora el programador no puede garantizar que su código no arrojará errores de tipo en tiempo de ejecución. En este trabajo de tesis, mejoramos el rendimiento y la fiabilidad de los programas gradualmente tipeados. Para esto, desarrollamos un lenguaje gradualmente tipeado, Gradualtalk, y luego presentamos dos novedosas ideas: hybrid strategy y Confined Gradual Typing. La hybrid strategy es una nueva forma de insertar los casts al invocar métodos que combina dos estrategias existentes, permitiendo obtener el mejor rendimiento de ambas. Validamos esta afirmación con benchmarks. Confined Gradual Typing refina gradual typing con anotaciones para prohibir explícitamente ciertos cruces de frontera entre el código estáticamente y dinámicamente tipeado. Nosotros desarrollamos formalmente dos variantes de CGT que capturan diferentes compromisos entre flexibilidad/garantías. Probamos que CGT es type sound y que las anotaciones ofrecen las garantías esperadas. 2015-08-04T13:40:54Z 2015-08-04T13:40:54Z 2015 Tesis http://repositorio.uchile.cl/handle/2250/132317 en Atribución-NoComercial-SinDerivadas 3.0 Chile http://creativecommons.org/licenses/by-nc-nd/3.0/cl/ Universidad de Chile
collection NDLTD
language en
sources NDLTD
topic Lenguajes de programación (Computadores)
Procesamiento electrónico de datos
Software computacional - Desarrollo
Gradual Typing
Gradualtalk
spellingShingle Lenguajes de programación (Computadores)
Procesamiento electrónico de datos
Software computacional - Desarrollo
Gradual Typing
Gradualtalk
Allende Prieto, Esteban Armando
Improving the efficiency and reliability of gradual typing
description Doctor en Ciencias, Mención Computación === Gradual Typing permite a un programador aplicar tipos estáticos a ciertas partes de un programa, dejando el resto dinámicamente tipeado. Sin embargo, esto viene con un costo en el rendimiento. Una razón es que el runtime tiene que realizar siempre un casteo en el borde entre tipos estáticos y dinámicos. Otra razón es que el borde puede ser creado accidentalmente. Esto también trae un efecto lateral de reducir la fiabilidad del código estático, porque ahora el programador no puede garantizar que su código no arrojará errores de tipo en tiempo de ejecución. En este trabajo de tesis, mejoramos el rendimiento y la fiabilidad de los programas gradualmente tipeados. Para esto, desarrollamos un lenguaje gradualmente tipeado, Gradualtalk, y luego presentamos dos novedosas ideas: hybrid strategy y Confined Gradual Typing. La hybrid strategy es una nueva forma de insertar los casts al invocar métodos que combina dos estrategias existentes, permitiendo obtener el mejor rendimiento de ambas. Validamos esta afirmación con benchmarks. Confined Gradual Typing refina gradual typing con anotaciones para prohibir explícitamente ciertos cruces de frontera entre el código estáticamente y dinámicamente tipeado. Nosotros desarrollamos formalmente dos variantes de CGT que capturan diferentes compromisos entre flexibilidad/garantías. Probamos que CGT es type sound y que las anotaciones ofrecen las garantías esperadas.
author2 Fabry, Johan
author_facet Fabry, Johan
Allende Prieto, Esteban Armando
author Allende Prieto, Esteban Armando
author_sort Allende Prieto, Esteban Armando
title Improving the efficiency and reliability of gradual typing
title_short Improving the efficiency and reliability of gradual typing
title_full Improving the efficiency and reliability of gradual typing
title_fullStr Improving the efficiency and reliability of gradual typing
title_full_unstemmed Improving the efficiency and reliability of gradual typing
title_sort improving the efficiency and reliability of gradual typing
publisher Universidad de Chile
publishDate 2015
url http://repositorio.uchile.cl/handle/2250/132317
work_keys_str_mv AT allendeprietoestebanarmando improvingtheefficiencyandreliabilityofgradualtyping
_version_ 1718411527871004672