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<...

Full description

Bibliographic Details
Main Authors: Xin Du, Weifeng Pan, Bo Jiang, Luyun Ding, Yun Pan, Chengxiang Yuan, Yiming Xiang
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