• 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