Summary: | 碩士 === 國立高雄師範大學 === 資訊教育研究所 === 96 === Software projects should have documentations that describe the architecture of the system. With the aid of documentations, development and maintenance process will be more efficient, and the quality of the software can be improved. But the problem is that many open source software projects do not have such documentations or the content is not up-to-date. Therefore how to reconstruct documentations by existed data is worth to research. The ownership architecture can show the relationship between developers and source files, and indicate system experts. The information is helpful for large projects with many developers. For this reason, the purpose of this research is to design an analyzer which can construct ownership architecture and generate documentations automatically. Using the documents, developers can know the ownership architecture and more information about the status of the project.
In this research, the logs in version control systems were used to construct the ownership architecture. The data within version control logs is in a regular form and appropriate for analysis. One log keeps which file was changed, the name of the developer who made the change, the date that the change was made, and the comment written by the developer. By the logs, we can know the owners of each source file. The importance of developers can also be estimated by the number of own files and frequency of making a change. In order to understand the system architecture, the directory structure of source code can be used to identify function components of the system essentially.
One open source project, Apache Http Server, was chosen for case study, and the project's version control logs were analyzed to find a pattern. The pattern was used to program a tool that can automatically relate source files to developers. By the tool, the information which can estimate performance of developers can be also retrieved from logs. Finally, the result was generated in the form of documentation. We use the project’s official information to verify the documentation, and it proves the possibility of our method and benefit that the ownership architecture documentation can bring.
|