DOI: 10.5281/zenodo.5838536
title: GDED (GitDelver Enterprise Dataset)

description: This dataset was produced by analyzing the Git commits from 101 closed-source software repositories with the <em>GitDelver </em>mining tool (Zenodo, GitHub). It is made of three CSV files. <em><strong>commits_history.csv</strong></em> shows data about 106,216 Git commits performed by 164 developers. It has the following columns: Repository: the name of the repository. Branches: the list of branches in which this modification has been integrated (works best if you target a bare repository). NbBranches: the number of branches in which this modification has been integrated (works best if you target a bare repository). CommitId: the identifier of the commit. Author: the author of the modification. DateTime: the date and time of the modification. Date: the date of the modification. HourOfDay: the hour of the day at which the modification took place. Merge: flag telling if the commit is a merge commit. BugFix: flag telling if the modification is a bugfix. SATD: flag telling if the modification contains Self-Admitted Technical Debt. NbModifiedFiles: the total number of files (supported and unsupported) modified by this commit. ModifiedFiles: the list of files modified by this commit. NbModifiedProdSourceFiles: the number of production source files modified by this commit. NbModifiedTestSourceFiles: the number of test source files modified by this commit. NbModifications: the total number of modifications done by this commit. NbInsertions: the number of insertions done by the commit. NbDeletions: the number of deletions done by the commit. <strong><em>files_history.csv</em></strong> shows data about 470,940 file modifications performed by 153 developers. It has the following columns: Repository: the name of the repository. Branches: the list of branches in which this modification has been integrated (works best if you target a bare repository). NbBranches: the number of branches in which this modification has been integrated (works best if you target a bare repository). OldFilePath: the old relative path to the file. FilePath: the relative path to the file. FileName: the name of the file. FileExtension: the file extension. FileType: the type of the file ("Production" or "Test"). ChangeType: the type of the change ("ADD", "COPY", "RENAME", "DELETE", "MODIFY" or "UNKNOWN"). NbMethods: the number of methods in the file. NbMethodsChanged: the number of methods that have been modified in this file for this commit. NLOC: the number of lines of code of the file. Complexity: the Weighted Methods per Class complexity, i.e., the sum of the cyclomatic complexity numbers of all the methods of the file. NlocDivByNbMethods: the number of lines of code of the file divided by the number of methods of the file. ComplexDivByNbMethods: the complexity of the file divided by the number of methods of the file. SATD: flag telling if the modification contains Self-Admitted Technical Debt. NbLinesAdded: the number of lines added. NbLinesDeleted: the number of lines deleted. CommitId: the identifier of the commit. Author: the author of the modification. DateTime: the date and time of the modification. Date: the date of the modification. HourOfDay: the hour of the day at which the modification took place. <em><strong>methods_history.csv</strong></em> shows data about 3,471,556 method modifications performed by 153 developers. It has the following columns: Repository: the name of the repository. Branches: the list of branches in which this modification has been integrated (works best if you target a bare repository). NbBranches: the number of branches in which this modification has been integrated (works best if you target a bare repository). OldFilePath: the old relative path to the file. FilePath: the relative path to the file. FileName: the name of the file. FileType: the type of the file ("Production" or "Test"). MethodName: the name of the method. NbParams: the number of parameters in the method signature. NLOC: the number of lines of code of the method. Complexity: the cyclomatic complexity number of the method. CommitId: the identifier of the commit. Author: the author of the modification. DateTime: the date and time of the modification. Date: the date of the modification. HourOfDay: the hour of the day at which the modification took place. <strong>Remarks:</strong> All of the data come from a single organization in the industry. It wishes to remain anonymous. <em>files_history.csv</em> references <em>commits_history.csv</em> and <em>methods_history.csv</em> references <em>files_history.csv</em> and <em>commits_history.csv</em>. For privacy (GDPR) and security reasons, several columns have been anonymized or have had their contents scrambled.