Institution: | Gratex International, a. s. |
Technologies used: | C#.NET |
Inputs: | Changesets of source codes |
Outputs: | Tags attached to source code entities determining their authors |
Addressed problem
To evaluate programmer’s characteristics and coding skills in collaborative environment, we must measure one’s authorship on selected code entities. Authorship is given by contributions in whole entity lifecycle, but they can change or vanish over time, or they can be adopted from other authors. In common Revision Control Systems, source code is represented by files and changes by lines of code. It is nontrivial process to map line changes history to entity history.
Description
In collaborative environment many authors participate in source code development, so we must distinguish particular author contributions on given code entities. Everyone, who changes the content of a source code file, can be an author of containing source code. In our approach, we divide authors into three basic groups: real authors, who modify logical nature of source code, editors, who modify form of a source code, but not its logical meaning and reviewers, who comment code or update code due the newer version of used libraries. Author’s contribution is defined by a set of changes in one or more source code versions. In code evolution every version is based on previous versions to certain degree. Ideas represented in older versions are transformed or reused in newer versions. Therefore, it is a matter of principle to assess source code in its whole history, not only in resultant form.
References
Polášek, Ivan et al.: Information and Knowledge Retrieval within Software Projects and their Graphical Representation for Collaborative Programming. In: Acta Polytechnica Hungarica. - ISSN 1785-8860. - Vol. 10, No. 2 (2013), s. 173 – 192