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 Sayed-Abbassi


With the increased dependency on the Internet and computers, the software industry continues to grow. However, just as new software is being developed, older software is still in existence and must be maintained. This tends to be a difficult task, as the developers charged with maintaining the software are not always the developers who designed it. Reverse engineering is the study of an application's code and behavior, in order to better understand the system and its design. There are many existing tools that will assist the developer with this undertaking, such as Rational Rose®, jGRASP®, and Eclipse®. However, all the tools generate high level abstractions of the system in question, like the class diagram. It would be more beneficial to developers to have illustrations with more detailed information, such as the method level dependencies in the source code. In order to accomplish this task, a new framework has been developed that will allow the user to view both high level and lower level code detail. As users attempt to perform code maintenance, they will run the code through an existing tool, such as Rational Rose®, and then through the Method Level Dependency Generator component, to show the method level dependencies. These tools used together provide the software maintainer with more useful information, assisting with the software development process, including code design, implementation, and testing.