Abstract

Type- and control-flow analysis combines control-flow analysis and type-flow analysis. It improves the approximation given by control-flow analysis by using type-flow information to filter out abstract values with incompatible types. Type-flow analysis and control-flow analysis are mutually beneficial since the control-flow analysis approximates the Λ-expressions in type applications. Previously, a type- and control-flow analysis for System F has been defined. However, System F only has limited support for polymorphism. System Fω, a more sophisticated type system, augments System F with type-level functions, thereby introducing abstract type constructors. It enables the use of generic functions that are parameterized by polymorphic data structures. In this work, a new type- and control-flow analysis for System Fω is defined. This work includes a specification-based formulation of the type- and control-flow analysis for System Fω and a proof of the soundness of the analysis. This work presents a flow-graph-based formulation. The soundness of the flow-graph-based formulation is proved by relating to the specification-based formulation.

Library of Congress Subject Headings

Functional programming (Computer science); Programming languages (Electronic computers); Data structures (Computer science)

Publication Date

10-11-2023

Document Type

Thesis

Student Type

Graduate

Degree Name

Computer Science (MS)

Department, Program, or Center

Computer Science, Department of

College

Golisano College of Computing and Information Sciences

Advisor

Matthew Fluet

Advisor/Committee Member

Arthur Azevedo de Amorim

Advisor/Committee Member

Ivona Bezakova

Campus

RIT – Main Campus

Plan Codes

COMPSCI-MS

Share

COinS