Skip to main content
zenodoopen

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 &quot;<em>1151 commits with software maintenance activity labels (corrective,perfective,adaptive)</em>&quot; 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&nbsp;<em>Git-Tools</em>, a tool that is included in the&nbsp;<strong>Git-Density</strong>&nbsp;(<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&nbsp;<em>extended</em>&nbsp;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&nbsp;<strong>71</strong>&nbsp;features and spans the projects&nbsp;<em>RxJava, hbase, elasticsearch, intellij-community, hadoop, drools, Kotlin, restlet-framework-java, orientdb, camel</em>&nbsp;and&nbsp;<em>spring-framework</em>.</li> </ul> </li> <li><strong>gtools_ex</strong>&nbsp;(short for <em>Git-Tools, extended</em>) <ul> <li>Contains&nbsp;<strong>359,569</strong>&nbsp;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&nbsp;<em>Intellij</em>&nbsp;and&nbsp;<em>Kotlin</em>, the first 35,000 resp. 30,000 commits were analyzed.</li> <li>This dataset introduces&nbsp;<strong>35 new</strong>&nbsp;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>&nbsp;(short for Git-<em>tools, extended, with labels</em>) <ul> <li>Joins the commits&#39; labels from&nbsp;<em>x1151</em>&nbsp;with the extended attributes from&nbsp;<em>gtools_ex</em>, using the commits&#39; hashes.</li> </ul> </li> <li><strong>jeX_L</strong>&nbsp;(short for&nbsp;<em>joined, extended, with labels</em>) <ul> <li>Joins the datasets&nbsp;<em>x1151</em>&nbsp;and&nbsp;<em>gtools_ex</em>&nbsp;entirely, based on the commits&#39; hashes.</li> </ul> </li> </ul> <p>&nbsp;</p> <p>Features of the&nbsp;<strong>gtools_ex</strong>&nbsp;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&#39;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&nbsp;<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&#39; 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&nbsp;<em>NumberOfFilesXXX</em>&nbsp;and&nbsp;<em>NumberOfFilesXXXNet</em></li> </ul> <p>&nbsp;</p> <p>This dataset is supporting the paper&nbsp;<strong>&quot;<em>Importance and Aptitude of Source code Density for Commit Classification into Maintenance Activities</em></strong><strong>&quot;</strong>, as submitted to the&nbsp;<em>QRS2019</em>&nbsp;conference (The 19th IEEE International Conference on Software Quality, Reliability, and Security). Citation:&nbsp;H&ouml;nel, S., Ericsson, M., L&ouml;we, W. and Wingkvist, A., 2019. Importance and Aptitude of Source code Density for Commit Classification into Maintenance Activities. In&nbsp;<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

Topics