Architectural Views: The State of Practice in Open-Source Software Projects

Sofia Migliorini, Roberto Verdecchia*, Ivano Malavolta, Patricia Lago, Enrico Vicario

*Corresponding author for this work

Research output: Chapter in Book / Report / Conference proceedingConference contributionAcademicpeer-review

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 languageEnglish
Title of host publicationSoftware Architecture
Subtitle of host publication18th European Conference, ECSA 2024, Luxembourg City, Luxembourg, September 3–6, 2024, Proceedings
EditorsMatthias Galster, Patrizia Scandurra, Tommi Mikkonen, Pablo Oliveira Antonino, Elisa Yumi Nakagawa, Elena Navarro
PublisherSpringer Science and Business Media Deutschland GmbH
Pages396-415
Number of pages20
ISBN (Electronic)9783031707971
ISBN (Print)9783031707964
DOIs
Publication statusPublished - 2024
Event18th European Conference on Software Architecture, ECSA 2024 - Luxembourg City, Luxembourg
Duration: 3 Sept 20246 Sept 2024

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume14889 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Conference

Conference18th European Conference on Software Architecture, ECSA 2024
Country/TerritoryLuxembourg
CityLuxembourg City
Period3/09/246/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

Fingerprint

Dive into the research topics of 'Architectural Views: The State of Practice in Open-Source Software Projects'. Together they form a unique fingerprint.

Cite this