TY - GEN
T1 - Modularization in Object Oriented Software
T2 - 2024 International Conference on Artificial Intelligence, Blockchain, Cloud Computing, and Data Analytics, ICoABCD 2024
AU - Tendean, Sandi
AU - Siahaan, Daniel
AU - Yuniarti, Anny
N1 - Publisher Copyright:
© 2024 IEEE.
PY - 2024
Y1 - 2024
N2 - The process of software modularization is essential to comprehending complex software systems. There are a variety of implementation approaches that provide different approaches to software architectural delineation. The advancement of programming languages and techniques presents novel challenges in determining suitable approaches for creating cohesive and separate modules. In this study, modularization increases the understanding of software quality by breaking apart the source code incorporated into packages into coherent and independent groupings. This study assesses the effectiveness of various architectures that integrate clustering algorithms, i.e. Agglomerative, K-means, and K-medoids, with three word-embedding techniques, i.e. BERT, FastText, and GloVe. The evaluation was conducted on five java-based applications with varying number of packages developed by different prominent developers. The primary objective of this study is to identify the optimal combination of clustering and word embedding algorithms that could yield high cohesion and low coupling of java-class modules. The results demonstrate that the combination of K-means and FastText outperforms other architectures in terms of cohesion, with a CH Index value of 10.66 and coupling with a DB Index value of 1.76 of clustered classes. In addition, regarding accuracy and similarity with ground truth, the combination of distance-based clustering algorithms and FastText outperformed other architectures.
AB - The process of software modularization is essential to comprehending complex software systems. There are a variety of implementation approaches that provide different approaches to software architectural delineation. The advancement of programming languages and techniques presents novel challenges in determining suitable approaches for creating cohesive and separate modules. In this study, modularization increases the understanding of software quality by breaking apart the source code incorporated into packages into coherent and independent groupings. This study assesses the effectiveness of various architectures that integrate clustering algorithms, i.e. Agglomerative, K-means, and K-medoids, with three word-embedding techniques, i.e. BERT, FastText, and GloVe. The evaluation was conducted on five java-based applications with varying number of packages developed by different prominent developers. The primary objective of this study is to identify the optimal combination of clustering and word embedding algorithms that could yield high cohesion and low coupling of java-class modules. The results demonstrate that the combination of K-means and FastText outperforms other architectures in terms of cohesion, with a CH Index value of 10.66 and coupling with a DB Index value of 1.76 of clustered classes. In addition, regarding accuracy and similarity with ground truth, the combination of distance-based clustering algorithms and FastText outperformed other architectures.
KW - clustering algorithm
KW - object-oriented software
KW - software modularization
KW - word embedding
UR - http://www.scopus.com/inward/record.url?scp=85207852635&partnerID=8YFLogxK
U2 - 10.1109/ICoABCD63526.2024.10704544
DO - 10.1109/ICoABCD63526.2024.10704544
M3 - Conference contribution
AN - SCOPUS:85207852635
T3 - 2024 International Conference on Artificial Intelligence, Blockchain, Cloud Computing, and Data Analytics, ICoABCD 2024
SP - 291
EP - 296
BT - 2024 International Conference on Artificial Intelligence, Blockchain, Cloud Computing, and Data Analytics, ICoABCD 2024
PB - Institute of Electrical and Electronics Engineers Inc.
Y2 - 20 August 2024 through 21 August 2024
ER -