摘要

Directory structure contains a wealth of software design information; it is used to transfer thoughts of architects to developers. Information extracted from directory paths should play an important role in architecture recovery techniques, but it has been proved that modules or components directly represented by directories are not accurate due to the inconsistency between stages of development and design. To make better use of information extracted from directories, we propose a directory-based dependency processing technique to utilize the information of directories in the process of structure-based architecture recovery. The technique groups the selected inter-coupling files and intra-coupling files in the same directory into a submodule and generates submodule-level dependency graph based on file-level dependency graph. We apply both manual and automatic architecture recovery techniques on submodule-level dependency graph, and the results show that our technique can greatly improve the efficiency and effectiveness of manual and automatic architecture recovery techniques; the technique can also make other structure-based recovery techniques easily scalable to large-sized projects.