Off-campus UMass Amherst users: To download dissertations, please use the following link to log into our proxy server with your UMass Amherst user name and password.

Non-UMass Amherst users, please click the view more button below to purchase a copy of this dissertation from Proquest.

(Some titles may also be available free of charge in our Open Access Dissertation Collection, so please check there first.)

Type flow analysis for exploratory software development

Philip Meadows Johnson, University of Massachusetts Amherst

Abstract

"Exploratory" programming languages and development enjoy a reputation for enabling both rapid development of prototype implementations and ease of evolution as experience with these prototypes suggests improvements. However, the exploratory paradigm also suffers from a reputation for producing brittle systems, prone to errors and run-time failure. The run-time, dynamic typing associated with exploratory languages contributes to both of these reputations. On the one hand, the ability of exploratory programs to define new types during execution and to dispatch based upon the types of data objects facilitates development by providing powerful forms of polymorphism and abstraction. On the other hand, these same capabilities preclude conventional approaches to compile-time assessment of type safety, such as the declaration-based mechanisms in languages like Pascal, or the inference mechanisms in functional languages like ML. This dissertation describes a program analysis technique called "type flow analysis" that assesses the type safety of programs written in Lisp. Type flow analysis differs from other compile-time assessment approaches in mechanism and in application. Its mechanism comprises a novel synthesis of polymorphic type inference, symbolic execution, and declaration-based approaches. It is applied as part of an incremental, evolutionary approach to the development of verifiably type safe exploratory programs. Type flow analysis improves the exploratory paradigm by enabling a system to smoothly evolve from an initial, "weakly typed" prototype to a more robust, "strongly typed" end product.

Subject Area

Computer science

Recommended Citation

Johnson, Philip Meadows, "Type flow analysis for exploratory software development" (1990). Doctoral Dissertations Available from Proquest. AAI9110158.
https://scholarworks.umass.edu/dissertations/AAI9110158

Share

COinS