This thesis introduces a methodology for determining program locations where faults can easily hide. It is a program structure-based model that analyzes program flow both statically and dynamically; each program location is analyzed relative to its preceding locations and succeeding locations. A statistical model termed propagation analysis studies the relation between incorrect internal data states and their affect on the output. Infection analysis is a statistically model which studies the relation between classes of faults and internal data states. Together these two models combine to form one model of analyzing programs termed Propagation and Infection Analysis (PIA).;PIA employs aspects of both software testing methods and verification...