Investigation of user perception of software features for software architecture recovery in object-oriented software
A well-documented architecture can greatly improve comprehension and maintainability. However, shorter release cycles and quick delivery patterns results in negligence of architecture. In such situations, the architecture can be recovered from its current implementation based on considering dependency relations. In literature, structural and semantic dependencies are commonly used software features, and directory information along with co-change/change history information are among rarely utilised software features. But, they are found to help improve architecture recovery. Therefore, we consider investigating various features that may further improve the accuracy of existing architecture recovery techniques and evaluate their feasibility by considering them in different pairs. We compared five state-of-the-art methods under different feature subsets. We identified that two of them commonly outperform others but surprisingly with low accuracy in some evaluations. Further, we propose a new subset of features that reflects more accurate user perceptions and hence, results in improving the accuracy of architecture recovery techniques.