359,569 commits with source code density; 1149 commits of which have software maintenance activity labels (adaptive, corrective, perfective)
<p>This dataset comes as SQL-importable file and is compatible with the widely available MariaDB- and MySQL-databases.</p> <p>It is based on (and incorporates/extends) the dataset "<em>1151 commits with software maintenance activity labels (corrective,perfective,adaptive)</em>" by Levin and Yehudai (<a href="https://doi.org/10.5281/zenodo.835534">https://doi.org/10.5281/zenodo.835534</a>).</p> <p>The extensions to this dataset were obtained using <em>Git-Tools</em>, a tool that is included in the <strong>Git-Density</strong> (<a href="https://doi.org/10.5281/zenodo.2565238">https://doi.org/10.5281/zenodo.2565238</a>) suite. For each of the projects in the original dataset, Git-Tools was run in <em>extended</em> mode.</p> <p>The dataset contains these tables:</p> <ul> <li><strong>x1151</strong>: The original dataset from Levin and Yehudai. <ul> <li>despite its name, this dataset has only 1,149 commits, as two commits were duplicates in the original dataset.</li> <li>This dataset spanned 11 projects, each of which had between 99 and 114 commits</li> <li>This dataset has <strong>71</strong> features and spans the projects <em>RxJava, hbase, elasticsearch, intellij-community, hadoop, drools, Kotlin, restlet-framework-java, orientdb, camel</em> and <em>spring-framework</em>.</li> </ul> </li> <li><strong>gtools_ex</strong> (short for <em>Git-Tools, extended</em>) <ul> <li>Contains <strong>359,569</strong> commits, analyzed using Git-Tools in extended mode</li> <li>It spans all commits and projects from the x1151 dataset as well.</li> <li>All 11 projects were analyzed, from the initial commit until the end of January 2019. For the projects <em>Intellij</em> and <em>Kotlin</em>, the first 35,000 resp. 30,000 commits were analyzed.</li> <li>This dataset introduces <strong>35 new</strong> features (see list below), 22 of which are <em><strong>size</strong></em>- or <em><strong>density</strong></em>-related.</li> </ul> </li> </ul> <p>The dataset contains these views:</p> <ul> <li><strong>geX_L</strong> (short for Git-<em>tools, extended, with labels</em>) <ul> <li>Joins the commits' labels from <em>x1151</em> with the extended attributes from <em>gtools_ex</em>, using the commits' hashes.</li> </ul> </li> <li><strong>jeX_L</strong> (short for <em>joined, extended, with labels</em>) <ul> <li>Joins the datasets <em>x1151</em> and <em>gtools_ex</em> entirely, based on the commits' hashes.</li> </ul> </li> </ul> <p> </p> <p>Features of the <strong>gtools_ex</strong> dataset:</p> <ul> <li><strong>SHA1</strong></li> <li><strong>RepoPathOrUrl</strong></li> <li><strong>AuthorName</strong></li> <li><strong>CommitterName</strong></li> <li><strong>AuthorTime </strong>(UTC)</li> <li><strong>CommitterTime </strong>(UTC)</li> <li><strong>MinutesSincePreviousCommit</strong>: Double, describing the amount of minutes that passed since the previous commit. Previous refers to the <strong>parent</strong> commit, not the previous in time.</li> <li><strong>Message</strong>: The commit's message/comment</li> <li><strong>AuthorEmail</strong></li> <li><strong>CommitterEmail</strong></li> <li><strong>AuthorNominalLabel</strong>: All authors of a repository are analyzed and merged by Git-Density using some heuristic, even if they do not always use the same email address or name. This label is a unique string that helps identifying the same author across commits, even if the author did not always use the exact same identity.</li> <li><strong>CommitterNominalLabel</strong>: The same as <em>AuthorNominalLabel</em>, but for the committer this time.</li> <li><strong>IsInitialCommit</strong>: A boolean indicating, whether a commit is preceded by a parent or not.</li> <li><strong>IsMergeCommit</strong>: A boolean indicating whether a commit has more than one parent.</li> <li><strong>NumberOfParentCommits</strong></li> <li><strong>ParentCommitSHA1s</strong>: A comma-concatenated string of the parents' SHA1 IDs</li> <li><strong>NumberOfFilesAdded</strong></li> <li><strong>NumberOfFilesAddedNet</strong>: Like the previous property, but if the net-size of all changes of an added file is zero (i.e. when adding a file that is empty/whitespace or does not contain code), then this property does not count the file.</li> <li><strong>NumberOfLinesAddedByAddedFiles</strong></li> <li><strong>NumberOfLinesAddedByAddedFilesNet</strong>: Like the previous property, but counts the net-lines</li> <li><strong>NumberOfFilesDeleted</strong></li> <li><strong>NumberOfFilesDeletedNet</strong>: Like the previous property, but considers only files that had net-changes</li> <li><strong>NumberOfLinesDeletedByDeletedFiles</strong></li> <li><strong>NumberOfLinesDeletedByDeletedFilesNet</strong>: Like the previous property, but counts the net-lines</li> <li><strong>NumberOfFilesModified</strong></li> <li><strong>NumberOfFilesModifiedNet</strong>: Like the previous property, but considers only files that had net-changes</li> <li><strong>NumberOfFilesRenamed</strong></li> <li><strong>NumberOfFilesRenamedNet</strong>: Like the previous property, but considers only files that had net-changes</li> <li><strong>NumberOfLinesAddedByModifiedFiles</strong></li> <li><strong>NumberOfLinesAddedByModifiedFilesNet</strong>: Like the previous property, but counts the net-lines</li> <li><strong>NumberOfLinesDeletedByModifiedFiles</strong></li> <li><strong>NumberOfLinesDeletedByModifiedFilesNet</strong>: Like the previous property, but counts the net-lines</li> <li><strong>NumberOfLinesAddedByRenamedFiles</strong></li> <li><strong>NumberOfLinesAddedByRenamedFilesNet</strong>: Like the previous property, but counts the net-lines</li> <li><strong>NumberOfLinesDeletedByRenamedFiles</strong></li> <li><strong>NumberOfLinesDeletedByRenamedFilesNet</strong>: Like the previous property, but counts the net-lines</li> <li><strong>Density</strong>: The ratio between the two sums of all lines added+deleted+modified+renamed and their resp. gross-version. A density of zero means that the sum of net-lines is zero (i.e. all lines changes were just whitespace, comments etc.). A density of of 1 means that all changed net-lines contribute to the gross-size of the commit (i.e. no useless lines with e.g. only comments or whitespace).</li> <li><strong>AffectedFilesRatioNet</strong>: The ratio between the sums of <em>NumberOfFilesXXX</em> and <em>NumberOfFilesXXXNet</em></li> </ul> <p> </p> <p>This dataset is supporting the paper <strong>"<em>Importance and Aptitude of Source code Density for Commit Classification into Maintenance Activities</em></strong><strong>"</strong>, as submitted to the <em>QRS2019</em> conference (The 19th IEEE International Conference on Software Quality, Reliability, and Security). Citation: Hönel, S., Ericsson, M., Löwe, W. and Wingkvist, A., 2019. Importance and Aptitude of Source code Density for Commit Classification into Maintenance Activities. In <em>The 19th IEEE International Conference on Software Quality, Reliability, and Security</em>.</p>
ShareScore
36/100
Overall dataset sharing score
Score breakdown
These five areas show where the dataset supports — or may limit — practical reuse.
- Stewardship
- 8
- Harmonization
- 8
- Access
- 16
- Reuse readiness
- 0
- Engagement
- 4