TY - GEN
T1 - What can commit metadata tell us about design degradation?
AU - Oliva, Gustavo Ansaldi
AU - Steinmacher, Igor
AU - Wiese, Igor
AU - Gerosa, Marco Aurélio
PY - 2013
Y1 - 2013
N2 - Design degradation has long been assessed by means of structural analyses applied on successive versions of a software system. More recently, repository mining techniques have been developed in order to uncover rich historical information of software projects. In this paper, we leverage such information and propose an approach to assess design degradation that is programming language agnostic and relies almost exclusively on commit metadata. Our approach currently focuses on the assessment of two particular design smells: rigidity and fragility. Rigidity refer to designs that are difficult to change due to ripple effects and fragility refer to designs that tend to break in different areas every time a change is performed. We conducted an evaluation of our approach in the project Apache Maven 1 and the results indicated that our approach is feasible and that the project suffered from increasing fragility.
AB - Design degradation has long been assessed by means of structural analyses applied on successive versions of a software system. More recently, repository mining techniques have been developed in order to uncover rich historical information of software projects. In this paper, we leverage such information and propose an approach to assess design degradation that is programming language agnostic and relies almost exclusively on commit metadata. Our approach currently focuses on the assessment of two particular design smells: rigidity and fragility. Rigidity refer to designs that are difficult to change due to ripple effects and fragility refer to designs that tend to break in different areas every time a change is performed. We conducted an evaluation of our approach in the project Apache Maven 1 and the results indicated that our approach is feasible and that the project suffered from increasing fragility.
KW - Commit metadata
KW - Design degradation
KW - Mining software repositories
KW - Software metrics
KW - Version control systems
UR - http://www.scopus.com/inward/record.url?scp=84883680545&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84883680545&partnerID=8YFLogxK
U2 - 10.1145/2501543.2501547
DO - 10.1145/2501543.2501547
M3 - Conference contribution
AN - SCOPUS:84883680545
SN - 9781450323116
T3 - International Workshop on Principles of Software Evolution (IWPSE)
SP - 18
EP - 27
BT - 2013 13th International Workshop on Principles of Software Evolution, IWPSE 2013 - Proceedings
T2 - 2013 13th International Workshop on Principles of Software Evolution, IWPSE 2013
Y2 - 19 August 2013 through 20 August 2013
ER -