首页 | 本学科首页   官方微博 | 高级检索  
     


KEADA: Identifying Key Classes in Software Systems Using Dynamic Analysis and Entropy-Based Metrics
Authors:Liuhai Wang  Xin Du  Bo Jiang  Weifeng Pan  Hua Ming  Dongsheng Liu
Affiliation:1.School of Computer Science and Information Engineering, Zhejiang Gongshang University, Hangzhou 310018, China; (L.W.); (X.D.); (D.L.);2.School of Engineering and Computer Science, Oakland University, Rochester, MI 48309, USA;
Abstract:Software maintenance is indispensable in the software development process. Developers need to spend a lot of time and energy to understand the software when maintaining the software, which increases the difficulty of software maintenance. It is a feasible method to understand the software through the key classes of the software. Identifying the key classes of the software can help developers understand the software more quickly. Existing techniques on key class identification mainly use static analysis techniques to extract software structure information. Such structure information may contain redundant relationships that may not exist when the software runs and ignores the actual interaction times between classes. In this paper, we propose an approach based on dynamic analysis and entropy-based metrics to identify key classes in the Java GUI software system, called KEADA (identifying KEy clAsses based on Dynamic Analysis and entropy-based metrics). First, KEADA extracts software structure information by recording the calling relationship between classes during the software running process; such structure information takes into account the actual interaction of classes. Second, KEADA represents the structure information as a weighted directed network and further calculates the importance of each node using an entropy-based metric OSE (One-order Structural Entropy). Third, KEADA ranks classes in descending order according to their OSE values and selects a small number of classes as the key class candidates. In order to verify the effectiveness of our approach, we conducted experiments on three Java GUI software systems and compared them with seven state-of-the-art approaches. We used the Friedman test to evaluate all approaches, and the results demonstrate that our approach performs best in all software systems.
Keywords:dynamic analysis   key classes   program comprehension   software network   one-order structural entropy
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号