Counting the amount of source code that a developer contributes to a project does not reflect the value of the code contributions. Quantifying the value of code contributions, instead of only the amount, makes a useful tool for instructors grading students in massive online courses, managers reviewing employees' performance, developers collaborating in open source projects, and researchers measuring development activities. In this paper, we define the concept of development value and design a framework to quantify such value of code contributions. The framework consists of structural analysis and non-structural analysis. In structural analysis, we parse the code structure and construct a new PageRank-type algorithm; for non-structural analysis, we classify the impact of code changes, and take advantage of the natural-language artifacts in repositories to train machine learning models to automate the process. Our empirical study in a software engineering course with 10 group projects, a survey of 35 open source developers with 772 responses, and massive analysis of 250k commit messages demonstrate the effectiveness of our solution.




Download Full History