«

»

On Analyzing the Topology of Commit Histories in Decentralized Version Control Systems

by Marco Biazzini, Martin Monperrus, Benoit Baudry
Abstract:
Empirical analysis of software repositories usually deals with linear histories derived from centralized versioning systems. Decentralized version control systems allow a much richer structure of commit histories, which presents features that are typical of complex graph models. In this paper we bring some evidences of how the very structure of these commit histories carries relevant information about the distributed development process. By means of a novel data structure that we formally define, we analyze the topological characteristics of commit graphs of a sample of GIT projects. Our findings point out the existence of common recurrent structural patterns which identically occur in different projects and can be consider building blocks of distributed collaborative development.
Reference:
On Analyzing the Topology of Commit Histories in Decentralized Version Control Systems (Marco Biazzini, Martin Monperrus, Benoit Baudry), In Proc. of the Int. Conf. on Software Maintenance and Evolution (ICSME), 2014.
Bibtex Entry:
@inproceedings{biazzini14,
    keywords = {metrics, diversity, ecology},
    title = {{On Analyzing the Topology of Commit Histories in  Decentralized Version Control Systems}},
    author = { Biazzini, Marco and Monperrus, Martin  and Baudry, Benoit },
    abstract = {{}},
    booktitle = {{Proc. of the Int. Conf. on Software Maintenance and Evolution (ICSME)}},
    pages = {},
    address = {Victoria, BC, CA},
  	X-International-Audience = {yes},
  	X-Language = {EN},
  	x-abbrv = {ICSME},
    year = {2014},
    url = {https://hal.inria.fr/hal-01063789/document},
    abstract = {Empirical analysis of software repositories usually
    deals with linear histories derived from centralized versioning
    systems. Decentralized version control systems allow a much
    richer structure of commit histories, which presents features that
    are typical of complex graph models. In this paper we bring some
    evidences of how the very structure of these commit histories
    carries relevant information about the distributed development
    process. By means of a novel data structure that we formally define,
    we analyze the topological characteristics of commit graphs
    of a sample of GIT projects. Our findings point out the existence
    of common recurrent structural patterns which identically occur
    in different projects and can be consider building blocks of
    distributed collaborative development.}
}