TY - GEN
T1 - Decoupling level
T2 - 2016 IEEE/ACM 38th IEEE International Conference on Software Engineering, ICSE 2016
AU - Mo, Ran
AU - Cai, Yuanfang
AU - Kazman, Rick
AU - Xiao, Lu
AU - Feng, Qiong
N1 - Publisher Copyright:
© 2016 ACM.
PY - 2016/5/14
Y1 - 2016/5/14
N2 - Despite decades of research on software metrics, we still cannot reliably measure if one design is more maintainable than another. Software managers and architects need to understand whether their software architecture is\good enough", whether it is decaying over time and, if so, by how much. In this paper, we contribute a new architecture maintainability metric|Decoupling Level (DL)|derived from Baldwin and Clark's option theory. Instead of measuring how coupled an architecture is, we measure how well the software can be de-coupled into small and independently replaceable modules. We measured the DL for 108 open source projects and 21 industrial projects, each of which has multiple releases. Our main result shows that the larger the DL, the better the architecture. By\better" we mean: the more likely bugs and changes can be localized and separated, and the more likely that developers can make changes independently. The DL metric also opens the possibility of quantifying canonical principles of single responsibility and separation of concerns, aiding cross-project comparison and architecture decay monitoring.
AB - Despite decades of research on software metrics, we still cannot reliably measure if one design is more maintainable than another. Software managers and architects need to understand whether their software architecture is\good enough", whether it is decaying over time and, if so, by how much. In this paper, we contribute a new architecture maintainability metric|Decoupling Level (DL)|derived from Baldwin and Clark's option theory. Instead of measuring how coupled an architecture is, we measure how well the software can be de-coupled into small and independently replaceable modules. We measured the DL for 108 open source projects and 21 industrial projects, each of which has multiple releases. Our main result shows that the larger the DL, the better the architecture. By\better" we mean: the more likely bugs and changes can be localized and separated, and the more likely that developers can make changes independently. The DL metric also opens the possibility of quantifying canonical principles of single responsibility and separation of concerns, aiding cross-project comparison and architecture decay monitoring.
KW - Software Architecture
KW - Software Metrics
KW - Software Quality
UR - http://www.scopus.com/inward/record.url?scp=84971483289&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84971483289&partnerID=8YFLogxK
U2 - 10.1145/2884781.2884825
DO - 10.1145/2884781.2884825
M3 - Conference contribution
AN - SCOPUS:84971483289
T3 - Proceedings - International Conference on Software Engineering
SP - 499
EP - 510
BT - Proceedings - 2016 IEEE/ACM 38th IEEE International Conference on Software Engineering Companion, ICSE 2016
Y2 - 14 May 2016 through 22 May 2016
ER -