Recover and Optimize Software Architecture Based on Source Code and Directory Hierarchies (S)

Tong Wang,Yelian Zhang,Xufang Gong,Bixin Li
DOI: https://doi.org/10.18293/seke2019-045
2019-01-01
Abstract:Software architecture helps developers understand and maintain software, so how to obtain accurate architecture is critical.The architecture recovery technique is a widely used method for obtaining architecture.In order to improve the accuracy and efficiency of the architecture recovery technique, we propose a method for recovering and optimizing software architecture based on source code and directory hierarchies.Our method consists of three steps: first, we extract architecturerelated information from source code and directory hierarchies and construct a file dependency graph; then, we preprocess and cluster code elements to construct a preliminary architecture; finally, we optimize architecture by clustering code elements based on the structural similarity and renaming components.We perform our method on four representative open source projects and compare our method with representative architecture recovery techniques.The experimental results show that the architectures recovered by our method has higher accuracy with higher efficiency than the compared architecture recovery techniques.
What problem does this paper attempt to address?