arrow
Return

ElementRank: Ranking Java Software Classes and Packages using a Multilayer Complex Network-Based Approach

delete2021-10-01
delete49
PRE
AI
W
Weifeng Pan *
H
Hua Ming *
C
Carl K. Chang
杨子江 (Zijiang Yang)
D
Dae‐Kyoo Kim
DOI:10.1109/TSE.2019.2946357delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
Software comprehension is an important part of software maintenance. To understand a piece of large and complex software, the first problem to be solved is where to start the understanding process. Choosing to start the comprehension process from the important software elements has proven to be a practical way. Research on complex networks opens new opportunities for identifying important elements, and many approaches have been proposed. However, the software networks that existing approaches use neglect the multilayer nature of software systems. That is, nodes in the network can have different types of relationships at the same time, and each type of relationship forms a specific layer. Worse still, they mainly focus on identifying important classes, and little work has been done on quantifying package importance. In this paper, we propose an ElementRank approach to provide a ranked list of classes (or packages) for maintainers to start the comprehension process. The top-ranked classes (or packages) can be seen as the starting points for the software comprehension process at the class (or package) level. First, we introduce two kinds of multilayer software networks to describe the topological structure of software at the class level and package level, respectively. Second, we propose a weighted PageRank algorithm to calculate the weighted PageRank value of classes (or packages) in each layer of the corresponding multilayer software network. Then, we use AHP (Analytic Hierarchy Process) to weigh each layer in the corresponding multilayer software network, and further aggregate the weighted PageRank value to obtain the global weighted PageRank value for each class (or package). Finally, all the classes (or packages) are ranked according to their global weighted PageRank values in a descending order, and the top-ranked classes (or packages) can serve as the starting points for the software comprehension process at the class (or package) level. ElementRank is validated theoretically using the widely accepted Weyuker's criteria. Theoretical results show that the global weighted PageRank value for classes (or packages) satisfies most of Weyuker's properties. Furthermore, ElementRank is evaluated empirically using a set of twelve open source software systems. Through a set of experiments, we show the rank correlation between the results of ElementRank and that of the approaches in the related work, and the benefits of ElementRank are also illustrated in comparison with other approaches in the related work. Empirical results also show that ElementRank can be applied to large software systems.
Keywords:
Software systems
Nonhomogeneous media
Complex networks
Maintenance engineering
Measurement
Computer science
Important software elements
weighted PageRank algorithm
complex network
software comprehension
static analysis
AI Summary

AI Summary

Key information extracted from the uploaded paper, including a brief overview, abstract, background, key highlights, visual analysis, and future outlook.

Journal

IEEE Transactions on Software Engineering cover
IEEE Transactions on Software Engineering
IF:
5.6
Papers:
2.8K
Citations:
1.1W

Organization

W
Western Michigan University
Scholars:
2.6K
Papers: 2.1K
Citations: 2.0K
I
Iowa State University
Scholars:
2.1W
Papers: 1.8W
Citations: 2.5W
O
Oakland University
Scholars:
3.6K
Papers: 3.0K
Citations: 2.7K
Z
Zhejiang Gongshang University
Scholars:
6.6K
Papers: 4.9K
Citations: 8.1K
researcher View more organizations