Identifying Important Packages of Object-Oriented Software Using Weighted k-Core Decomposition

Identifying important entities in software systems has many implications for effective resource allocation. Complex network research opens new opportunities for identifying important entities from software networks. However, the existing methods only focus on identifying important classes. Little wo...

Full description

Bibliographic Details
Main Authors: Pan Weifeng, Hu Bo, Jiang Bo, Xie Bo
Format: Article
Language:English
Published: De Gruyter 2014-12-01
Series:Journal of Intelligent Systems
Subjects:
Online Access:https://doi.org/10.1515/jisys-2014-0015
id doaj-897c5a6f6066445b857a0dff7df5f023
record_format Article
spelling doaj-897c5a6f6066445b857a0dff7df5f0232021-09-06T19:40:35ZengDe GruyterJournal of Intelligent Systems0334-18602191-026X2014-12-0123446147610.1515/jisys-2014-0015Identifying Important Packages of Object-Oriented Software Using Weighted k-Core DecompositionPan Weifeng0Hu BoJiang Bo1Xie Bo2School of Computer Science and Information Engineering, Zhejiang Gongshang University, Hangzhou, Zhejiang 310018, ChinaSchool of Computer Science and Information Engineering, Zhejiang Gongshang University, Hangzhou, Zhejiang 310018, ChinaSchool of Computer Science and Information Engineering, Zhejiang Gongshang University, Hangzhou, Zhejiang 310018, ChinaIdentifying important entities in software systems has many implications for effective resource allocation. Complex network research opens new opportunities for identifying important entities from software networks. However, the existing methods only focus on identifying important classes. Little work has been done on the identification of important packages. Moreover, the metrics they used to quantify the class importance are only designed for unweighted software networks and cannot fit in with the weighted software networks. To overcome these limitations, in this article, we introduce the weighted k-core decomposition method (Wk-core) to identify the important packages. First, we use a weighted software network to describe packages and their internal dependencies. Second, we use Wk-core to partition a software network into a layered structure. Then, the packages that are denoted by the nodes within the main core are the identified important packages. To evaluate our method, we use a variant of the susceptible–infectious–recovered model to examine the spreading influence of the nodes in six real weighted software networks. The results show that our method can well identify influential nodes, better than other four methods (i.e., original k-core decomposition, degree centrality, closeness centrality, and betweenness centrality methods). Furthermore, we demonstrate our method on two software networks and show that the important packages identified by our method are more meaningful from a software engineering perspective when compared with the other methods.https://doi.org/10.1515/jisys-2014-0015packagecentrality metrick-coresoftware networkspreadingsir model
collection DOAJ
language English
format Article
sources DOAJ
author Pan Weifeng
Hu Bo
Jiang Bo
Xie Bo
spellingShingle Pan Weifeng
Hu Bo
Jiang Bo
Xie Bo
Identifying Important Packages of Object-Oriented Software Using Weighted k-Core Decomposition
Journal of Intelligent Systems
package
centrality metric
k-core
software network
spreading
sir model
author_facet Pan Weifeng
Hu Bo
Jiang Bo
Xie Bo
author_sort Pan Weifeng
title Identifying Important Packages of Object-Oriented Software Using Weighted k-Core Decomposition
title_short Identifying Important Packages of Object-Oriented Software Using Weighted k-Core Decomposition
title_full Identifying Important Packages of Object-Oriented Software Using Weighted k-Core Decomposition
title_fullStr Identifying Important Packages of Object-Oriented Software Using Weighted k-Core Decomposition
title_full_unstemmed Identifying Important Packages of Object-Oriented Software Using Weighted k-Core Decomposition
title_sort identifying important packages of object-oriented software using weighted k-core decomposition
publisher De Gruyter
series Journal of Intelligent Systems
issn 0334-1860
2191-026X
publishDate 2014-12-01
description Identifying important entities in software systems has many implications for effective resource allocation. Complex network research opens new opportunities for identifying important entities from software networks. However, the existing methods only focus on identifying important classes. Little work has been done on the identification of important packages. Moreover, the metrics they used to quantify the class importance are only designed for unweighted software networks and cannot fit in with the weighted software networks. To overcome these limitations, in this article, we introduce the weighted k-core decomposition method (Wk-core) to identify the important packages. First, we use a weighted software network to describe packages and their internal dependencies. Second, we use Wk-core to partition a software network into a layered structure. Then, the packages that are denoted by the nodes within the main core are the identified important packages. To evaluate our method, we use a variant of the susceptible–infectious–recovered model to examine the spreading influence of the nodes in six real weighted software networks. The results show that our method can well identify influential nodes, better than other four methods (i.e., original k-core decomposition, degree centrality, closeness centrality, and betweenness centrality methods). Furthermore, we demonstrate our method on two software networks and show that the important packages identified by our method are more meaningful from a software engineering perspective when compared with the other methods.
topic package
centrality metric
k-core
software network
spreading
sir model
url https://doi.org/10.1515/jisys-2014-0015
work_keys_str_mv AT panweifeng identifyingimportantpackagesofobjectorientedsoftwareusingweightedkcoredecomposition
AT hubo identifyingimportantpackagesofobjectorientedsoftwareusingweightedkcoredecomposition
AT jiangbo identifyingimportantpackagesofobjectorientedsoftwareusingweightedkcoredecomposition
AT xiebo identifyingimportantpackagesofobjectorientedsoftwareusingweightedkcoredecomposition
_version_ 1717768145038475264