Supporting the analyzability of architectural component models - empirical findings and tool support

Supporting the analyzability of architectural component models - empirical findings and tool support

Abstract

This article discusses the understandability of component models that are frequently used as central views in architectural descriptions of software systems. We empirically examine how different component level metrics and the participants’ experience and expertise can be used to predict the understandability of those models. In addition, we develop a tool that supports applying the obtained empirical findings in practice. Our results show that the prediction models have the large effect size, which means that their prediction strength is of high practical significance. The participants’ experience plays an important role in the prediction but the obtained models are not as accurate as the models that use the component level metrics. The developed tools combine the DSL-based architecture abstraction approach with the obtained empirical findings. While the DSL-based architecture abstraction approach enables software architects to keep source code and architecture consistent, the metrics extensions enable them, while working with the DSL, to continuously judge and improve the analyzability of architectural component models based on the understandability of their individual components they create with the DSL. Provided metrics extensions can also help in assessing how much each architectural rule used to specify the DSL affects the understandability of a component which enables for instance finding the rules that contribute the most to a limited understandability. Finally, our approach supports change impact analysis, i.e. the identification of changes that affect different analyzability levels of the component models. We studied the applicability of our approach in a case study of an existing open source system.

Grafik Top
Authors
  • Stevanetic, Srdjan
  • Zdun, Uwe
Grafik Top
Projects
Grafik Top
Shortfacts
Category
Journal Paper
Divisions
Software Architecture
Subjects
Software Engineering
Journal or Publication Title
Empirical Software Engineering: an international journal
ISSN
1382-3256
Page Range
pp. 3578-3625
Number
6
Volume
23
Date
December 2018
Export
Grafik Top