In this paper, we suggest a framework for reconstructing software architecture from open source. The framework consists of the steps and tool requirements to reconstruct software architecture for modifying open source code. The framework can be a guideline for developers to analyze open source and reconstruct software architecture, and for researchers to understand the requirements of software reconstruction toolset for modifying open source.
For that, we define the process of reconstructing software architecture from open source. Based on the process, we evaluate several tools to support software architecture reconstruction. First, we reason automatable steps in the process. Then, we investigate current tool capability to support the automatable steps, and we map some current tools to the automatable steps. As a result, we deduce toolset requirements for supporting software architecture reconstruction. The summary tables are useful for researchers to understand the requirements of software reconstruction toolset for modifying open source and overview the present state of software architecture reconstruction tools.
Then we perform a case study of Reflexion Model, an open source code, with the tools selected in the review. The purpose of the case study is to verify that the framework can be applied to software architecture reconstruction. In addition, the case study provides guidelines for developers to understand and adopt our framework.