COSPA: Identifying Key Classes in Object-Oriented Software Using Preference Aggregation

被引:5
作者
Du, Xin [1 ]
Wang, Tian [1 ]
Pan, Weifeng [1 ]
Wang, Muchou [2 ]
Jiang, Bo [1 ]
Xiang, Yiming [3 ]
Chai, Chunlai [1 ]
Wang, Jiale [1 ]
Yuan, Chengxiang [1 ]
机构
[1] Zhejiang Gongshang Univ, Sch Comp Sci & Informat Engn, Hangzhou 310018, Peoples R China
[2] Wenzhou Univ, Wenzhou Univ Lib, Wenzhou 325000, Peoples R China
[3] Zhejiang Gongshang Univ, Sch Management & Business, Hangzhou 310018, Peoples R China
关键词
Software; Supervised learning; Software systems; Software algorithms; Object recognition; Unsupervised learning; Documentation; Complex network; key classes; divergence; software comprehension; SYSTEMS;
D O I
10.1109/ACCESS.2021.3105475
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Software comprehension helps us to maintain software better. The developers often use documentation and mutual communication to understand software. However, the incompletion of documentation usually causes some problems such that we cannot acquire the detailed information of software. So researchers are now using key classes as starting points for software understanding and propose several effective methods for key class identification. Such methods are mostly implemented using supervised and unsupervised learning methods; however, they may be subject to class imbalance, insufficient amount of data, and lack of accuracy. In this paper, we propose a novel approach, called COSPA (identifying key Classes in Object-Oriented Software using Preference Aggregation), to identify key classes in software. Our approach is inspired by the social choice theory and uses Kemeny-Young method to find a preference that minimizes the total difference between different pairs of sequences returned by three key class identification methods (i.e., a-index, InDeg, and OSE). Further, we rank the classes in descending order according to that preference set, and a small number of top-ranked classes are considered as key candidates. To better evaluate the performance of our approach, we apply it to six Java software systems and compare it with nine state-of-the-art approaches. In the experiments, we use Friedman to evaluate all methods in the whole set of research subjects; results show that, though no single method works always best in all subject systems, our method indeed performs better than others.
引用
收藏
页码:114767 / 114780
页数:14
相关论文
共 43 条
[11]  
Gupta Sarishty, 2017, 2017 8th International Conference on Information Technology (ICIT), P125, DOI 10.1109/ICIT.2017.33
[12]   An index to quantify an individual's scientific research output [J].
Hirsch, JE .
PROCEEDINGS OF THE NATIONAL ACADEMY OF SCIENCES OF THE UNITED STATES OF AMERICA, 2005, 102 (46) :16569-16572
[13]  
[姜淑娟 Jiang Shujuan], 2015, [电子学报, Acta Electronica Sinica], V43, P2062
[14]  
KEMENY JG, 1959, DAEDALUS, V88, P577
[15]  
Kendall M. G., 1948, Rank correlation methods.
[16]  
Kendall MG, 1938, BIOMETRIKA, V30, P81, DOI 10.1093/biomet/30.1-2.81
[17]  
LaToza T. D., 2006, 28th International Conference on Software Engineering Proceedings, P492, DOI 10.1145/1134285.1134355
[18]   Mining Key Classes in Java']Java Projects by Examining a Very Small Number of Classes: A Complex Network-Based Approach [J].
Li, Hao ;
Wang, Tian ;
Pan, Weifeng ;
Wang, Muchou ;
Chai, Chunlai ;
Chen, Pengyu ;
Wang, Jiale ;
Wang, Jing .
IEEE ACCESS, 2021, 9 :28076-28088
[19]   Evolutionary extreme learning machine with sparse cost matrix for imbalanced learning [J].
Li, Hui ;
Yang, Xi ;
Li, Yang ;
Hao, Li-Ying ;
Zhang, Tian-Lun .
ISA TRANSACTIONS, 2020, 100 :198-209
[20]   IDENTIFYING IMPORTANT CLASSES OF LARGE SOFTWARE SYSTEMS THROUGH K-CORE DECOMPOSITION [J].
Meyer, P. ;
Siy, H. ;
Bhowmick, S. .
ADVANCES IN COMPLEX SYSTEMS, 2014, 17 (7-8)