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...
Main Authors: | , , , |
---|---|
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 |