Created By: mshokrof
Created At: Sun, 20 Oct 2019 01:43:03 -0500
Input Dataset: 2019 October/GitHub (small)
Last Submitted At: Sun, 20 Oct 2019 01:43:03 -0500
Source Code
# Counting the number of revisions for all Java projects with SVN
p: Project = input;
majorCommitersHistogram: output sum[int] of int;
minorCommitersHistogram: output sum[int] of int;
majorCommiters : int;
minorCommiters : int;
majorThreshold : int;
numCommiters: int;
committers: map[string] of int;
numCommitsPerCommitter: array of int;
visit(p, visitor {
before node: Revision -> {
committers[node.author.username]++;
}
after node: CodeRepository -> {
majorThreshold = int(float( len(node.revisions) )*0.05);
#majorCommiters =0;
#minorCommiters =0;
numCommitsPerCommitter = values(committers);
for(i:=0 ; i < len(numCommitsPerCommitter) ; i++)
{
if(numCommitsPerCommitter[i]>=majorThreshold)
{
majorCommiters++;
}
else
{
minorCommiters++;
}
}
majorCommitersHistogram[majorCommiters] << 1;
minorCommitersHistogram[minorCommiters] << 1;
stop;
}
});
Compilation
Status: Error
Started: Sun, 20 Oct 2019 01:43:04 -0500