Computing Reviews

Exploring the stability of software with time-series cross-sectional data
Ruohonen J., Hyrynsalmi S., Leppänen V.  SAM 2015 (Proceedings of the 2nd International Workshop on Software Architecture and Metrics, Florence, Italy, May 16-24, 2015)41-47,2015.Type:Proceedings
Date Reviewed: 05/11/16

The authors attempt to study the stability of software architectures in terms of object-oriented design principles of abstraction and instability (measured by the “cohesion between objects” metric) utilizing a time-series cross-sectional regression model of release histories taken from the Java library Vaadin.

The study is interesting and helps affirm some well-known pitfalls in the field that initially sound quite intuitive and applicable. The data set used spans empirical samples from 2009 to 2013 and contains 73 versions of Vaadin across six major releases, containing 63,414 classes.

The study uses three hypotheses. The first hypothesis models that “there is a statistical relationship between instability and abstraction.” The second hypothesis models the notion that not all modules should be stable. The third hypothesis “is contextual and related to the studied empirical case Vaadin, which is a popular object-oriented Java library for implementing graphical user interfaces for web applications.”

The results from the study are quite interesting: all three of the investigated hypotheses are rejected. The authors do a good job of analyzing these results and highlight two specific takeaways. First, a reaffirmed insight is that it is not always wise “to aggregate data across different software architecture levels” when using time-based software metrics. It may be more meaningful to use change-based software metrics for this effort. Second, there is a need for caution in using package-level software metrics in the statistical inference of software systems.

To ensure consistency, the authors have normalized the raw data sets “by including only those packages that were present in all versions.” However, it would have been interesting to also measure and study the comparative rate of growth (addition of new library functionality) and change (of existing functionality) along with these results.

Reviewer:  Srini Ramaswamy Review #: CR144400 (1607-0516)

Reproduction in whole or in part without permission is prohibited.   Copyright 2024 ComputingReviews.com™
Terms of Use
| Privacy Policy