2021
DOI: 10.1109/access.2021.3105475
|View full text |Cite
|
Sign up to set email alerts
|

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

Abstract: 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 lea… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
2
0

Year Published

2022
2022
2024
2024

Publication Types

Select...
3
2

Relationship

0
5

Authors

Journals

citations
Cited by 6 publications
(7 citation statements)
references
References 37 publications
0
2
0
Order By: Relevance
“…ey came to the conclusion that identifiers provide good design results that the file has a good expert comparison, and those comments have a good expert comparison, but that bad design results and routine calls perform poorly. e authors in [9][10][11][12] proposed a method for improving the accuracy of autonomous software architecture reconstruction.…”
Section: Related Workmentioning
confidence: 99%
“…ey came to the conclusion that identifiers provide good design results that the file has a good expert comparison, and those comments have a good expert comparison, but that bad design results and routine calls perform poorly. e authors in [9][10][11][12] proposed a method for improving the accuracy of autonomous software architecture reconstruction.…”
Section: Related Workmentioning
confidence: 99%
“…For object-oriented programming languages, software networks can consist of multiple levels of networks, such as file-level, package-level, class-level, or function-level collaboration networks [29]. The Class Collaboration Network (CCN) is particularly interesting to analyze [10], [32], [37], [38] because classes are the main building blocks in OOP. Arora and Goel [24], [27] proposed JavaRelationshipGraphs (JRG) -a software network model specialized for the Java language.…”
Section: A Code Dependency Representationsmentioning
confidence: 99%
“…Software networks are extensively used to facilitate software comprehension and maintenance through software architecture recovery [13], [25], finding key entities [10], [38], [62], [63], code modularization [60], [64], [65], finding code similarities [66], code visualization [67]- [69], and tracking code evolution [70].…”
Section: A Code Dependency Representationsmentioning
confidence: 99%
See 1 more Smart Citation
“…The most important central code entities are typically good starting points for reading the source code in the process of software comprehension [5]. The scg-cli automatically finds the most important nodes in the SCG graph based on the set of nine different metrics [6], including LOC (line of codes associated with a code entity), out-degree and in-degree, eigenvector centrality, Katz centrality, PageRank, betweenness centrality and Harmonic Centrality.…”
Section: Finding Crucial Code Entitiesmentioning
confidence: 99%