Abstract

Identifying the most important classes in a software system is crucial for engineers to understand or maintain an unfamiliar system. Complex network theory provides a new way to study the characteristics of large-scale software. Unfortunately, most current studies consider only one or a limited number of factors affecting software structure, rendering inaccurate the results of mining the key classes of software. Thus, we propose an approach using various complex network metrics to automatically identify key classes from global and local aspects. From the global aspect, the location of a class and its ability to control the information flow of software are mainly considered. From local aspects, we focus on the interactions of classes with their neighbors, as well as the complexity of the class itself. Experiments are performed on two java open-source projects. Results show that this approach can accurately identify key classes compared with existing literature.

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call