2017 · 14 citations · 14 references
ComputingComputer ScienceData MiningProgramming LanguagesSoftware EngineeringObject-oriented AnalysisObject-oriented DesignSoftware ArchitectureSoftware DesignSoftware MaintenanceSoftware MetricsClass RelationshipsComplex Network AnalysisComplex Network TheoryInformation Flow ControlObject-oriented Architecture
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.
14
Per‐Erik Danielsson · Computer Graphics and Image Processing · 1980 · 2K citations
Identifying Influential Nodes in Large-Scale Directed Networks: The Role of Clustering
Duan-Bing Chen, Hui Gao, Linyuan Lü et al. · PLoS ONE · 2013 · 364 citations · Full text