Relationships between Software Architecture and Source Code in Practice: An Exploratory Survey and Interview

by   Fangchao Tian, et al.

Context: Software Architecture (SA) and Source Code (SC) are two intertwined artefacts that represent the interdependent design decisions made at different levels of abstractions - High-Level (HL) and Low-Level (LL). An understanding of the relationships between SA and SC is expected to bridge the gap between SA and SC for supporting maintenance and evolution of software systems. Objective: We aimed at exploring practitioners' understanding about the relationships between SA and SC. Method: We used a mixed-method that combines an online survey with 87 respondents and an interview with 8 participants to collect the views of practitioners from 37 countries about the relationships between SA and SC. Results: Our results reveal that: practitioners mainly discuss five features of relationships between SA and SC; a few practitioners have adopted dedicated approaches and tools in the literature for identifying and analyzing the relationships between SA and SC despite recognizing the importance of such information for improving a system's quality attributes, especially maintainability and reliability. It is felt that cost and effort are the major impediments that prevent practitioners from identifying, analyzing, and using the relationships between SA and SC. Conclusions: The results have empirically identified five features of relationships between SA and SC reported in the literature from the perspective of practitioners and a systematic framework to manage the five features of relationships should be developed with dedicated approaches and tools considering the cost and benefit of maintaining the relationships.


page 1

page 2

page 3

page 4


On The Gap Between Software Maintenance Theory and Practitioners' Approaches

The way practitioners perform maintenance tasks in practice is little kn...

Software Architecture in Practice: Challenges and Opportunities

Software architecture has been an active research field for nearly four ...

A Survey on Vulnerabilities of Ethereum Smart Contracts

Smart contract (SC) is an extension of BlockChain technology. Ethereum B...

B-CLEAN-SC: CLEAN-SC for broadband sources

This paper presents B-CLEAN-SC, a variation of CLEAN-SC for broadband so...

Do practitioners intentionally self-fix Technical Debt and why?

The impact of Technical Debt (TD) on software maintenance and evolution ...

Understanding Architecture Erosion: The Practitioners' Perceptive

As software systems evolve, their architecture is meant to adapt accordi...

Including climate system feedbacks in calculations of the social cost of methane

Integrated assessment models (IAMs) are valuable tools that consider the...

Please sign up or login with your details

Forgot password? Click here to reset