Paper Type

Master's Thesis


College of Computing, Engineering & Construction

Degree Name

Master of Science in Computer and Information Sciences (MS)



First Advisor

Dr. Robert Roggio

Second Advisor

Dr. Neal Coulter

Third Advisor

Dr. Behrooz Seyed-Abbassi


In the software industry today many programmers spend countless hours maintaining existing Java programs. The cost of code maintenance affects a company in many ways such as the budget, time management and resources. Making management decisions regarding these issues could be assisted, if maintenance cost of Java classes could be predicted.

The goal of this thesis was to create a new model predicting the maintenance effort based on the Java class complexity. It seems clear the complexity of a Java class can directly relate to the amount of time it will take to perform maintenance on the class.

To develop the new maintenance effort model, a test bed of Java classes was assembled representing a sample of Java classes from the workplace. Then a variety of Java class metrics were calculated using these classes. Using the backward elimination process of regression analysis in SPSS, a new model was created predicting maintenance effort. The metrics that best predicted maintenance effort were the depth of an inheritance tree, the number of times a class has been deployed to the customer and the lines of code. Together, these metrics together were able to predict 85% of the maintenance effort on the set of Java classes tested.