Abstract
We propose a novel test coverage analysis technique for object-oriented programs. Our technique consists of three phases: graph construction, instrumentation, and coverage analysis. In the graph construction phase, the source program is converted into a dependence graph-based representation, named Call-based Object-Oriented System Dependence Graph (COSDG). In the instrumentation phase, the source code is instrumented at specific points. During the coverage analysis phase, the instrumented source code is executed for different test inputs, and the edges of COSDG are marked by the graph marker. Various coverage measures are computed from the marked COSDG by the coverage analyzer to finally produce a coverage report. Inheritance and polymorphic coverage are considered in addition to traditional coverage measures.