Abstract
Context: Architectural views serve as fundamental artefacts for designing and communicating software architectures. In the context of collaborative software development, producing sound architectural documentation, where architectural views play a central role, is a crucial aspect for effective teamwork. Despite their importance, the use of architectural views in open-source projects to date remains only marginally explored. Goal: We aim at conducting a comprehensive analysis on an extensive corpus of open-source architectural views. The goal is to understand (i) what the “history” of architectural views is, (ii) how architectural views are represented, and (iii) what architectural views are used for in the context of open-source projects. Methods: We leverage a software repository mining process to systematically construct a dataset of 15k architectural views. Then, we perform (i) a quantitative analysis on the metadata of all 15k views and (ii) a qualitative analysis on a statistically-relevant sample of 373 views. Results: Most projects rely on a single architectural view, which is often used to document a medium or high level description of the architecture. Views are usually created at either the beginning or at the end of a project, are rarely updated, and tend to be maintained by a single contributor. Views usually adopt an informal colored notation without a supporting legend and frequently report technologies used. Deployment and control flow are the most recurrent viewpoints, and commonly cover concerns related to software maintainability and functional suitability. Conclusion: The state of the practice about architectural views in open-source software systems seems to favor informal descriptions. Despite this, the effort needed to create views might hinder keeping views up to date, and a common syntactic ground between viewpoints seems hard to find. To address current needs, we speculate that a solution could lie in defining and popularizing versionable, templateable views that can be integrated in collaborative programming environments.
Original language | English |
---|---|
Title of host publication | Software Architecture |
Subtitle of host publication | 18th European Conference, ECSA 2024, Luxembourg City, Luxembourg, September 3–6, 2024, Proceedings |
Editors | Matthias Galster, Patrizia Scandurra, Tommi Mikkonen, Pablo Oliveira Antonino, Elisa Yumi Nakagawa, Elena Navarro |
Publisher | Springer Science and Business Media Deutschland GmbH |
Pages | 396-415 |
Number of pages | 20 |
ISBN (Electronic) | 9783031707971 |
ISBN (Print) | 9783031707964 |
DOIs | |
Publication status | Published - 2024 |
Event | 18th European Conference on Software Architecture, ECSA 2024 - Luxembourg City, Luxembourg Duration: 3 Sept 2024 → 6 Sept 2024 |
Publication series
Name | Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) |
---|---|
Volume | 14889 LNCS |
ISSN (Print) | 0302-9743 |
ISSN (Electronic) | 1611-3349 |
Conference
Conference | 18th European Conference on Software Architecture, ECSA 2024 |
---|---|
Country/Territory | Luxembourg |
City | Luxembourg City |
Period | 3/09/24 → 6/09/24 |
Bibliographical note
Publisher Copyright:© The Author(s), under exclusive license to Springer Nature Switzerland AG 2024.
Keywords
- Architectural Documentation
- Architectural Views
- Open Source Software
- Repository Mining