DocumentCode
600257
Title
Characterizing the roles of classes and their fault-proneness through change metrics
Author
Steff, Maximilian ; Russo, Barbara
Author_Institution
Free Univ. of Bozen-Bolzano, Bozen, Italy
fYear
2012
fDate
20-21 Sept. 2012
Firstpage
59
Lastpage
68
Abstract
Many approaches to determine the fault-proneness of code artifacts rely on historical data of and about these artifacts. These data include the code and how it was changed over time, and information about the changes from version control systems. Each of these can be considered at different levels of granularity. The level of granularity can substantially influence the estimated fault-proneness of a code artifact. Typically, the level of detail oscillates between releases and commits on the one hand, and single lines of code and whole files on the other hand. Not every information may be readily available or feasible to collect at every level, though, nor does more detail necessarily improve the results. Our approach is based on time series of changes in method-level dependencies and churn on a commit-to-commit basis for two systems, Spring and Eclipse. We identify sets of classes with distinct properties of the time series of their change histories. We differentiate between classes based on temporal patterns of change. Based on this differentiation, we show that our measure of structural change in concert with its complement, churn, effectively indicates fault-proneness in classes. We also use windows on time series to select sets of commits and show that changes over short amounts of time do effectively indicate the fault-proneness of classes.
Keywords
configuration management; software fault tolerance; software metrics; Eclipse system; Spring system; change history; code artifact; commit-to-commit churn; granularity level; method-level dependency; software change metrics; software class; software fault-proneness; temporal change pattern; time series; version control system; Computer bugs; History; Measurement; Software; Springs; Time series analysis; Vectors; fault-proneness; product metrics; software architectures;
fLanguage
English
Publisher
ieee
Conference_Titel
Empirical Software Engineering and Measurement (ESEM), 2012 ACM-IEEE International Symposium on
Conference_Location
Lund
ISSN
1938-6451
Print_ISBN
978-1-4503-1056-7
Electronic_ISBN
1938-6451
Type
conf
DOI
10.1145/2372251.2372261
Filename
6475397
Link To Document