Strictness analysis deals with the question: given divergent term M, when is term NM divergent? It has been shown that, in a higher- order functional language, strictness properties of terms can be viewed as a collection of "strictness types" possessed by terms. This project explores the contention that strictness analysis may profitably be considered a form of type inference. The primary research goal is to investigate aspects of strictness in a higher-order functional language, including the following: (a) type-theoretic characterization of strictness, (b) completeness of inference rules for strictness analysis (c) inherent complexity of strictness analysis, (d) efficient algorithms that combine type checking and strictness analysis, (e) polymorphic invariance and strictness analysis. These are two secondary research goals: (i) development of programming tools for the analysis, and, direct execution, of inference rules, (ii) investigation of other program analysis problems, including those of structure strictness analysis and permutativity analysis.