The objective of this research is to provide analysis tools and techniques to support the evolutionary maturation of a software system from an early prototype implementation used to explore requirements to a robust, production implementation. The approach taken is to first develop automated analysis mechanisms for the generation of detailed structural models for highly evolutionary or "exploratory" software systems. These mechanisms will then be applied to representative software systems, and the resulting models will be analyzed both individually and collectively for information that supports incremental improvements in structural robustness and reliability. The tools and techniques will build upon prior experiences with type flow analysis, a program analysis technique in support of exploratory software development. This research will yield new insight into the phenomena of software evolution, new tools for automated support of software development, and insights into the appropriate characteristics of languages for prototyping and production quality implementations.