TY - GEN
T1 - An Empirical Study of Architectural Changes in Code Commits
AU - Cui, Di
AU - Guo, Jiaqi
AU - Liu, Ting
AU - Zheng, Qinghua
N1 - Publisher Copyright:
© 2020 ACM.
PY - 2020/11/1
Y1 - 2020/11/1
N2 - The maintenance of software architecture is challenged by fast-delivery code changes since developers are rarely aware of the architectural impacts of their code changes. To ease the burdens of architects, in this work, we proposed a light-weight framework to identify changes in architectures from code commits automatically. The framework identifies architectural changes without heavy architecture recovery techniques. Instead, it only takes a code commit as input. The framework, on the one hand, can be integrated into prevalent continuous integration systems to monitor architectural changes. On the other hand, it can be plugged into code review systems to help developers realize the architectural changes they introduce. Based on the framework, we further conducted a large-scale empirical study on 368,847 commits of 16 Apache open projects to study architectural changes. Our study reveals several new findings regarding the frequency of architectural change commits, the common and risky intents under which developers introduce architectural changes, and the correlations of architectural changes with lines of code and number of modified source files in commits. Our findings provide practical implications for software contributors and shed light on potential research directions on architecture maintenance.
AB - The maintenance of software architecture is challenged by fast-delivery code changes since developers are rarely aware of the architectural impacts of their code changes. To ease the burdens of architects, in this work, we proposed a light-weight framework to identify changes in architectures from code commits automatically. The framework identifies architectural changes without heavy architecture recovery techniques. Instead, it only takes a code commit as input. The framework, on the one hand, can be integrated into prevalent continuous integration systems to monitor architectural changes. On the other hand, it can be plugged into code review systems to help developers realize the architectural changes they introduce. Based on the framework, we further conducted a large-scale empirical study on 368,847 commits of 16 Apache open projects to study architectural changes. Our study reveals several new findings regarding the frequency of architectural change commits, the common and risky intents under which developers introduce architectural changes, and the correlations of architectural changes with lines of code and number of modified source files in commits. Our findings provide practical implications for software contributors and shed light on potential research directions on architecture maintenance.
KW - Empirical Study
KW - Software Architecture
KW - Software Quality
UR - https://www.scopus.com/pages/publications/85111985034
U2 - 10.1145/3457913.3457924
DO - 10.1145/3457913.3457924
M3 - 会议稿件
AN - SCOPUS:85111985034
T3 - ACM International Conference Proceeding Series
SP - 11
EP - 20
BT - 12th Asia-Pacific Symposium on Internetware, Internetware''2020
PB - Association for Computing Machinery
T2 - 12th Asia-Pacific Symposium on Internetware, Internetware''2020
Y2 - 12 May 2021 through 14 May 2021
ER -