Skip to Main Content
In this paper, we describe a class abstraction technique (CAT) for Java programs that support the testing process by capturing aspects of software complexity based on the combination of class characteristics. These class characteristics relate to properties of the class features such as concurrency, polymorphism, exception handling, and accessibility as well as relationships between classes. Our taxonomy (CAT) for Java allows us to generate a finite number of possible class groups (taxa). Each class C in a Java program is cataloged into a group that summarizes the dependencies with other types realized through declarations and definitions in C. We also provide a high-level design for a tool to catalog Java classes based on our taxonomy.