TY - GEN
T1 - A study on the role of software architecture in the evolution and quality of software
AU - Kouroshfar, Ehsan
AU - Mirakhorli, Mehdi
AU - Bagheri, Hamid
AU - Xiao, Lu
AU - Malek, Sam
AU - Cai, Yuanfang
N1 - Publisher Copyright:
© 2015 IEEE.
PY - 2015/8/4
Y1 - 2015/8/4
N2 - Conventional wisdom suggests that a software system's architecture has a significant impact on its evolution. Prior research has studied the evolution of software using the information of how its files have changed together in their revision history. No prior study, however, has investigated the impact of architecture on the evolution of software from its change history. This is mainly because most open-source software systems do not document their architectures. We have overcome this challenge using several architecture recovery techniques. We used the recovered models to examine if co-changes spanning multiple architecture modules are more likely to introduce bugs than co-changes that are within modules. The results show that the co-changes that cross architectural module boundaries are more correlated with defects than co-changes within modules, implying that, to improve accuracy, bug predictors should also take the software architecture of the system into consideration.
AB - Conventional wisdom suggests that a software system's architecture has a significant impact on its evolution. Prior research has studied the evolution of software using the information of how its files have changed together in their revision history. No prior study, however, has investigated the impact of architecture on the evolution of software from its change history. This is mainly because most open-source software systems do not document their architectures. We have overcome this challenge using several architecture recovery techniques. We used the recovered models to examine if co-changes spanning multiple architecture modules are more likely to introduce bugs than co-changes that are within modules. The results show that the co-changes that cross architectural module boundaries are more correlated with defects than co-changes within modules, implying that, to improve accuracy, bug predictors should also take the software architecture of the system into consideration.
KW - Defects
KW - Software Architecture
KW - Software Repositories
UR - http://www.scopus.com/inward/record.url?scp=84957107498&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84957107498&partnerID=8YFLogxK
U2 - 10.1109/MSR.2015.30
DO - 10.1109/MSR.2015.30
M3 - Conference contribution
AN - SCOPUS:84957107498
T3 - IEEE International Working Conference on Mining Software Repositories
SP - 246
EP - 257
BT - Proceedings - 12th Working Conference on Mining Software Repositories, MSR 2015
T2 - 12th Working Conference on Mining Software Repositories, MSR 2015
Y2 - 16 May 2015 through 17 May 2015
ER -