CRA: Identifying Key Classes Using Markov-Chain-Based Ranking Aggregation
Researchers have proposed many approaches to identify key classes in software from the perspective of complex networks, such as CONN-TOTAL-W, <inline-formula><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><semantics><mrow><mi>P<...
Main Authors: | , , , , , , |
---|---|
Format: | Article |
Language: | English |
Published: |
MDPI AG
2022-09-01
|
Series: | Axioms |
Subjects: | |
Online Access: | https://www.mdpi.com/2075-1680/11/10/491 |
_version_ | 1827651683072606208 |
---|---|
author | Xin Du Weifeng Pan Bo Jiang Luyun Ding Yun Pan Chengxiang Yuan Yiming Xiang |
author_facet | Xin Du Weifeng Pan Bo Jiang Luyun Ding Yun Pan Chengxiang Yuan Yiming Xiang |
author_sort | Xin Du |
collection | DOAJ |
description | Researchers have proposed many approaches to identify key classes in software from the perspective of complex networks, such as CONN-TOTAL-W, <inline-formula><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><semantics><mrow><mi>P</mi><mi>a</mi><mi>g</mi><mi>e</mi><mi>R</mi><mi>a</mi><mi>n</mi><msub><mi>k</mi><mrow><mi>B</mi><mi>R</mi></mrow></msub></mrow></semantics></math></inline-formula>, and ElementRank, which can effectively help developers understand software. However, these approaches tend to rely on a single metric when measuring the importance of classes. They do not consider the aggregation of multiple metrics to select the winner classes that rank high in majority metrics. In this work, we propose a key class identification approach using Markov-Chain-based ranking aggregation, namely CRA. First, CRA constructs a weighted directed class coupling network (WDCCNet) to describe the software and further applies existing approaches on WDCCNet to calculate class importance. Second, CRA filters out some metrics according to specific rules and uses the Markov chain to aggregate the remaining metrics. When the state probability distribution reaches a fixed point and does not change anymore, the classes in the software are sorted in a descending order according to the probability distribution, and the top-15% classes are treated as key classes. To evaluate the CRA approach, we compare it with 10 baseline approaches available on 6 pieces of software. Empirical results show that our approach is superior to the baselines according to the average ranking of the Friedman Test. |
first_indexed | 2024-03-09T20:43:03Z |
format | Article |
id | doaj.art-ba63fa10178947379ab3bb8a004caa29 |
institution | Directory Open Access Journal |
issn | 2075-1680 |
language | English |
last_indexed | 2024-03-09T20:43:03Z |
publishDate | 2022-09-01 |
publisher | MDPI AG |
record_format | Article |
series | Axioms |
spelling | doaj.art-ba63fa10178947379ab3bb8a004caa292023-11-23T22:53:16ZengMDPI AGAxioms2075-16802022-09-01111049110.3390/axioms11100491CRA: Identifying Key Classes Using Markov-Chain-Based Ranking AggregationXin Du0Weifeng Pan1Bo Jiang2Luyun Ding3Yun Pan4Chengxiang Yuan5Yiming Xiang6School of Computer Science and Information Engineering, Zhejiang Gongshang University, Hangzhou 310018, ChinaSchool of Computer Science and Information Engineering, Zhejiang Gongshang University, Hangzhou 310018, ChinaSchool of Computer Science and Information Engineering, Zhejiang Gongshang University, Hangzhou 310018, ChinaSchool of Computer Science and Information Engineering, Zhejiang Gongshang University, Hangzhou 310018, ChinaSchool of Computer Science and Information Engineering, Zhejiang Gongshang University, Hangzhou 310018, ChinaSchool of Computer Science and Information Engineering, Zhejiang Gongshang University, Hangzhou 310018, ChinaSchool of Management and E-Business, Zhejiang Gongshang University, Hangzhou 310018, ChinaResearchers have proposed many approaches to identify key classes in software from the perspective of complex networks, such as CONN-TOTAL-W, <inline-formula><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><semantics><mrow><mi>P</mi><mi>a</mi><mi>g</mi><mi>e</mi><mi>R</mi><mi>a</mi><mi>n</mi><msub><mi>k</mi><mrow><mi>B</mi><mi>R</mi></mrow></msub></mrow></semantics></math></inline-formula>, and ElementRank, which can effectively help developers understand software. However, these approaches tend to rely on a single metric when measuring the importance of classes. They do not consider the aggregation of multiple metrics to select the winner classes that rank high in majority metrics. In this work, we propose a key class identification approach using Markov-Chain-based ranking aggregation, namely CRA. First, CRA constructs a weighted directed class coupling network (WDCCNet) to describe the software and further applies existing approaches on WDCCNet to calculate class importance. Second, CRA filters out some metrics according to specific rules and uses the Markov chain to aggregate the remaining metrics. When the state probability distribution reaches a fixed point and does not change anymore, the classes in the software are sorted in a descending order according to the probability distribution, and the top-15% classes are treated as key classes. To evaluate the CRA approach, we compare it with 10 baseline approaches available on 6 pieces of software. Empirical results show that our approach is superior to the baselines according to the average ranking of the Friedman Test.https://www.mdpi.com/2075-1680/11/10/491key class identificationcomplex networkMarkov chainranking aggregation |
spellingShingle | Xin Du Weifeng Pan Bo Jiang Luyun Ding Yun Pan Chengxiang Yuan Yiming Xiang CRA: Identifying Key Classes Using Markov-Chain-Based Ranking Aggregation Axioms key class identification complex network Markov chain ranking aggregation |
title | CRA: Identifying Key Classes Using Markov-Chain-Based Ranking Aggregation |
title_full | CRA: Identifying Key Classes Using Markov-Chain-Based Ranking Aggregation |
title_fullStr | CRA: Identifying Key Classes Using Markov-Chain-Based Ranking Aggregation |
title_full_unstemmed | CRA: Identifying Key Classes Using Markov-Chain-Based Ranking Aggregation |
title_short | CRA: Identifying Key Classes Using Markov-Chain-Based Ranking Aggregation |
title_sort | cra identifying key classes using markov chain based ranking aggregation |
topic | key class identification complex network Markov chain ranking aggregation |
url | https://www.mdpi.com/2075-1680/11/10/491 |
work_keys_str_mv | AT xindu craidentifyingkeyclassesusingmarkovchainbasedrankingaggregation AT weifengpan craidentifyingkeyclassesusingmarkovchainbasedrankingaggregation AT bojiang craidentifyingkeyclassesusingmarkovchainbasedrankingaggregation AT luyunding craidentifyingkeyclassesusingmarkovchainbasedrankingaggregation AT yunpan craidentifyingkeyclassesusingmarkovchainbasedrankingaggregation AT chengxiangyuan craidentifyingkeyclassesusingmarkovchainbasedrankingaggregation AT yimingxiang craidentifyingkeyclassesusingmarkovchainbasedrankingaggregation |