Document Type



Master of Science (MS)


Computer Science

First Advisor's Name

Peter J. Clarke

First Advisor's Committee Title

Committee Chair

Second Advisor's Name

S. Masoud Sadjadi

Third Advisor's Name

Masoud Milani

Date of Defense



In this thesis, I present a class abstraction technique (CAT) that supports the testing process by capturing aspects of software complexity based on the combination of class characteristics present in Java applications. I describe TaxTOOLJ, which is the tool that was developed to catalog Java classes based on this CAT, and detail the experiments that were run to catalog several large Java applications from different domains. From the results, I show the types of classes developed in these applications, as well as which groups of classes are most commonly developed, which groups of classes are most common within a given domain, and what degree of overlap exists between classifications in different applications and domains. Finally, I draw conclusions about the types of classes being written, and discuss how this work can be utilized to enhance implementation-based testing of Java applications.




If you are the rightful copyright holder of this dissertation or thesis and wish to have it removed from the Open Access Collection, please submit a request to and include clear identification of the work, preferably with URL.



Rights Statement

Rights Statement

In Copyright. URI:
This Item is protected by copyright and/or related rights. You are free to use this Item in any way that is permitted by the copyright and related rights legislation that applies to your use. For other uses you need to obtain permission from the rights-holder(s).