NEGAR: Network Embedding Guided Architecture Recovery for Software Systems

Jiayi Chen,Zhixing Wang,Yuchen Jiang,Jun Pang,Tian Zhang,Minxue Pan,Jianwen Sun
DOI: https://doi.org/10.1109/apsec57359.2022.00049
2022-01-01
Abstract:With their rapid development, the scale and complexity of software systems are rapidly growing. Identifying and organizing files of similar functionality into the same module, called architecture recovery, contributes to the maintainability of a software system. However, manual architecture recovery on large-sized software requires unbearable costs. Hence a lot of automatic algorithms have been proposed in recent years. However, current algorithms' accuracy is still insufficient to support practical applications. To improve the accuracy of architecture recovery, this work proposes a novel algorithm, NEGAR, which leverages random walks to extract latent graphic information from the dependency graph of files in the software system and learn the node representation for clustering. The proposed algorithm NEGAR has been comprehensively evaluated on three medium-sized and two large-sized software systems, as well as a super large-sized software system, in terms of four widely-used metrics. The experimental results demonstrate the outstanding accuracy and excellent scalability of NEGAR.
What problem does this paper attempt to address?