Refinement types for program analysis

Mario Coppo, Ferruccio Damiani, Paola Giannini

Risultato della ricerca: Capitolo in libro/report/atti di convegnoContributo a conferenzapeer review

Abstract

In this paper we introduce a system for the detection and elimination of dead code in typed functional programs. The main application of this method is the optimization of programs extracted from proofs in logical frameworks but it could be used as well in the elimination of dead code determined by program specialization. Our algorithm is based on a type inference system suitable for reasoning about dead code information. This system relays on refinement types which allow to exploit the type structure of the language for the investigation of program properties. The detection of dead code is obtained via type inference, which can be performed in an efficient and complete way, by reducing it to the solution of a system of inequalities between type variables. A key feature of our method is that program analysis can be performed in a strictly incremental way. Even though the language considered in the paper is a simply typed λ-calculus we can generalize our approach to polymorphic languages like ML. Although focused on dead code elimination our type inference method can also be applied to the investigation of other program properties like binding time and strictness. Some hints on these applications are given.

Lingua originaleInglese
Titolo della pubblicazione ospiteStatic Analysis - 3rd International Symposium, SAS 1996, Proceedings
EditorRadhia Cousot, David A. Schmidt
EditoreSpringer Verlag
Pagine143-158
Numero di pagine16
ISBN (stampa)3540617396, 9783540617396
DOI
Stato di pubblicazionePubblicato - 1996
Pubblicato esternamente
Evento3rd International Static Analysis Symposium, SAS 1996 - Aachen, Germany
Durata: 24 set 199626 set 1996

Serie di pubblicazioni

NomeLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume1145
ISSN (stampa)0302-9743
ISSN (elettronico)1611-3349

???event.eventtypes.event.conference???

???event.eventtypes.event.conference???3rd International Static Analysis Symposium, SAS 1996
Paese/TerritorioGermany
CittàAachen
Periodo24/09/9626/09/96

Fingerprint

Entra nei temi di ricerca di 'Refinement types for program analysis'. Insieme formano una fingerprint unica.

Cita questo