Program analysis for clustering programmers’ profile - Novais, Daniel (2017)
Each programmer has his own way of programming but some criteria can be applied when analysing code: there are a set of best practices that can be checked, or ”not so common” instructions that are mainly used by experts that can be found. Considering that all programs that are going to be compared are correct, it’s possible to infer the experience level of the programmer or the proficiency level of the solution. The approach presented in this paper has as main goal to compare sets of solutions to the same problem and infer the programmers profile. This can be used to evaluate the programmer skills, the proficiency on a given language or evaluate programming students. A tool to automatically profiling Java programmers called PP (Programmer Profiler) is presented in this paper as a proof of concept. I