TY - GEN
T1 - A replication case study to measure the architectural quality of a commercial system
AU - Reimanis, Derek
AU - Izurieta, Clemente
AU - Luhr, Rachael
AU - Xiao, Lu
AU - Cai, Yuanfang
AU - Rudy, Gabe
N1 - Publisher Copyright:
© 2014 Authors.
PY - 2014/9/18
Y1 - 2014/9/18
N2 - Context: Long-term software management decisions are directly impacted by the quality of the software's architecture. Goal: Herein, we present a replication case study where structural information about a commercial software system is used in conjunction with bug-related change frequencies to measure and predict architecture quality. Method: Metrics describing history and structure were gathered and then correlated with future bug-related issues; the worst of which were visualized and presented to developers. Results: We identified dependencies between components that change together even though they belong to different architectural modules, and as a consequence are more prone to bugs. We validated these dependencies by presenting our results back to the developers. The developers did not identify any of these dependencies as unexpected, but rather architectural necessities. Conclusions: This replication study adds to the knowledge base of CLIO (a tool that detects architectural degradations) by incorporating a new programming language (C++) and by externally replicating a previous case study on a separate commercial code base. Additionally, we provide lessons learned and suggestions for future applications of CLIO.
AB - Context: Long-term software management decisions are directly impacted by the quality of the software's architecture. Goal: Herein, we present a replication case study where structural information about a commercial software system is used in conjunction with bug-related change frequencies to measure and predict architecture quality. Method: Metrics describing history and structure were gathered and then correlated with future bug-related issues; the worst of which were visualized and presented to developers. Results: We identified dependencies between components that change together even though they belong to different architectural modules, and as a consequence are more prone to bugs. We validated these dependencies by presenting our results back to the developers. The developers did not identify any of these dependencies as unexpected, but rather architectural necessities. Conclusions: This replication study adds to the knowledge base of CLIO (a tool that detects architectural degradations) by incorporating a new programming language (C++) and by externally replicating a previous case study on a separate commercial code base. Additionally, we provide lessons learned and suggestions for future applications of CLIO.
KW - architecture quality
KW - case study
KW - grime
KW - modularity violations
KW - replication
KW - static analysis
KW - technical debt
UR - http://www.scopus.com/inward/record.url?scp=84907849080&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84907849080&partnerID=8YFLogxK
U2 - 10.1145/2652524.2652581
DO - 10.1145/2652524.2652581
M3 - Conference contribution
AN - SCOPUS:84907849080
T3 - International Symposium on Empirical Software Engineering and Measurement
BT - International Symposium on Empirical Software Engineering and Measurement
T2 - 8th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement, ESEM 2014
Y2 - 18 September 2014 through 19 September 2014
ER -