-
Notifications
You must be signed in to change notification settings - Fork 0
Ownership Stage
The ownership is the third stage of generating the Call Graph. The main goal of the ownership stage is to figure out what contributors to the project own which pieces of code inside of a file. After the ownership is done, we can determine the weight of relationships in our final technical network.
The program that is used is simply jGit's Blame tool. It works in a similar fashion to the git glame command on the command line. From this tool we can extract who owns what lines of code in a file and we simply do a quick conversion to character ranges.
The regular git blame tool can track when source code is simply move from one file to another and will maintain ownership across the files. However, jGit blame does not do this. If code is transferred from one file to another, the person who did the transfer assumes ownership of all the code transferred. To fix this in the future we may want to switch to the regular git blame tool and change our parser for its return values.