Architecture Smells vs. Concurrency Bugs: an Exploratory Study and Negative Results

03/31/2023
by   Damian Andrew Tamburri, et al.
0

Technical debt occurs in many different forms across software artifacts. One such form is connected to software architectures where debt emerges in the form of structural anti-patterns across architecture elements, namely, architecture smells. As defined in the literature, “Architecture smells are recurrent architectural decisions that negatively impact internal system quality", thus increasing technical debt. In this paper, we aim at exploring whether there exist manifestations of architectural technical debt beyond decreased code or architectural quality, namely, whether there is a relation between architecture smells (which primarily reflect structural characteristics) and the occurrence of concurrency bugs (which primarily manifest at runtime). We study 125 releases of 5 large data-intensive software systems to reveal that (1) several architecture smells may in fact indicate the presence of concurrency problems likely to manifest at runtime but (2) smells are not correlated with concurrency in general – rather, for specific concurrency bugs they must be combined with an accompanying articulation of specific project characteristics such as project distribution. As an example, a cyclic dependency could be present in the code, but the specific execution-flow could be never executed at runtime.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
01/25/2019

Software Architecture Metrics: a literature review

In Software Engineering, early detection of architectural issues is key....
research
11/05/2018

On Relating Technical, Social Factors, and the Introduction of Bugs

As collaborative coding environments make it easier to contribute to sof...
research
06/15/2021

Archify: A Recommender System of Architectural Design Decisions

Software architectures play a critical role in software quality assuranc...
research
05/17/2021

In Search of Socio-Technical Congruence: A Large-Scale Longitudinal Study

We report on a large-scale empirical study investigating the relevance o...
research
12/11/2019

A Reference Architecture and Modelling Principles for Architectural Stability based on Self-Awareness: Case of Cloud Architectures

With the increased dependence on software, there is a pressing need for ...
research
09/12/2019

Detecting Architectural Erosion using Runtime Verification

The architecture of a system captures important design decisions for the...
research
01/23/2019

The Value of Software Architecture Recovery for Maintenance

In order to maintain a system, it is beneficial to know its software arc...

Please sign up or login with your details

Forgot password? Click here to reset