Reconstructing ownership architectures to help understand software systems
Ivan T. Bowman, Richard C. Holt
Abstract
Ivan T. Bowman, Richard C. Holt
Abstract
Recent research suggests that large software systems should have a documented system architecture. One form of documentation that may help describe the structure of software systems is the organization of the developers that designed and implemented the software system. We suggest that all ownership architecture that documents the relationship between developers and source code is a valuable aid in understanding large software systems. If this document is not available then we can reconstruct it based on the system implementation and other documentation. We examine Linux as a case study to demonstrate how to reconstruct and use this type of architecture. The reconstructed Linux ownership architecture provides information that complements other types of architectural documentation. It identifies experts for system components, shows non-functional dependencies, and provides estimates of the quality of components. Ownership architectures also allow us to find problems such as under-staffed sub-systems and components that risk abandonment.
OpenAlex reports 38 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
Recent research suggests that large software systems should have a documented system architecture. One form of documentation that may help describe the structure of software systems is the organization of the developers that designed and implemented the software system. We suggest that all ownership architecture that documents the relationship between developers and source code is a valuable aid in understanding large software systems. If this document is not available then we can reconstruct it based on the system implementation and other documentation. We examine Linux as a case study to demonstrate how to reconstruct and use this type of architecture. The reconstructed Linux ownership architecture provides information that complements other types of architectural documentation. It identifies experts for system components, shows non-functional dependencies, and provides estimates of the quality of components. Ownership architectures also allow us to find problems such as under-staffed sub-systems and components that risk abandonment.
Key concepts: Documentation, Computer science, Software engineering, Software system, Software architecture, Reference architecture, Architecture, Software