Dataset Open Access

GAP: Forecasting Commit Activity in git Projects

Alexandre Decan; Eleni Constantinou; Tom Mens; Henrique Rocha

DataCite XML Export

<?xml version='1.0' encoding='utf-8'?>
<resource xmlns:xsi="" xmlns="" xsi:schemaLocation="">
  <identifier identifierType="DOI">10.5281/zenodo.3666048</identifier>
      <creatorName>Alexandre Decan</creatorName>
      <affiliation>University of Mons</affiliation>
      <creatorName>Eleni Constantinou</creatorName>
      <affiliation>Eindhoven University of Technology</affiliation>
      <creatorName>Tom Mens</creatorName>
      <affiliation>University of Mons</affiliation>
      <creatorName>Henrique Rocha</creatorName>
      <affiliation>University of Antwerp</affiliation>
    <title>GAP: Forecasting Commit Activity in git Projects</title>
    <date dateType="Issued">2020-02-13</date>
  <resourceType resourceTypeGeneral="Dataset"/>
    <alternateIdentifier alternateIdentifierType="url"></alternateIdentifier>
    <relatedIdentifier relatedIdentifierType="DOI" relationType="IsVersionOf">10.5281/zenodo.3666047</relatedIdentifier>
    <rights rightsURI="">Creative Commons Attribution 4.0 International</rights>
    <rights rightsURI="info:eu-repo/semantics/openAccess">Open Access</rights>
    <description descriptionType="Abstract">&lt;p&gt;This entry contains the replication package for our paper &lt;em&gt;GAP: Forecasting Commit Activity in git Projects&lt;/em&gt; accepted for publication in Journal of Systems and Software.&lt;/p&gt;

&lt;p&gt;Abandonment of active developers poses a significant risk for many open source software projects. This risk can be reduced by forecasting the future activity of contributors involved in such projects. Focusing on the commit activity of individuals involved in git repositories, this paper proposes a practicable probabilistic forecasting model based on the statistical technique of survival analysis. The model is empirically validated on a wide variety of projects accounting for 7,528 git repositories and 5,947 active contributors. We found that a model based on the last 20 observed days of commit activity per contributor provides the best concordance. We also found that the predictions provided by the model are generally close to actual observations, with slight underestimations for low probability predictions and slight overestimations for higher probability predictions. This model is implemented as part of an open source tool, called gap, that predicts future commit activity.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Replication package&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The model is explained and defined in &lt;em&gt;&amp;quot;notebooks/Survival analysis.ipynb&amp;quot;&lt;/em&gt;. This is a Jupyter notebook created with Jupyter Lab. The dependencies required to run this notebook are listed in &lt;em&gt;requirements.txt&lt;/em&gt; and can be automatically installed using &lt;code&gt;pip install -r requirements.txt&lt;/code&gt;. Consider making use of a virtual environment to ensure a proper replication of the analyses.&lt;/p&gt;

&lt;p&gt;The data used to validate the model can be found in &lt;em&gt;data/cargo.csv.gz&lt;/em&gt;. They were produced with the script &lt;em&gt;data/;/em&gt; that requires file &lt;em&gt;data-raw/cargo_all_proj_commits_id.csv.gz&lt;/em&gt;. This file was created by retrieving all the commits of all projects hosted on github that are related to a project distributed on Cargo. To identify such projects, we relied on dataset. GitHub API was then queried to obtain the username of each author (if available) to allow some basic identity merging task. Data about repositories were extracted from 1.4.0 dataset and can be found in &lt;em&gt;data/repositories.csv.gz&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The GAP tool&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;GAP is made available on &lt;a href=""&gt;;/a&gt;&lt;/p&gt;</description>
All versions This version
Views 125125
Downloads 3030
Data volume 1.5 GB1.5 GB
Unique views 110110
Unique downloads 1515


Cite as