I. Introduction
Software continually evolves to meet new requirements. However, with the evolution of software, the erosion of software architecture often occurs [1]–[3], which is mainly seen in the increased coupling between components, the decreased cohesion of components, and the increased complexity of software architecture. The erosion of software architecture creates problems such as the increase of software evolutionary costs [4], [5], the decrease of software performance [6], [7], and the degradation of software quality [8], [9]. Software architecture (SA) evolvability describes the software architecture's capability to accommodate changes [10]; when SA evolvability is low, the difficulty of evolving software architecture increases, and then, the erosion of software architecture occurs. Analyzing SA evolvability has a crucial significance in preventing the erosion of software architecture [11], [12].