According to L. Bass et al. [8], software architecture of a system is "the set of structures needed to reason about the system, which comprise software elements, relations among them, and properties of both." Software architecture is often unavailable because of reasons like architecture erosion and absence of relevant documentations [13]. To recover software architecture for regaining its advantages, various methods for software architecture reconstruction (SAR) [1,3,5,6] were proposed [13].