Identification of Key Classes in Software Systems Based on Static Analysis and Voting Mechanism | |
Mao, Caiyun1; Li, LJ(李龙杰)1; Liu, L(刘莉)1; Ma, ZX(马志新)1,2 | |
2024-05-25 | |
Online publication date | 2024-05 |
Source Publication | INTERNATIONAL JOURNAL OF SOFTWARE ENGINEERING AND KNOWLEDGE ENGINEERING Impact Factor & Quartile Of Published Year The Latest Impact Factor & Quartile |
ISSN | 0218-1940 |
EISSN | 1793-6403 |
page numbers | 23 |
Abstract | Identifying key classes of a software system can help developers understand the system quickly, reduce the time for system maintenance, and prevent security risks caused by defects in key classes. So far, many approaches have been proposed to identify key classes from software systems. However, some approaches select too many key class candidates, making it inconvenient and difficult for developers to start understanding the system from these classes. For the other approaches, although the number of key class candidates is not large, their effectiveness needs to be further improved. To this end, in this paper, we propose a new model, named SAVM, to detect key classes by combining static analysis and a voting mechanism. First, we extract structural information from the source codes of a software system and construct a class coupling network (CCN) using this information. Then, we present the VRWD method that iteratively identifies important nodes in CCN based on a voting mechanism. Specifically, in each iteration, a node votes for its outgoing neighbors and in the meantime receives votes from its incoming neighbors. Afterward, the node that attains the highest voting score is elected as the important node in this turn. Finally, the corresponding classes of the selected important nodes are the key class candidates. The effectiveness of the proposed model and eight other baselines is evaluated in eight open-source Java projects. The experimental results show that although no method performs the best in all projects, according to the average ranking of the Friedman test, our method overall performs better compared to the baselines. In addition, this paper also proves through experiments that our approach can be applied to large-scale software projects. These indicate that our approach is a valuable technique for developers. |
Keyword | Key class identification software systems static analysis voting mechanism |
Publisher | WORLD SCIENTIFIC PUBL CO PTE LTD |
DOI | 10.1142/S0218194024500220 |
Indexed By | SCIE |
Language | 英语 |
WOS Research Area | Computer Science ; Engineering |
WOS Subject | Computer Science, Artificial Intelligence ; Computer Science, Software Engineering ; Engineering, Electrical & Electronic |
WOS ID | WOS:001230532900001 |
Original Document Type | Article ; Early Access |
Citation statistics | |
Document Type | 期刊论文 |
Identifier | https://ir.lzu.edu.cn/handle/262010/592385 |
Collection | 兰州大学 信息科学与工程学院 |
Affiliation | 1.Lanzhou Univ, Sch Informat Sci & Engn, Lanzhou 730000, Gansu, Peoples R China; 2.Key Lab Media Convergence Technol & Commun, Lanzhou 730000, Gansu, Peoples R China |
First Author Affilication | School of Information Science and Engineering |
First Signature Affilication | School of Information Science and Engineering |
Recommended Citation GB/T 7714 | Mao, Caiyun,Li, Longjie,Liu, Li,et al. Identification of Key Classes in Software Systems Based on Static Analysis and Voting Mechanism[J]. INTERNATIONAL JOURNAL OF SOFTWARE ENGINEERING AND KNOWLEDGE ENGINEERING,2024. |
APA | Mao, Caiyun,Li, Longjie,Liu, Li,&Ma, Zhixin.(2024).Identification of Key Classes in Software Systems Based on Static Analysis and Voting Mechanism.INTERNATIONAL JOURNAL OF SOFTWARE ENGINEERING AND KNOWLEDGE ENGINEERING. |
MLA | Mao, Caiyun,et al."Identification of Key Classes in Software Systems Based on Static Analysis and Voting Mechanism".INTERNATIONAL JOURNAL OF SOFTWARE ENGINEERING AND KNOWLEDGE ENGINEERING (2024). |
Files in This Item: | There are no files associated with this item. |
|