Document Type

Technical Report

Publication Date

Summer 8-1-1976


The idea of combining three well known program testing techniques—dynamic testing, symbolic execution and static analysis—into a single testing system is advanced and explored here. The characteristics of each of the three techniques are presented and analyzed. Then it is shown that the strengths and weaknesses of the techniques are largely complementary and represent, from a number of points of view, a natural progression of diagnostic capabilities. A system exploiting this progression is proposed, and a number of difficulties to be expected in implementing such a system are discussed. Approaches to resolving many of these difficulties are also presented.