• DocumentCode
    650705
  • Title

    Mining Software Repositories for Accurate Authorship

  • Author

    Xiaozhu Meng ; Miller, Barton P. ; Williams, William R. ; Bernat, Andrew R.

  • Author_Institution
    Comput. Sci. Dept., Univ. of Wisconsin, Madison, WI, USA
  • fYear
    2013
  • fDate
    22-28 Sept. 2013
  • Firstpage
    250
  • Lastpage
    259
  • Abstract
    Code authorship information is important for analyzing software quality, performing software forensics, and improving software maintenance. However, current tools assume that the last developer to change a line of code is its author regardless of all earlier changes. This approximation loses important information. We present two new line-level authorship models to overcome this limitation. We first define the repository graph as a graph abstraction for a code repository, in which nodes are the commits and edges represent the development dependencies. Then for each line of code, structural authorship is defined as a sub graph of the repository graph recording all commits that changed the line and the development dependencies between the commits, weighted authorship is defined as a vector of author contribution weights derived from the structural authorship of the line and based on a code change measure between commits, for example, best edit distance. We have implemented our two authorship models as a new git built-in tool git-author. We evaluated git-author in an empirical study and a comparison study. In the empirical study, we ran git-author on five open source projects and found that git-author can recover more information than a current tool (git-blame) for about 10% of lines. In the comparison study, we used git-author to build a line-level model for bug prediction. We compared our line-level model with an existing file-level model. The results show that our line-level model performs consistently better than the file-level model when evaluated on our data sets produced from the Apache HTTP server project.
  • Keywords
    data mining; digital forensics; graph theory; program debugging; software maintenance; software quality; Apache HTTP server project; bug prediction; code authorship information; code repository; graph abstraction; repository graph; software forensics; software maintenance; software quality; software repositories mining; Data models; History; Predictive models; Radio access networks; Software quality; Vectors; Author contribution; Line-level bug prediction; Software quality; Version control system;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Maintenance (ICSM), 2013 29th IEEE International Conference on
  • Conference_Location
    Eindhoven
  • ISSN
    1063-6773
  • Type

    conf

  • DOI
    10.1109/ICSM.2013.36
  • Filename
    6676896